Print report -> Run query

di il
12 risposte

Print report -> Run query

Salve ragazze. Piccola curiosità.
E' possibile eseguire una query contemporaneamente all'avvio di stampa? In pratica con la stampa di un certo numero di dati anagrafici, si deve aggiornare il campo "Lavorato?" che è un flag di controllo. Invece di cliccare su un checkbox per selezionarmi tutti gli elementi anagrafici a video, vorrei che il tasto fosse il comando di avvio di stampa del report. Non chiedetemi dettagli in quanto ho bisogno solo di sapere se è possibile lanciare la stampa e contemporaneamente una query. Se si, che comando devo usare in VB?

12 Risposte

  • Re: Print report -> Run query

    Bimmer525d ha scritto:


    E' possibile eseguire una query contemporaneamente all'avvio di stampa?
    Letto così, nudo e crudo, io direi di No.
    Io trovo che tutta la domanda è mal posta...senza una dovuta contestualizzazione, ossia "descrizione dettagliata" della questione.
  • Re: Print report -> Run query

    Si ovviamwente... esegui le 2 Azioni... poi dirti quale sia il metodo giusto e come farlo, siccome ce ne sono diversi... in base all'esigenza segreta che non esponi vedrai tu.
  • Re: Print report -> Run query

    Se spiego tutte le form, tabelle e query all'interno del mio database a cui non servono per la richiesta a cui faccio riferimento, ovvio che vi chiedo il "minimo" senza dover spiegare tabelle campi e tipo di variabili. Ho una form chiamata popup richiamata da una ricerca contestuale da un form (da data X a data Y), con 2 pulsanti all'interno.
    Visualizza: mi visualizza i risultati su un report formato Preview.
    Stampa: deve aprirmi il comando di stampa (con la selezione della stampante), avviare la stampa del report e eseguire una query che mi aggiorna il flag da False a True.
    Al momento queste funzioni sono tutte separate, ma vorrei integrarle con un un solo tasto "Stampa".
    Io dalla form dei risultati della query di ricerca (tramite un form di ricerca), ho un tasto Visualizza (che mi visualizza la mia ricerca su un report), ho un checkbox che mi flagga i campi visualizzati tutti in un colpo e un tasto stampa. La mia richiesta è semplicemente se, tramite il form popup (nome del form), posso cliccare sul tasto stampa e mi seleziona il report, avvia la stampa ed esegue l'UPDATE del flag
    Non serve sapere tutte le tabelle del mio database. Solo una dritta, un input, e poi ci lavoro da solo... come ho sempre fatto nonostante vi abbia chiesto 4 volte aiuto (incluso questo 3d) e ho ricevuto un aiuto esplicito solo su una richiesta.
  • Re: Print report -> Run query

    Trovo che l'unica operazione che ti "spezza" le tre fasi che tu vorresti tutte insieme è "apri il comando di stampa (con la selezione della stampante)". In questa fase sei solo tu utente che decidi, quindi il sistema nulla può in automatico...almeno che tu non preveda una stampante predefinita e "salti" questo passaggio.
    Poi il codice VBA deve:
    - stampare report (DoCmd.OpenReport)
    - eseguire la query di aggiornamento (update)(DoCmd.OpenQuery con il nome della query, oppure DoCmd.RunSQL con la stringa SQL)
    Queste ultime 2 operazioni le "scrivi" in un unico codice. Saranno eseguite una dopo l'altra, in tempi informatici rapidissimi che il comune essere umano potrebbe anche considerare come "contemporanee".
  • Re: Print report -> Run query

    OsvaldoLaviosa ha scritto:


    Trovo che l'unica operazione che ti "spezza" le tre fasi che tu vorresti tutte insieme è "apri il comando di stampa (con la selezione della stampante)". In questa fase sei solo tu utente che decidi, quindi il sistema nulla può in automatico...almeno che tu non preveda una stampante predefinita e "salti" questo passaggio.
    Poi il codice VBA deve:
    - stampare report
    - eseguire la query di aggiornamento (update)
    Queste ultime 2 operazioni le "scrivi" in un unico codice. Saranno eseguite una dopo l'altra, in tempi informatici rapidissimi che il comune essere umano potrebbe anche considerare come "contemporanee".
    potete chiudere il thread. Ho risolto!

    Ho utilizzato un database di prova (per tutte le modifiche meglio avere sempre un database di testing)
    
    Private Sub Command99_Click()
    Dim sqlAll As String
    Dim sqlNot As String
    On Error GoTo Command99_Click_Err
    
        DoCmd.OpenReport "Anagrafica1", acViewPreview, "", "", acNormal
        DoCmd.RunCommand acCmdPrint
        sqlAll = "UPDATE Query2 SET Check = True;"
        sqlNot = "UPDATE Query2 SET Check = False;"
        DoCmd.RunSQL (sqlAll)
        
        Form_PreReport.Requery
    
    Command99_Click_Exit:
        Exit Sub
    
    Command99_Click_Err:
        DoCmd.RunSQL (sqlNot)
        MsgBox "Operazione annullata"
        Resume Command99_Click_Exit
    
    End Sub
    EDIT. Devo solo gestire gli errori.
  • Re: Print report -> Run query

    Meno male che hai risolto.

    Se premo [Visualizza] e da quì con Report Aperto in ANTEPRIMA lo mando in stampa direttamente senza passare per il Pulsante [Stampa] cosa deve succedere ai FLAG...? Vanno FLAGGATI oppure solo se premo [Stampa]...?
  • Re: Print report -> Run query

    @Alex ha scritto:


    Meno male che hai risolto.

    Se premo [Visualizza] e da quì con Report Aperto in ANTEPRIMA lo mando in stampa direttamente senza passare per il Pulsante [Stampa] cosa deve succedere ai FLAG...? Vanno FLAGGATI oppure solo se premo [Stampa]...?
    Il tuo commento non fa una piega e se devo essere sincero ci avevo già pensato. ci sto già lavorando. C'è sempre qualcuno che "Tasto Dx -> Print Page..... "e rovina tutto. Purtroppo è un database aziendale e ad ogni problematica sto cercando di rilevare errori, anomalie e sopratutto malfunzionamenti. Le "scorciatoie" per chi è esperto le trova. Ma io ho ricominciato solo da 1 mese con Access e piano piano risolvo gli errori con l'utilizzo di questo database creato da me

    EDIT. Onde evitare, nel mentre mi incammino verso lo studio delle problematiche, disabilito le scorciatoie Così TUTTI devono passare sempre dalle videate che compaiono
  • Re: Print report -> Run query

    NOn puoi disabilitare nulla "RIGHT CLICK" sul Report, e voilà...!

    Come vedi fornire elementi a chi magari queste cose le ha già analizzate non è poi così INUTILE...
    Le soluzioni sono più di 1... come sempre.
    Questo problema è meno semplice di quello che pensi... e passa per un concetto di BASE che chi sviluppa ha acquisito.

    I menù STANDARD di Access si devono SOPPRIMERE... quindi nel REPORT devi inibire la possibilità di attivare il Menù contestuale con il RIGHTCLICK... ma casualmente con i REPORT non è rimuovibile come nelle Form... quindi devi costruirtene uno tuo personalizzato che richiama una Funzione gestibile da VBA nella quale se invii in stampa ed il REPORT è "PincoPallino" allora esegui la Query...!

    Occorre avere una visione strutturata, altrimenti metti delle PEZZE.
  • Re: Print report -> Run query

    @Alex ha scritto:


    NOn puoi disabilitare nulla "RIGHT CLICK" sul Report, e voilà...!

    Come vedi fornire elementi a chi magari queste cose le ha già analizzate non è poi così INUTILE...
    Le soluzioni sono più di 1... come sempre.
    Questo problema è meno semplice di quello che pensi... e passa per un concetto di BASE che chi sviluppa ha acquisito.

    I menù STANDARD di Access si devono SOPPRIMERE... quindi nel REPORT devi inibire la possibilità di attivare il Menù contestuale con il RIGHTCLICK... ma casualmente con i REPORT non è rimuovibile come nelle Form... quindi devi costruirtene uno tuo personalizzato che richiama una Funzione gestibile da VBA nella quale se invii in stampa ed il REPORT è "PincoPallino" allora esegui la Query...!

    Occorre avere una visione strutturata, altrimenti metti delle PEZZE.
    Caso strano vuole che il tasto dx non funge manco nel report. Casualità? comunque tranquillo è una toppa momentanea anche perchè il database l'ho costruito io e ci metto mano solo io. Nel caso andrò via dall'azienda, lascerò i dati all'interno della stessa senza però il software. Se vogliono se lo comprano
  • Re: Print report -> Run query

    Se lo hai sviluppato in orario di lavoro... mi informerei meglio...
  • Re: Print report -> Run query

    @Alex ha scritto:


    Se lo hai sviluppato in orario di lavoro... mi informerei meglio...
    E' il mio lavoro, consulente informatico. Quindi ogni cosa la faccio in orario lavorativo. Se dovessi portarmi anche il lavoro a casa, mia moglie mi ucciderebbe
  • Re: Print report -> Run query

    Bimmer525d ha scritto:


    @Alex ha scritto:


    Se lo hai sviluppato in orario di lavoro... mi informerei meglio...
    ....Se dovessi portarmi anche il lavoro a casa, mia moglie mi ucciderebbe
    Tutte uguali queste mogli... deve essere l'aria...
Devi accedere o registrarti per scrivere nel forum
12 risposte