Riportare dato selezionato da combobox su report

di il
9 risposte

Riportare dato selezionato da combobox su report

Buonasera,
avrei necessità di qualche consiglio su come risolvere questo problema. Ho una maschera di selezione dalla quale l'utente può inserire tramite una combobox un mese dell'anno e cliccando sul pulsante apre il report con il risultato della ricerca effettuato tramite una query.
Il mio problema è riportare il mese selezionato sulla combobox della maschera come intestazione del report.
Al momento ho creato la combobox con 2 colonne (la prima con i numeri del mese a dimensione 0 e la seconda con il nome del mese che è visibile).
Il codice inserito sull'evento click del pulsante è:
Private Sub cmdloadmensile_Click()
Dim strDocName As String
Dim strIntestazione As String
strDocName = "Report Mensile"
strIntestazione = "Report Mensile: & Str(Forms![MascheraMese]![CmbMese].[Value])"
DoCmd.OpenReport strDocName, acViewPreview, , , acWindowNormal, strIntestazione
End Sub
Mentre nel report ho inserito il codice:
Private Sub IntestazioneReport_Format(Cancel As Integer, FormatCount As Integer)
If Not IsNull(Me.OpenArgs) Then
    Me.Testo24 = Me.OpenArgs
End If
End Sub
Credo di aver sbagliato nel codice assegnato al pulsante in quanto non legge il dato selezionato e me lo riporta come intestazione del report.
Qualcuno potrebbe aiutarmi o darmi qualche dritta?
Grazie mille

9 Risposte

  • Re: Riportare dato selezionato da combobox su report

    Koala83 ha scritto:


    Private Sub IntestazioneReport_Format(Cancel As Integer, FormatCount As Integer)
    Credo di aver sbagliato nel codice assegnato al pulsante in quanto non legge il dato selezionato e me lo riporta come intestazione del report.
    Se lo carica significa che prima l'ha letto.
    Guarda l'evento in cui hai messo il codice e già questo dovrebbe dirti che sta facendo quello che gli hai detto di fare. Oppure c'è un refuso e manca un "non" nella frase?
    Dove si trova il controllo Testo24 nel report (che presumibilmente è una casella di testo)?
  • Re: Riportare dato selezionato da combobox su report

    Per me è errata la 5a riga. Forse Str potrebbe essere di troppo. Poi .Value va scritto senza parentesi quadre. Ad ogni modo prova una di queste sintassi.
    strIntestazione = "Report Mensile: " & Forms![MascheraMese]![CmbMese].Value
    strIntestazione = "Report Mensile: " & Str(Forms![MascheraMese]![CmbMese].Value)
  • Re: Riportare dato selezionato da combobox su report

    Prova ad usarlo su Evento LOAD
    Private Sub Report_Load()
    If Len(Me.OpenArgs + vbNullstring)>0 Then
        Me.Testo24 = Me.OpenArgs
    End If
    End Sub
  • Re: Riportare dato selezionato da combobox su report

    Ho inserito il codice che mi hai dato su evento Load Alex e ho corretto anche le righe di codice sull'evento click del pulsante
     strIntestazione = "Report Mensile: " & Forms![MascheraMese]![CmbMese].Value
    strIntestazione = "Report Mensile: " & Str(Forms![MascheraMese]![CmbMese].Value)
    ma mi riporta un errore di runtime 3085 dove mi diche la funzione [Maschere]![MascheraMese]![CmbMese].Column non è definita nell'espressione.
    In realtà avevo già provato ad inserire nella riga di comando:
     strIntestazione = "Report Mensile: " & Str(Forms![MascheraMese]![CmbMese].Column(1).Value)
    in quanto la mia casella combinata da cui leggere il valore da riportare ha due colonne, la prima (nascosta) con i numeri dei mesi e la seconda con i nomi (gennaio, febbraio,...)
    Per rispondere a Philcattivocarattere inizialmente mi riportava sul report ma chiedendomi l'inserimento del valore e riportando nella casella di testo (Testo24) che si trova nell'intestazione del report la stringa
    Report Mensile: " & Str(Forms![MascheraMese]![CmbMese].Column(1).Value) invece di Report Mensile: GENNAIO (per esempio, se selezionavo gennaio).
  • Re: Riportare dato selezionato da combobox su report

    Koala83 ha scritto:


    ....
    ma mi riporta un errore di runtime 3085 dove mi diche la funzione [Maschere]![MascheraMese]![CmbMese].Column non è definita nell'espressione.
    I....
    Ma da dove salta fuori il riferimento che citi adesso...?
  • Re: Riportare dato selezionato da combobox su report

    @Alex ha scritto:


    Koala83 ha scritto:


    ....
    ma mi riporta un errore di runtime 3085 dove mi diche la funzione [Maschere]![MascheraMese]![CmbMese].Column non è definita nell'espressione.
    I....
    Ma da dove salta fuori il riferimento che citi adesso...?
    Questo messaggio di errore mi salta fuori quando clicco sul pulsante che ho creato nella maschera per aprirmi l'anteprima del report.
    Praticamente nella maschera è presente la combobox da cui selezionare il mese più questo pulsante sul quale ho inserito il codice per far sì che mi apra l'anteprima del report e che dovrebbe riportarmi appunto il mese selezionato nella cambobox della maschera sulla casella di testo (Testo24) presente nell'intestazione del report tramite il comando OpenArgs.
  • Re: Riportare dato selezionato da combobox su report

    È possibile che prima della riga di codice dove dove imposto il valore di strIntestazione, debba definire il parametro colonna della combobox? Avendo questa due colonne dalle quali poter leggere il parametro da riportare con la funzione OpenArgs?
  • Re: Riportare dato selezionato da combobox su report

    Ho aggiornato il codice così:
     Private Sub cmdloadmensile_Click()
    Dim strDocName As String
    Dim strIntestazione As String
    Dim strColumnCmbMese As String
    strDocName = "Report Mensile"
    strColumnCmbMese = Forms![Report Mensile]![CmbMese].Column(1)
    strIntestazione = "Report Mensile di " & strColumnCmbMese
    DoCmd.OpenReport strDocName, acViewPreview, , , acWindowNormal, strIntestazione
    DoCmd.Close acForm, Me.Name
    End Sub
    Se fasccio un debug continua a darmi l'errore dove mi dice che la funzione non è definita ma nei cambi delle 3 variabili vedo che sono correttamente compilate con i valori che voglio. L'errore al debug me lo riporta sulla riga di codice
    DoCmd.OpenReport strDocName, acViewPreview, , , acWindowNormal, strIntestazione
  • Re: Riportare dato selezionato da combobox su report

    Come non detto, facendo come sopra ora funziona correttamente, ho chiuso e riaperto il report e ora va.
    Grazie mille a tutti per l'aiuto!
Devi accedere o registrarti per scrivere nel forum
9 risposte