Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 6 su 6

Controllo per attivazione ricerca

  1. #1
    MarcoIpad non è in linea Novello
    Post
    3
    Like Inviati  
    2
    Like Ricevuti  
    0
    Buonasera a tutti,
    spero innanzitutto di non sbagliare nel modo in cui vado a postare il quesito.

    Ho una maschera dove ho indicato più campi di ricerca.
    In particolare avrei un settore dove su 3 voci (di ricerca) deve essere indicata soltanto una delle 3.

    Quindi ho pensato di mettere un controllo su click del pulsante di comando ed ho scritto il seguente codice:

    Private Sub Comando45_Click()
    
    If Not IsNull(Testo68) And Not IsNull(Testo36) And Not IsNull(Testo67) Then
    MsgBox ("Solo un campo di ricerca va effettuato")
    Me.Testo67.SetFocus
    Else
    DoCmd.OpenForm ("MRicerca3")
    End If
    
    End Sub
    
    Il problema è che fino a quando indico nel codice due caselle di testo (solo con un And) (sia essa la 67 o la 68) o (la 68 e la 36), il codice funziona correttamente restituendomi correttamente la frase da me indicata e non aprendo la maschera "MRicerca3".

    Diversamente con le tre caselle di testo (con due And - come da codice postato) non mi restituisce il messaggio ed inoltre apre la maschera.

    Sicuramente sarà un problema banale ma non ho trovato la soluzione.

    Grazie ancora.
    Ultima modifica di AntonioG; 06-01-2021 19:58  Motivo: Il codice tra tag CODE non in corsivo

  2. #2
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,392
    Blogs
    5
    Like Inviati  
    5
    Like Ricevuti  
    32
    Se ho capito, la ricerca va attivata solo se viene indicato uno e un solo dato. Se è così puoi scrivere

    If IsNull(Testo68)+IsNull(Testo36)+IsNull(Testo67)<>-2 Then
    
    ℹ️ Leggi di più su AntonioG ...

  3. #3
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,751
    Like Inviati  
    0
    Like Ricevuti  
    20
    Non ho capito come usi poi i dati per il criterio... spero tu non abbia una queey con le wildcard per includere tutto inasondi NULL.
    I criteri mtipli normalmente si gestiscono in modo differente
    Un esempio tipo è questo:
    Dim strWH As String
    If Len(Me!gocodice.Value & vbNullString) > 0 Then strWH = strWH & "codice='" & Me!gocodice.Value & " And """
    If Len(Me!goripiano.Value & vbNullString) > 0 Then strWH = strWH & "ripiano='" & Me!goripiano.Value & " And """
    .... altri 47 filtri...
    If Len(strWH) > 0 Then strWH = Mid$(strWH, 1, Len(strWH) - 5)
    Me.Filter = strWH
    Me.FilterOn = True
    
    Ovviamente costruita la stringa [strWH] poi la puoi usare da passare al parametro wherecondition in apertura della form obdel report...

    Da li poi sarebbe da capire perchè solo 1 delle 3... ovvero capendo cosa rappresentano e come le usi.
    Normalmente se deve essere usato solo 1 criterio non se ne mettono 3... ma 1 che consete di definire quale... usare o come.
    Insomma c'è qualche cosa che sfugge.

    P.S. Impara a nominare i controlli con Nomi intelligenti e non quelli automatici che attribuiscw Access.
    ℹ️ Leggi di più su @Alex ...

  4. #4
    MarcoIpad non è in linea Novello
    Post
    3
    Like Inviati  
    2
    Like Ricevuti  
    0
    Quote Originariamente inviato da AntonioG Visualizza il messaggio
    Se ho capito, la ricerca va attivata solo se viene indicato uno e un solo dato. Se è così puoi scrivere

    If IsNull(Testo68)+IsNull(Testo36)+IsNull(Testo67)<>-2 Then
    
    Ti ringrazio della risposta......hai centrato la mia difficoltà.
    Non ho la possibilità di verificarlo adesso, perché sto andando a lavoro....ma sicuramente andrà benissimo.....grazie. devo chiudere il post scrivendo risolto????

  5. #5
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,392
    Blogs
    5
    Like Inviati  
    5
    Like Ricevuti  
    32
    Prima controlla e dai un'occhiata a quanto ti ha scritto Alex ... poi si vede
    ℹ️ Leggi di più su AntonioG ...

  6. #6
    MarcoIpad non è in linea Novello
    Post
    3
    Like Inviati  
    2
    Like Ricevuti  
    0
    Quote Originariamente inviato da AntonioG Visualizza il messaggio
    Prima controlla e dai un'occhiata a quanto ti ha scritto Alex ... poi si vede
    Ringrazio quanto scritto da Alex (sarà mio compito studiare, studiare e ancora studiare, mi appassiona ma vorrei tanto avere qualche amico con cui confrontarmi quotidianamente sulle cose più semplici e banali). Per quanto concerne la soluzione da te indicata funziona perfettamente (devo chiudere il post scrivendo risolto????). Grazie.

    Grazie ancora

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Risposte: 10
    Ultimo Post: 09-12-2013, 13:45
  2. controllo tasti premuti e ricerca SQL
    Da ablazione nel forum PHP
    Risposte: 2
    Ultimo Post: 25-10-2011, 01:05
  3. Risposte: 7
    Ultimo Post: 04-08-2011, 14:07
  4. Attivazione win xp pro
    Da galbi nel forum Microsoft Windows
    Risposte: 9
    Ultimo Post: 16-12-2009, 12:33
  5. Regola di attivazione
    Da sergio.89 nel forum Microsoft Word
    Risposte: 7
    Ultimo Post: 07-07-2009, 09:26