Salve a tutti,
è il mio primo post ... spero riesca ad essere chiaro.
Vado subìto al sodo.
Ho un campo Data ( formato in cifre 00/00/0000 ) che riempio e cui accedo via VB6 con query SQL.
Quando inserisco le date ( formato italiano: gg/mm/aaaa ), il database si comporta come di seguito:
*) Se la data è "ambigua" come #11/10/2003#, il Database me la memorizza come data in formato inglese ( nonostante il motore Jet sia in Italiano ) ... ed ho visto che questo è corretto secondo la guida: "se la data è inserita come literal - cioè inserita tra cancelletti - essa viene interpretata come inglese"
**) Se la data è "palesemente italiana" ad esempio #21/10/2003# essa - ovviamente - non viene invertita e viene memorizzata così come inserita.
A questo punto, fino a quando devo valutare le date con criteri di uguaglianza non ci sono problemi e localizza i record correttamente. Il problema sorge con gli operatori di diseguaglianza ( > o < ).
In particolare io ho bisogno di eseguire una query del tipo:
"SELECT * FROM [Tabella] WHERE Data > #10/11/2003#"
ma il confronto viene effettuato "all'inglese" (e quindi errato) per le date ambigue ( caso * ) mentre "all'italiana" quando esse sono del secondo caso ( ** ). Inutile dire che <b>l'elenco di date contiene date non rispondenti alla mia query</b>.
Forse per voi sarà banale, ma io non riesco a risolvere il problema .
Preciso che le impostazioni internazionali del mio sistema operativo ( Windows XP Pro ) sono impostate su Italiano (Italia).
---------------------
Scusate la prolissità, ma volevo essere il più chiaro possibile.
Grazie di tutto
Tony
...............
Tonyweb
web:
http://www.cplusplus.i