Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di d-force
    Registrato dal
    Oct 2001
    Messaggi
    657

    [ACCESS] visualizzare report in base a menu a discesa.

    Ciao a tutti!

    Spero di non essere OT, perchè è più un problema di programmazione in VBA...Eventualmente chiedo gentilmente di spostarmi nel forum appropriato.

    Siamo in ACCESS.

    Ho realizzato una maschera che contiene un menù a discesa in cui sono elencate due promozioni:

    - verde
    - rosso

    (Il menu a discesa prende le vosi da una tabelle tbl Promozioni)

    Ora ho un bottone che visualizza un report con i dati inseriti della maschera.

    Vorrei che il bottone cmdReport visualizzasse i report in base alla voce scelta nel menù a discesa.

    Se ho scelto 'rosso' dorebbe visualizzare il rptRosso se invece non scelgo niente dovrebbe visualizzare un report standard rptStandard.

    Ho provato a scrivere queste righe di codice con l'enunciato Select ma ho bassissime conoscienze di VBA, così chiedo un votro gentile aiuto:

    codice:
    Private Sub CmdViewVoucher_Click()
        Select Case cboPromozione.Text
            Case "Rosso"
                DoCmd.OpenReport "rptRosso", acPreview, "", " [IDPrenotazioni]=[Forms]![FormPrenotazioni]![IDPrenotazioni]"
            Case "verde"
                DoCmd.OpenReport "rptVerde", acPreview, "", " [IDPrenotazioni]=[Forms]![FormPrenotazioni]![IDPrenotazioni]"
            Case Else
                DoCmd.OpenReport "rptVoucher2", acPreview, "", " [IDPrenotazioni]=[Forms]![FormPrenotazioni]![IDPrenotazioni]"
        End Select
    End Sub


    Grazie in anticipo per il vostro aiuto!

    d-force

  2. #2
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363
    Sembra Ok. Qual è il problema?

  3. #3
    Utente di HTML.it L'avatar di d-force
    Registrato dal
    Oct 2001
    Messaggi
    657
    Non funziona,

    dice:

    errore di run time 2185

    Impossibile fare riferimento ad una proprietà o ad un metodo per un controllo a meno che non abbia lo stato attivo.

    Vorrei che il pulsante cmdViewVoucher visualizzasse il report in base alla selezione scelta nel menù a discesa...

    d-force

  4. #4
    Utente di HTML.it L'avatar di fabio309
    Registrato dal
    Oct 2002
    Messaggi
    1,918
    per caso quando hai scritto il criterio [IDPrenotazioni]=[Forms]![FormPrenotazio
    ni]![IDPrenotazioni]
    hai usato il wizard?
    te lo chiedo perchè mi è capitata spesso questa situazione: creazione automatica criteri, se scelgo forms--> "tutte le maschere" funziona, mentre se scelgo forms--> "maschere caricate" non va e mi da il tuo stesso errore

  5. #5
    Utente di HTML.it L'avatar di d-force
    Registrato dal
    Oct 2001
    Messaggi
    657
    E' da un poò di tempo che ho fatto questo sript, ma credo di aver usato il wizard...

    Si può trovare na soluzione?

    Il problema è che io non sono pratico di VBA...

    d-force

  6. #6
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363

    Re: [ACCESS] visualizzare report in base a menu a discesa.

    Prova così:
    codice:
    Private Sub CmdViewVoucher_Click()
        Dim idPren as Long
        idPren = Me.IDPrenotazioni
        Select Case cboPromozione.Text
            Case "Rosso"
                DoCmd.OpenReport "rptRosso", acPreview, "", " [IDPrenotazioni]=" & idPren
            Case "verde"
                DoCmd.OpenReport "rptVerde", acPreview, "", " [IDPrenotazioni]=" & idPren
            Case Else
                DoCmd.OpenReport "rptVoucher2", acPreview, "", " [IDPrenotazioni]=" & idPren
        End Select
    End Sub

  7. #7
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363

    Re: Re: [ACCESS] visualizzare report in base a menu a discesa.

    O, ancora meglio:
    codice:
    Private Sub CmdViewVoucher_Click()
        Dim strFiltro as String
        strFiltro = "[IDPrenotazioni]= " & Me.IDPrenotazioni
        Select Case cboPromozione.Text
            Case "Rosso"
                DoCmd.OpenReport "rptRosso", acPreview, "", strFiltro
            Case "verde"
                DoCmd.OpenReport "rptVerde", acPreview, "", strFiltro 
            Case Else
                DoCmd.OpenReport "rptVoucher2", acPreview, "",  strFiltro
        End Select
    End Sub

  8. #8
    Utente di HTML.it L'avatar di d-force
    Registrato dal
    Oct 2001
    Messaggi
    657
    provo subito....

  9. #9
    Utente di HTML.it L'avatar di d-force
    Registrato dal
    Oct 2001
    Messaggi
    657

    niente...



    Viene lo stesso errore...

    con il debug evidenzia questa riga

    codice:
    Select Case cboPromozione.Text
    Cos'è che può dargli noia...? :master:

  10. #10
    Utente di HTML.it L'avatar di longline
    Registrato dal
    Sep 2001
    Messaggi
    5,363

    Re: Re: Re: [ACCESS] visualizzare report in base a menu a discesa.

    Modifica così allora:
    codice:
    Private Sub CmdViewVoucher_Click()
        Dim strFiltro as String
        Dim strValore as String
        strFiltro = "[IDPrenotazioni]= " & Me.IDPrenotazioni
        strValore = cboPromozione
        Select Case strValore
            Case "Rosso"
                DoCmd.OpenReport "rptRosso", acPreview, "", strFiltro
            Case "verde"
                DoCmd.OpenReport "rptVerde", acPreview, "", strFiltro 
            Case Else
                DoCmd.OpenReport "rptVoucher2", acPreview, "",  strFiltro
        End Select
    End Sub

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.