Problemi con il filtro su Maschera Continua

di il
5 risposte

Problemi con il filtro su Maschera Continua

Ho un problema su cui mi sto scervellando.

E' la prima volta che provo a crea re un filtro su una maschera.

Io ho questa maschera continua che mi prende i dati da una tabella e me li mostra a video.

Il filtro dovrebbe, dalla data che inserisco tramite la casella combinata, mostrarmi solo i dati corrispondenti a quella data.

E qui sorge il problema, una volta che seleziono la data nel filtro non mi dà errori, ma non mi fa vedere più niente.

Probabilmente sto dimenticando di mettere qualcosa io tra i comandi, voi ne sapete qualcosa?

Vi lascio qui sotto quello che ho scritto io,

Private Sub CercaData_AfterUpdate()
Me.Filter = "Data=" & Me.CercaData
Me.FilterOn = True
End Sub

5 Risposte

  • Re: Problemi con il filtro su Maschera Continua

    07/09/2023 - GameSen ha scritto:


    Me.Filter = "Data=" & Me.CercaData

    Un criterio in formato data deve essere racchiuso tra cancelletti, salvo usare il trucchetto di convertirlo in Long. Occhio al fatto che nella combobox è scritto come GG/MM/AAAA, in VBA bisogna trasformarlo in MM/DD/YYYY. Usa Format per questa cosa.

    Il campo data contiene solo la data (e quindi la parte relativa all'ora è nascosta e valorizzata a 00:00:00) o c'è anche la parte che riguarda l'ora?

  • Re: Problemi con il filtro su Maschera Continua

    07/09/2023 - Philcattivocarattere ha scritto:


    07/09/2023 - GameSen ha scritto:


    Me.Filter = "Data=" & Me.CercaData

    Un criterio in formato data deve essere racchiuso tra cancelletti, salvo usare il trucchetto di convertirlo in Long. Occhio al fatto che nella combobox è scritto come GG/MM/AAAA, in VBA bisogna trasformarlo in MM/DD/YYYY. Usa Format per questa cosa.

    Il campo data contiene solo la data (e quindi la parte relativa all'ora è nascosta e valorizzata a 00:00:00) o c'è anche la parte che riguarda l'ora?

    Ho risolto in questo modo qui, ho fatto qualche ricerca online e con il comando seguente mi funziona:

    Private Sub CercaData_AfterUpdate()
    Me.Filter = "[Data] Like " & Chr(34) & Me.CercaData & "*" & Chr(34)
    Me.FilterOn = True
    End Sub

    Ora la cosa è, quando mi filtra le date vorrei che mi mostrasse solo quelle che hanno il campo IDSocio ancora vuoto, come posso fare?

  • Re: Problemi con il filtro su Maschera Continua

    07/09/2023 - GameSen ha scritto:


    Me.Filter = "[Data] Like " & Chr(34) & Me.CercaData & "*" & Chr(34)

    Aggiungi alla fine di quella cosa che non so come faccia a funzionare un'ulteriore condizione

    & " AND IDSocio is Null"

    ammesso che il “vuoto” di cui parli sia Null. Prova a costruire una query classica e guarda se dà i risultato voluti con Null o con altri sistemi.

  • Re: Problemi con il filtro su Maschera Continua

    07/09/2023 - GameSen ha scritto:


    Ho un problema su cui mi sto scervellando.

    E' la prima volta che provo a crea re un filtro su una maschera.

    Io ho questa maschera continua che mi prende i dati da una tabella e me li mostra a video.

    Il filtro dovrebbe, dalla data che inserisco tramite la casella combinata, mostrarmi solo i dati corrispondenti a quella data.

    E qui sorge il problema, una volta che seleziono la data nel filtro non mi dà errori, ma non mi fa vedere più niente.

    Probabilmente sto dimenticando di mettere qualcosa io tra i comandi, voi ne sapete qualcosa?

    Vi lascio qui sotto quello che ho scritto io,

    Private Sub CercaData_AfterUpdate()
    Me.Filter = "Data=" & Me.CercaData
    Me.FilterOn = True
    End Sub

    Filtrare un campo data usando il LIKE è fuori luogo… si usa se fornisci come criterio una stringa PARZIALE.

    Se il campo data che passi è completo, si gestisce il campo come Data:

    Private Sub CercaData_AfterUpdate()
    	Me.Filter = "Data=" & clng(Me.CercaData) & " AND IDSocio is Null"
    	Me.FilterOn = True
    End Sub

    Sempre sia NULL… come dice Phil… altrimenti… se fosse NullString<>Null, avresti problemi.

    Private Sub CercaData_AfterUpdate()
    	Me.Filter = "Data=" & clng(Me.CercaData) & " AND Len(IDSocio + '')=0"
    	Me.FilterOn = True
    End Sub
  • Re: Problemi con il filtro su Maschera Continua

    Okk,

    proverò a fare come dite, magari mi facilito anche le cose.

    Grazie infinite!!

    07/09/2023 - @Alex ha scritto:


    07/09/2023 - GameSen ha scritto:


    Ho un problema su cui mi sto scervellando.

    E' la prima volta che provo a crea re un filtro su una maschera.

    Io ho questa maschera continua che mi prende i dati da una tabella e me li mostra a video.

    Il filtro dovrebbe, dalla data che inserisco tramite la casella combinata, mostrarmi solo i dati corrispondenti a quella data.

    E qui sorge il problema, una volta che seleziono la data nel filtro non mi dà errori, ma non mi fa vedere più niente.

    Probabilmente sto dimenticando di mettere qualcosa io tra i comandi, voi ne sapete qualcosa?

    Vi lascio qui sotto quello che ho scritto io,

    Private Sub CercaData_AfterUpdate()
    Me.Filter = "Data=" & Me.CercaData
    Me.FilterOn = True
    End Sub

    Filtrare un campo data usando il LIKE è fuori luogo… si usa se fornisci come criterio una stringa PARZIALE.

    Se il campo data che passi è completo, si gestisce il campo come Data:

    Private Sub CercaData_AfterUpdate()
    	Me.Filter = "Data=" & clng(Me.CercaData) & " AND IDSocio is Null"
    	Me.FilterOn = True
    End Sub

    Sempre sia NULL… come dice Phil… altrimenti… se fosse NullString<>Null, avresti problemi.

    Private Sub CercaData_AfterUpdate()
    	Me.Filter = "Data=" & clng(Me.CercaData) & " AND Len(IDSocio + '')=0"
    	Me.FilterOn = True
    End Sub
Devi accedere o registrarti per scrivere nel forum
5 risposte