Report da ricerca maschera.

di il
6 risposte

Report da ricerca maschera.

Salve scusate se vi chiedo un aiuto.
Ho una maschera divisa per visualizzare i dati di una tabella. In questa maschera ho una casella di testo per effettuare una ricerca dei dati tramite questo comando:

Private Sub TastoCerca_Click()
Dim strCerca As String
Dim strTxt As String
If IsNull(Me.CasellaCerca) Then
MsgBox "Inserire dati da ricercare!"
Me.CasellaCerca.SetFocus
Exit Sub
End If
strTxt = Me.CasellaCerca.Value
strCerca = " Select * From TBLporto Where ((TIPO Like ""*" & strTxt & "*"") Or (MODELLO Like ""*" & strTxt & "*"") Or (MARCA Like ""*" & strTxt & "*"") Or (SERIALE Like ""*" & strTxt & "*"") Or (FABBRICAZIONE Like ""*" & strTxt & "*"") Or (SCADENZA Like ""*" & strTxt & "*"") Or (CONTROLLO Like ""*" & strTxt & "*"") Or (DETTAGLI Like ""*" & strTxt & "*"") Or (UBICAZIONE Like ""*" & strTxt & "*"") Or ([ISPEZIONATO DA] Like ""*" & strTxt & "*""))"
Me.RecordSource = strCerca
End Sub

La ricerca funziona benissimo ma non riesco a creare un report con soltanto i dati visualizzati dopo la ricerca. Potete aiutarmi? Grazie.

6 Risposte

  • Re: Report da ricerca maschera.

    Prova così:
    1. Nella maschera hai una NomeTxtBox dove ci scrivi il criterio da filtrare
    2. Crea una query in visualizzazione struttura e:
    Vai al 1° campo e a Criterio scrivi Like ""*" & [Maschere]![NomeMaschera]![NomeTxtBox] & "*""
    Vai al 2° campo e a Criterio ma nel 2° rigo scrivi lo stesso
    Vai al 3° campo e a Criterio del 3° rigo scrivi lo stesso
    ...e così via per gli altri campi...
    3. Salva la query con nome QueryX.
    4. Quindi fai poggiare il report su QueryX.
  • Re: Report da ricerca maschera.

    OsvaldoLaviosa ha scritto:


    Prova così:
    1. Nella maschera hai una NomeTxtBox dove ci scrivi il criterio da filtrare
    2. Crea una query in visualizzazione struttura e:
    Vai al 1° campo e a Criterio scrivi Like ""*" & [Maschere]![NomeMaschera]![NomeTxtBox] & "*""
    Vai al 2° campo e a Criterio ma nel 2° rigo scrivi lo stesso
    Vai al 3° campo e a Criterio del 3° rigo scrivi lo stesso
    ...e così via per gli altri campi...
    3. Salva la query con nome QueryX.
    4. Quindi fai poggiare il report su QueryX.
    Ciao Osvaldo, non va.

    Quando avvio la ricerca, nella maschera divisa sul foglio dati vengono visualizzati solo i record che soddisfano la ricerca. Ecco io vorrei fare un report solo con i dati(record) che vengono visualizzati a schermo nella maschera dopo la ricerca. Esiste un metodo? Grazie.
  • Re: Report da ricerca maschera.

    Juan devi imparare ad usare i tag code e l'indentazione del codice altrimenti nn si capisce o quantomeno è + difficile
  • Re: Report da ricerca maschera.

    Quel metodo per filtrare ancorché sia funzionante è disfunzionale... per prestazioni.

    Si usa un metodo più tecnico sfruttando la proprietà FILTER di maschera.
    
    Dim strWH As String
    If Len(Me!ComboCompleta.Value & vbNullstring)>0 Then strWH=strWH & "IdPK=" & Me!Controllo1.Value& " AND "   ' Numerico
    If Len(Me!ComboCognome.Value & vbNullstring)>0 Then strWH=strWH & "Cognome='" & Replace(Me!ComboCognome.Value,"'","''") & " AND "
    .... ' aggiungi le altre N condizioni...
    If Len(strWH)>0 then strWH=Mid$(strWH,1,Len(strWH)-5)
    Me.Filter=strWH
    Me.FilterON=True
    
    Poi lo passi al report con la chiamata OpenReport
  • Re: Report da ricerca maschera.

    muttley005 ha scritto:


    Juan devi imparare ad usare i tag code e l'indentazione del codice altrimenti nn si capisce o quantomeno è + difficile
    Private Sub TastoCerca_Click()
    Dim strCerca As String
    Dim strTxt As String
    If IsNull(Me.CasellaCerca) Then
    MsgBox "Inserire dati da ricercare!"
    Me.CasellaCerca.SetFocus
    Exit Sub
    End If
    
    strTxt = Me.CasellaCerca.Value
    strCerca = " Select * From TBLporto Where ((TIPO Like ""*" & strTxt & "*"") Or (MODELLO Like ""*" & strTxt & "*"") Or (MARCA Like ""*" & strTxt & "*"") Or (SERIALE Like ""*" & strTxt & "*"") Or (FABBRICAZIONE Like ""*" & strTxt & "*"") Or (SCADENZA Like ""*" & strTxt & "*"") Or (CONTROLLO Like ""*" & strTxt & "*"") Or (DETTAGLI Like ""*" & strTxt & "*"") Or (UBICAZIONE Like ""*" & strTxt & "*"") Or ([ISPEZIONATO DA] Like ""*" & strTxt & "*""))"
    
    Me.RecordSource = strCerca
    End Sub
    Ora è più chiaro?
  • Re: Report da ricerca maschera.

    Juan ha scritto:


    Ora è più chiaro?
    si capiva anche prima ma è doveroso nei confronti di chi ti cerca di aiutare creare più facilitazioni possibili alla comprensione ...
    per cui TAG CODE sempre. Se poi vuoi fare uno "sforzo" in più indenta il codice (cosa che aiuterebbe anche te nella programmazione)
Devi accedere o registrarti per scrivere nel forum
6 risposte