Newsgroup: it.comp.lang.visual-basic
Titolo: selezionare una data con SQL (VB .NET)

 
Sto esaurendo le mie cellule cerebrali nel cercare una sintassi valida 
(tutte quelle provate, trovate in rete, non hanno funzionato) per 
selezionare una data da un database MS Access.
 
tutto il resto funziona egregiamente, segno che tutte le altre cose 
(provider, command, connection) sono giuste.
 
Nello statement
 
" SELECT id_paziente, data_primavisita
FROM mia_tabella
WHERE data_primavisita = '21.01.2000' "
 
quest'ultima parte non funziona in tutte le salse provate :
 
xData = "21.01.2000" (oppure "21/01/2000")
 
WHERE data_primavisita = Convert.TodateTime(xData) "
 
Le ho provate tutte. Niente da fare.
 
Grazie per tutti i consigli.
 
PS - nemmeno la variazione  "SELECT * FROM mia_tabella  WHERE etc..." 
funziona

 
 
Se non ricordo male in Access devi utilizzare le # # intorno alla data.
Nel tuo caso: #21/01/2000#  
sempre posto che il campo che confronti sia date :)
 

 
 
 
In ogni caso utilizza i Parameters per una buona query :)
 


 
Mi sa tanto che ti sono rimaste poche cellule cerebrali allora...
Ma che cavolo di ricerche fai? Guarda com'è semplice...
 
http://it.letmegooglethatforyou.com/?q=select+campo+data+access
 
 
il secondo link è quello che cercavi!
 
Ciao, Vincenzo
 
 

 wrote in news:jpku25$jop$
1...@speranza.aioe.org
:

con sqlserver il formato salvatutto che uso di solito e'  yyyy-mm-dd 
(2012-05-24).
 
prova se vale anche per access...
 
-- 
Paolo opg
 
BE AWARE that this post uses a fake reply-to address
to contact me write to:
janickg ( at ) hotmail ( dot ) com
--

 WHERE data_primavisita = '21.01.2000' "
 
Non uso Access, ma ogni db ha una sintassi specifica per le date, si in 
quanto a delimitatori che a formato da utilizzare.
Non credo che Access usi gli apicini, forse usa i cancelletti #.
 
Comunque, come sempre, è una questione di metodo.
In Access da che mondo è mondo queste cose si fanno (o, meglio, si 
chiariscono) sviluppando il template della query col giocattolino QBE 
incorporato in Access, poi si visualizza la rappresentazione SQL, e da 
lì si spippola a piacimento.
Che usare la visualizzazione SQL è l'unico modo serio di fare sviluppo 
e debug sui database, tutto il resto è perdita di tempo.
 
 
 
Alberto
 
 


 
Ho controllato e riprovato con #21.01.2000# ( e anche  #21.01.2000 
00:00:00#)   : stesso risultato, cioï¿œ nessun record trovato.

Ciao,
Access usa i cancelletti.
Ti consiglio di usare la definizione anglosassone.
 
F.

 
 
Usa le /. 
Il campo su cui effettui la WHERE di che tipo è?
 
PS: Ma tu non eri sparito per sempre? :P
 

 00:00:00#) : stesso risultato, cioè nessun record trovato.
 
 
sorry...ha funzionato con  #21/01/2000 00:00:00#  cioè con lo slash come 
separato, invece che col punto. Strano. Visualizzando il campo con 
Access mi dà il punto come separator.
Vabbè. L'importante è che ha funzionato.
 
grazie.
 

 ha scritto:

Controlla il "FORMATO" del campo della tabella. Sicuramente non è impostato 
al modo "Standard".
 
 
 


 
ricerca sulle demenze....è per quello che sto diventando demente anch'io 
e mi rimangono poche cellule ancora funzionanti...
 
 


 
Infatti. Questa è la mia seconda vita, dopo la morte.
 
 

 Sei parente di Rocco? :D
 
purtroppo no... non arrivo ai 30 cm....
 

 Vabbè. L'importante è che ha funzionato.
 
'abbia'
 
 
Alberto
 
 


 
Controllato. il Formato sembra giusto :  dd.mm.yyyy
 
Devo dire però che la 'region'  è impostata su 'Germania' e uso una 
tastiera tedesca.

 ha scritto:

Eh appunto. Il formato dd.mm.yyyy è quello che visualizzi. Prima hai 
detto "che strano che invece in visualizzazione mi si vede dd.mm.yyyy".
Perchè usi quella notazione?
 


pensavo che se usa quella notazione (a causa della 'region') dovrebbe 
anche accettarla by default in una query..... ma evidentemente non 
funziona così.
 

puntualmente mi viene la nostalgia del Define Type come lo si usava nel 
VB6, (Typedef in C++) cioè una struttura di dati eterogenei, raggruppati
in un 'mucchio' compatto che si poteva scrivere come record su qualche 
file binario.
 
Leggendo qua e là si legge che in VB .NET tutto questo è sostituito, da 
un metodo più figo, più potente, più tutto, delle 'strutture serializzate'.
 
Sarà pur figo, più intelligente, più tutto, ma a me non vuole entrare 
nella capoccia e ogni tanto mi ritrovo a preferire di creare via SQL una 
tabella completa che mi faccia la stessa funzione.
 
Esiste in rete qualche descrizione  che renda la comprensione della 
'serializzazione' dei dati allegra, facile, comprensibile
anche per 'idioti' ???
 
 
Grazie dei consigli.


 
Tra tutti quelli che ho visto questo mi sembra il più intelligente e 
semplice, (anche se è per VB 2005).
 
http://community.visual-basic.it/alessandro/archive/2006/11/27/18023.aspx
 
 
Magari a qualcuno puo' servire.

 file binario.
 
Veramente DefType (penso tu ti riferisca a questo quando parli di Define Type) 
fa tutt'altro rispetto al TypeDef del C++.
 
Se invece ti riferivi a Type del vb6 anche qui non c'entra nulla con il TypeDef 
del C++ (o meglio c'entra in senso lato). Il Type del vb6 (insieme di dati 
eterogenei) ï¿œ la Struct del C++. TypeDef serve per ridefinire il tipo con 
un'altro nome.
 
 


 
Sì, hai ragione. E' l'Alzheimer che incalza impietosa.
 
Non mi ricordavo se nel VB6 si usava il Define Type oppure solo 'Type'.
Comunque vedo che hai capito quello che intendevo.