Newsgroup: it.comp.appl.access
Titolo: macro esegui comando stampa

ciao a tutti
da sempre sull'anteprima report faccio apparire una barra strumenti con 
uno dei pulsanti chiamato "opzioni stampa" che mi richiama la macro 
"esegui comando"  comando "stampa"
questo per poter selezionare stampante copie etc
 
solo da un cliente e su varie postazioni e in modo random quando 
selezionano la stampante e inviano la stampa, viene stampata la maschera 
e non il report
 
esempio: maschera fattura-->anteprima di stampa-->appare il 
report-->opzioni stampa-->cambiano stampante e premono stampa sulla 
print dialog... viene stampata la maschera e non il report
ripetono l'operazione e funziona.
 
su 10 stampate 2-3 volte succede di sicuro
 
ho provato a sostituire la macro con una funzione che fa un banale 
sendkey del controol+p per far apparire la print dialog
 
in questo caso il problema non si verifica mai ma ne sorge un altro, si 
disattiva il block num sulla tastiera pur rimanendo accesa la spia
 
assurdo
 
sto valutando di farmi una print dialog da me ma non vorrei fare il 
lavoro per nulla
 
qualche idea?
 
BFS
 


Quasi certamente viene spostato il FOCUS, il motivo lo devi cercare tu...
 
Mi chiedo tuttavia perchè non fai in modo che questo venga evitato a prescindere...?
Se sento parlare di MACRO mi viene un po di allergia, è pure periodo, ma dovresti richiamare una Funzione, che leggendo l'oggetto attivo verifichi che sia un REPORT...
 
Dim objActive As Object
 
If TypeOf objActive is Report then STAMPA...
 
@Alex


Verificare se è attivo un REPORT si usa questo:
 
Set objActive = Screen.ActiveReport
 
Tuttavia ancora meglio, dal momento che dubito tu apra 2 Report, ma può essere... pesca dalla Collection REPORTS(0)
 
Quindi mandi in stampa quello...
 
@Alex


forse non mi sono spiegato o forse non ho capito la tua risposta.
io ho gia l'anteprima di stampa a tutto schermo aperta, senza alcuna 
prindialog aperta, in modo tale da permettere al cliente di darci un occhio
 
solo se il report ha il focus appare la barre degli strumenti dove ho 
impostato i vari pulsanti tra cui il mio "opzioni stampa"
 
se il focus passasse a qualcosaltro, tale barra scomparirebbe e quindi 
sarebbe impossibile premere il pulsante che apre la print dialog
ho cmq verificato la presenza di timer o istruzioni che facciano perdere 
il focus ma nulla
 
ora, premendo il pulsante sulla barra degli strumenti "opzioni stampa" 
si apre la print dialog e da li io non ho più il controllo sulla stampa
 
quindi l'eventuale perdita di focus dovrebbe avvenire tra il momento in 
cui premo il pulsante opzioni stampa e il momento in cui si apre la 
print dialog
 
il codice che mi suggerisci tu, se non ho capito male la tua idea, 
funzionerebbe se la print dialog la gestissi io e quindi potessi mettere 
sul pulsante di stampa il controllo che in quel momento ci sia un report 
attivo
ma volevo evitare la cosa
 
grazie
BFS
 
 
 

 print dialog
 
 
Hai provato con l'esorcista?
 
In alternativa, prima di richiamare la finestra di Stampa, prova a "rinfrescare" coi noti sporchi trucchi l'anteprima sottostante:
 
With Screen.ActiveReport
 
       If .Filter = vbNullString Then
             .FilterOn = True
             .Filter = " "
             .Filter = vbNullString
       Else
             .Filter = .Filter
             .FilterOn = True
       End If
 
  End With
 
 
Oppure
 
                With ActReport.Controls(0)
                     If .Visible = True Then
                           .Visible = True
                     Else
                           .Visible = True
                           .Visible = False
                     End If
               End With
 

BFS presented the following explanation :

Se succedesse a me:
Compact database + reboot PC.
 
Se succede ancora:
Copia in altra Dir del dabatabase ed esecuzione dalla copia
della procedura che genera errore.
 
Se succede ancora:
Disinstallo Office, non da Control Panel ma con l'Office
Uninstaller di MS, e lo reinstallo.
 
Se succede ancora... vendo il PC e compro una canna da pesca.
 
Bruno

 qualche idea?
 
 
Com'è finita la faccenda?
 
Saluti
 


purtroppo non ho risolto :-/
 
BFS

 assurdo...
Sì, ma vecchissimo e con diverse cure. Vedi l'ultimo link nel 
http://www.donkarl.com/it?FAQ7.8
 
 
-- 
Ciao
Karl
*********
http://www.AccessDevCon.com
 
Access FAQ: 
http://www.donkarl.com/it
 

 BFS
 
 
 
Hai provato a forzare un Docmd.SelectObject "NomeRepor" prima di chiamare finestra stampa?
 
Saluti

 
 
avevo provato questa soluzione delle API per risolvere il bug del sendkey.
ma porta un altro fastidio...riattiva si il numlock ma spegne la luce 
sulla tastiera che era rimasta cmq accesa anche con numlock disattivato.
 
 
quello che non capisco è perchè solo quel cliente e a random
 
BFS