Ricerca in Maschera per campo Data

di il
7 risposte

Ricerca in Maschera per campo Data

Salve a tutti,
ho una maschera dove sono presenti i Campi:

DATA
NOME
COGNOME
e una sottomaschera con tutti i SERVIZI

Domanda....
Come posso fare per trovare una data (ho inserito una combo data) specifica??

Ho provato con la macro Cerca record, ma non funziona....
La macro è cosi' impostata:

TIPO OGGETTO = Maschera
NOME OGGETTO = 02CASSA (nome della maschera)
RECORD = Primo
Condizione Where = TESTO56 (che è la combo data)
Ho inserito la macro dopo il comando invio.

Selezionando la data 14/06/2017 si posiziona sul primo record data della maschera.

Grazie a tutti
Alex

7 Risposte

  • Re: Ricerca in Maschera per campo Data

    alexstar ha scritto:


    Domanda....
    Come posso fare per trovare una data (ho inserito una combo data) specifica??
    Cos'è una "combo data" ? se fosse una casella combinata da dove piglia i dati ? quale valore restituisce?

    Ho provato con la macro Cerca record, ma non funziona....
    Hai un solo record per ogni data? Cerchi il primo record o vuoi tutti i record con quella data?
    se vuoi tutti i record con quella data devi applicare un filtro e non un cerca record!
    TESTO56 (che è la combo data)
    No...non può essere una combo!
    Condizione Where = TESTO56 (che è la combo data)
    questa condizione where non dice nulla...prova ad eseguirla da una query e vedi cosa ti restituisce
    Selezionando la data 14/06/2017 si posiziona sul primo record data della maschera
    Lo fa...o non lo fa?
    Spiega meglio.

    Saluti
  • Re: Ricerca in Maschera per campo Data

    Hai ragione....
    Lo spiego meglio:
    Quando ho scritto che ho una combo box data, significa che ho inserito una casella combinata, con la possibilità di scegliere una data.
    la casella combinata ha il nome di TESTO56. Mi appare il classico calendario e scegliendo una data, mi piacerebbe trovare il primo record con quel valore. Con dei tasti selettori record, vado avanti e indietro con i record, ma se volessi trovare una data specifica, mi piacerebbe utilizzare un tasto cerca o sfruttare la casella combinata in questione (appunto la TESTO56.

    Non so come fare.

    Grazie
  • Re: Ricerca in Maschera per campo Data

    alexstar ha scritto:


    ... ho inserito una casella combinata, con la possibilità di scegliere una data.
    la casella combinata ha il nome di TESTO56. Mi appare il classico calendario e scegliendo una data, ...
    Quel nome, Testo56, e la presenza del calendario per l'immissione guidata sono un segnale che c'è qualcosa di strano. Il controllo solitamente assume il nome casellacombinataN. Se usi la composizione guidata, tra l'altro, c'è proprio l'opzione "Trova un record nella maschera basato sul valore selezionato nella casella combinata" e fa tutto lui, senza creazione di macro (che mi fanno venire la pelle d'oca anche con 30 gradi).
    Se vuoi capire anche come funziona c'è il codice sull'evento AfterUpdate, con l'uso del RecordsetClone ecc. Fa sempre bene saperle queste cose.
    Edit1: ricorda che il delimitatore per le date è il carattere cancelletto (su un mio test ho dovuto fare qualche modifica manuale al codice e senza l'uso del cancellato "sembrava" non funzionare. In realtà faceva quello che gli diceva il codice come scritto in quel momento)
  • Re: Ricerca in Maschera per campo Data

    Phil...non è una combo ma una textbox.
  • Re: Ricerca in Maschera per campo Data

    alexstar ha scritto:


    Hai ragione....
    Lo spiego meglio:
    Quando ho scritto che ho una combo box data, significa che ho inserito una casella combinata, con la possibilità di scegliere una data.
    la casella combinata ha il nome di TESTO56. Mi appare il classico calendario e scegliendo una data...
    Insisto...
    Combo box = Casella Combinata...Nome controllo = CasellaCobinata56
    TextBox.....=Casella di testo.......Nome controllo =TESTO56 (si vede il calendario)

    Assodato questo ripeto :
    Vuoi cercare il primo record ?
    oppure:
    Filtrare tutti i record che contengono quella data?
  • Re: Ricerca in Maschera per campo Data

    Le date passate con Macro o VBA devono essere convertite in quanto questa parte del COdice lavora con le Impostazioni Internazionali, quindi immagino in Italiano, mentre il Motore del DB lavora in accezione anglosassone... che significa inversione gg/mm.
    Ora io le macro le lascerei perdere... perchè hanno un limitato accesso al DEBUG che invece da VBA sarebbe completo.

    Per cercare e spostarti:
    
    Me.RecordsetClone.FindFirst "[NomeCampoData]=#" & Format$(Me!Testo56.Value,"mm/dd/yyyy") & "#"
    ' oppure:
    ' Me.RecordsetClone.FindFirst "[NomeCampoData]=" & Clng(Me!Testo56.Value)
    
    If Me.RecordsetClone.NoMatch Then
       MsgBox "Data non trovata"
    Else
       Me.Bookmark=Me.RecordSetClone.Bookmark
    End IF
    Se vuoi Filtrare si usa la proprietà Filter:
    
    Me.Filter= "[NomeCampoData]=#" & Format$(Me!Testo56.Value,"mm/dd/yyyy") & "#"
    ' oppure:
    ' Me.Filter="[NomeCampoData]=" & Clng(Me!Testo56.Value)
    Me.FilterOn=True
    
  • Re: Ricerca in Maschera per campo Data

    Scusatemi !!
    erroneamente aevo scritto combo ma è un una textbox !!
    Phil perdonami non volevo confonderti le idee !!

    Ringrazio Alex, adesso ci studio un po' ...
    Grazie a tutti
Devi accedere o registrarti per scrivere nel forum
7 risposte