Condividi tramite

Ingrandire un report e setfocus.

Anonimo
2012-02-29T21:14:12+00:00

Salve a tutti,

               su evento click di un pulsante che si trova su una maschera che si chiama MQTFattureModif (la maschera è a scelta obbligatoria ma ho provato anche a settare la maschera non a scelta obbligatoria) apro un report...questo è il codice VBA

Private Sub cmdStampa_Click()

On Error GoTo Err_cmdStampa_Click

    DoCmd.Save

    DoCmd.Requery

    DoCmd.OpenReport "RQTFattRepFattCliSingModif", acViewPreview, , , acWindowNormal

    DoCmd.Maximize

    RQTFattRepFattCliSingModif.SetFocus

    Dim Rs As DAO.Recordset

    Set Rs = CurrentDb.OpenRecordset("TFatture", dbOpenDynaset)

    If Rs.RecordCount <> 0 Then

                  ' Cerco il record

                   Rs.FindFirst "Id_Fattura = " & Forms!MQTFattureModif!Id_Fattura

                    If Rs.NoMatch = False Then

                     ' Se trovato

                      Rs.Edit

                      Rs![InvioStampa] = Rs![InvioStampa] + 1

                      Rs![Attivo] = 1

                      Rs![Completato] = 1

                      Rs![UltimaModifica] = (Now)

                      Rs.Update

                    End If

    End If

    Rs.Close

    Me.Permesso = True

    DoCmd.Close acForm, "MQTFattureModif", acSaveYes

Exit_cmdStampa_Click:

    Exit Sub

Err_cmdStampa_Click:

    MsgBox Err.Description

    Resume Exit_cmdStampa_Click

End Sub

Il report viene ingrandito e gli viene passato il focus ma mi appare un messaggio che dice:

Necessario oggetto

Inoltre la maschera MQTFattureModif non viene chiusa......dove sto sbagliando?

Ringraziando anticipatamente porgo distinti saluti.

Flavio

Microsoft 365 e Office | Accesso | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

  1. Anonimo
    2012-03-01T23:31:27+00:00

    Ciao Flavio,

    io metterei la SelectObject del report, dopo l'struzione di chiusura di MQTFAttureModif

    La risposta è stata utile?

    0 commenti Nessun commento

7 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2012-03-01T12:09:26+00:00

    Ciao Flavio,

    Prova ad eliminare la riga del setfocus.

    Se la form da dove parti non è di tipo PopUp non dovrebbe servirti il setfocus sulla report.

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2012-03-01T11:58:49+00:00

    Se inserisco Option explicit mi arriva un messaggio che dice:

    Errore di compilazione: variabile non definita

    e si evidenzia RQTFattRepFattCliSingModif.SetFocus

    DoCmd.Save            '???? a che serve    DoCmd.Requery       '???? a che serveservono rispettivamente a salvare il record che sto crando e a fare un riquery xchè devo settare dei dati prima del report.La riga On Error GoTo 0 mi dice sempre necessario oggetto e si evidenzia sempre:RQTFattRepFattCliSingModif.SetFocusCiao e grazie. ****

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2012-03-01T10:32:39+00:00

    Ho trovato altro tempo.

    direi di inserire On Error GoTo 0 alla fine del gruppo

    On Error GoTo Err_cmdStampa_Click

        DoCmd.OpenReport "RQTFattRepFattCliSingModif", acViewPreview, , , acWindowNormal

        DoCmd.Maximize

        RQTFattRepFattCliSingModif.SetFocus      ' Non penso sia necessaria

    On Error GoTo 0

    per intercettare l'anomalia del messaggio che dice: Necessario oggetto

    fammi sapere

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2012-03-01T08:01:47+00:00

    Ciao Flavio, qualche chiarimento / consiglio:

    Option Explicit                      'verifica definizioni delle variabili

    Private Sub cmdStampa_Click()

    On Error GoTo Err_cmdStampa_Click

        DoCmd.Save            '???? a che serve    DoCmd.Requery       '???? a che serve

        DoCmd.OpenReport "RQTFattRepFattCliSingModif", acViewPreview, , , acWindowNormal

        DoCmd.Maximize

        RQTFattRepFattCliSingModif.SetFocus

        Dim Rs As DAO.Recordset

        Set Rs = CurrentDb.OpenRecordset("TFatture", dbOpenDynaset)

        If Rs.RecordCount <> 0 Then

                      ' Cerco il record

                       Rs.FindFirst "Id_Fattura = " & Forms!MQTFattureModif!Id_Fattura

                        If Rs.NoMatch = False Then

                         ' Se trovato

                          Rs.Edit

                          Rs![InvioStampa] = Rs![InvioStampa] + 1

                          Rs![Attivo] = 1

                          Rs![Completato] = 1

                       '   Rs![UltimaModifica] = (Now)

                          Rs![UltimaModifica] = Now()                      Rs.Update

                        End If

        End If

        Rs.Close

    Set Rs=Nothing    

        Me.Permesso = True

        DoCmd.Close acForm, "MQTFattureModif", acSaveYes

    Exit_cmdStampa_Click:

        Exit Sub

    Err_cmdStampa_Click:

        MsgBox Err.Description

        Resume Exit_cmdStampa_Click

    End Sub

    Mimmo

    La risposta è stata utile?

    0 commenti Nessun commento