Cerca in db access tra date

di il
26 risposte

26 Risposte - Pagina 2

  • Re: Cerca in db access tra date

    O Dio... noooo ho ricontrollato e il campo della data in pagamenti è Testo Breve...

    Allora è quello il problema?
    Ma posso convertirlo adesso che ci sono i dati o non cambia il discorso?
  • Re: Cerca in db access tra date

    Nooooooooooooo guarda... chiedo SCUSA a tutti per il tempo che vi ho fatto perdere... mi do del SOMARO da solo

    ovviamente come hai indicato FUNZIONA era il campo del database impostato come testo breve invece di Data\Ora

    Grazie ancora... (se ci fosse un tasto "vergogna" lo userei adesso)
  • Re: Cerca in db access tra date

    L'importante è che hai risolto, il forum serve anche a questo, a farti cercare il problema in posti che non avresti mai immaginato
  • Re: Cerca in db access tra date

    Ciao a tutti, riposto questa discussione, RISOLTA all'epoca con il codice sotto per una ricerca in database access tra date, va benissimo ma se imposto la data inizio e quella finale identiche per filtrare 1 solo giorno, non funziona.

    Try
                    myConnection.ConnectionString = connString
                    myConnection.Open()
                    Dim trova As New OleDbDataAdapter("SELECT * FROM Pagamenti WHERE DataFattura BETWEEN #" & dData1.ToString("MM/dd/yyyy HH:mm") & "# AND #" & dData2.ToString("MM/dd/yyyy HH:mm") & "# ORDER BY DataFattura", myConnection)
                    trova.Fill(ds)
                    Bsource.DataSource = ds.Tables(0)
                    If ds.Tables(0).Rows.Count > 0 Then
                        DGVdate.DataSource = ds.Tables(0)
                    Else
                        MsgBox("Non ho trovato righe nelle date selezionate")
                    End If
                    myConnection.Close()
                Catch ex As Exception
                    MsgBox(ex.Message)
                End Try

    stavo pensando a questa soluzione ma non va…

    Try
                        myConnection.ConnectionString = connString
                        myConnection.Open()
                        Dim trova As New OleDbDataAdapter("SELECT * FROM Pagamenti WHERE DataFattura =" & DateTimePicker1.Value.Date, myConnection)
                        trova.Fill(ds)
                        Bsource.DataSource = ds.Tables(0)
                        If ds.Tables(0).Rows.Count > 0 Then
                            DGVdate.DataSource = ds.Tables(0)
                        Else
                            MsgBox("Non ho trovato righe nelle date selezionateNEW")
                        End If
                        myConnection.Close()
                    Catch ex As Exception
                        MsgBox(ex.Message)
                        myConnection.Close()
                    End Try

    ho provato anche a formattare come il sopra con dData1.ToString("MM/dd/yyy") o anche dd/MM/yyy visto che altrimenti mi restituisce la data in formato americano

    però il problema non cambia, non trova i dati.

    Nella discussione originale non avevo impostato il campo nel databasxe come Data\Ora… poi modificato.

    Sapete indicarmi che tipo di errore faccio?

    Grazie

  • Re: Cerca in db access tra date

    Fai attenzione all'orario.

    Se HH:mm è sempre 00:00 e la data cercata ha orario diverso, non potrai trovare nulla.

  • Re: Cerca in db access tra date

    Cuao Oregon,

    Ho verificato nel db e alla casella di mio interesse, impostata come Data\Ora c'è solo la data in formato gg/mm/yyyy o almeno questo è quello che vedo se vado nel db access e seleziono struttura.

    Probabilmente saràun errore del genere, ci avevo pensato ma non vedo l'orario eno quando ricarico il dato nella textbox

    Boh  

  • Re: Cerca in db access tra date

    Non è importante quelli che vedi ma il valore del dato memorizzato 

  • Re: Cerca in db access tra date

    Esatto, quindi ho fatto delle prove, ho provato a fare la ricerca per ID e mettere in un msgbox il valore della data e la da corretta, mi legge 13/01/2023 poi ho provato a vedere il datatimepicker e sempre mettendolo in una mesagbox vedo 13/01/2023 quindi deduco siano le stesse date… ma ovviamente così non è visto che non funziona. in che modo posso controllare allora il valore scritto?

  • Re: Cerca in db access tra date

    Dim trova As New OleDbDataAdapter("SELECT * FROM Pagamenti WHERE DataFattura BETWEEN #" & dData1.ToString("MM\/dd\/yyyy 00\:00\:00") & "# AND #" & dData2.ToString("MM\/dd\/yyyy 23\:59\:59") & "# ORDER BY DataFattura", myConnection)
                   
  • Re: Cerca in db access tra date

    24/01/2023 - SirJo ha scritto:


    Dim trova As New OleDbDataAdapter("SELECT * FROM Pagamenti WHERE DataFattura BETWEEN #" & dData1.ToString("MM\/dd\/yyyy 00\:00\:00") & "# AND #" & dData2.ToString("MM\/dd\/yyyy 23\:59\:59") & "# ORDER BY DataFattura", myConnection)
                   

    PERFETTO…. quindi con oregon avevamo intuito il problema (lui a dire il vero) ma impostando l'intervallo di orario funziona… ottimo

    Come mai però non vedo l'ora ne all'interno del Database ne se carico il dato e lo mostro in una label, una textbox oppure in un mesgbox?

    Mi piacerebbe capirlo più per una cosa mia culturale che funzionale, ormai ho capito che l'errore si presenta e si risolve ma chissà come mai non lo vedevo….. Premetto che quando vado a inserire la data nel DB con cella formattata Data\Ora lo faccio impostando il datapicker.Value.Data

    Mah… comunque Grazie Mille per l'aiuto

  • Re: Cerca in db access tra date

    Te lo avevo accennato prima… il dato completo è quello registrato e contiene data e ora completa.

    Se vuoi vedere tutte le componenti, in qualsiasi contenitore, devi usare una Format

  • Re: Cerca in db access tra date

    25/01/2023 - oregon ha scritto:


    Te lo avevo accennato prima… il dato completo è quello registrato e contiene data e ora completa.

    Se vuoi vedere tutte le componenti, in qualsiasi contenitore, devi usare una Format

    e già…. avevi ovviamente ragione ma non avevo capito che potevo impostare l'orario in quel modo… che ovviamente ha una logica…

    Grazie

Devi accedere o registrarti per scrivere nel forum
26 risposte