View Full Version : [VB6] problema con le querry con le date
Joblack84
03-09-2007, 13:59
Ciao a tutti ho un piccolo problema con le query con date. il problema è che con vb6 andando a creare un query esempio: "select*from tabella where data = #01/02/2007#" la querry nel database mi inverete i giorni con i mesi cioè la querri risulterà "select*from tabella where data = #2/01/2007#" come posso impedire l'inversione del mese e del giorno?
wingman87
03-09-2007, 14:32
Che database usi?
Joblack84
03-09-2007, 14:58
Che database usi?
uso access 2003
il codice è
dim CRITERIO as string
CRITERIO = "data = #" & TXTcdata.Text & "#"
controllodao.Database.QueryDefs.Delete ("qrystpspese")
controllodao.Database.CreateQueryDef "qrystpspese", "Select*from tabspese where " & CRITERIO & ""
allora se inserisco nel testo una data come 01/09/2007 nella querry mi da 09/01/2007
La strada più immediata è sostituire la textbox con controlli Calendar così da poter riformattare la data come vuoi col Format(Calendar,"dd/MM/yyyy") e soprattutto evitare l'inserimento di formati errati della data, ipotizzando che tu non controlli cosa hanno scritto nella textbox.
Io personalmente gestisco tutte le date come stringhe, prima di salvarle le converto nel formato annomesegiorno cioè oggi lo salvo come 20070903 così da avere anche un'ordinamento cronologico esatto nel formato stringa, e quando li vado a rileggere le riconverto nel formato dd/MM/yyyy o MM/dd/yyyy a secondo della culture utilizzata.
Joblack84
04-09-2007, 12:27
La strada più immediata è sostituire la textbox con controlli Calendar così da poter riformattare la data come vuoi col Format(Calendar,"dd/MM/yyyy") e soprattutto evitare l'inserimento di formati errati della data, ipotizzando che tu non controlli cosa hanno scritto nella textbox.
Io personalmente gestisco tutte le date come stringhe, prima di salvarle le converto nel formato annomesegiorno cioè oggi lo salvo come 20070903 così da avere anche un'ordinamento cronologico esatto nel formato stringa, e quando li vado a rileggere le riconverto nel formato dd/MM/yyyy o MM/dd/yyyy a secondo della culture utilizzata.
la data viene scritta giusta perchè ho un ocx per la data che non permette errori. Comunque ho rissolto come ditci tu. però ho invertito nel format i mesi con i giorni "mm / dd / yy" comunque ho capito che è un difetto dell'acces non del codice vb.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.