Newsgroup: it.comp.appl.access
Titolo: Select con date che vengono 'percepite' invertite

Sto combattendo con un pc, Win10 pro, sul quale sono installate delle 
procedure classiche vendite, acquisti e via
E per il momento le sto prendendo
Procedura Accde fatta con Access 2013 32bit, dati su Firebird via driver 
odbc
Il pc e' nuovo, appena preparato per sostituire il vecchio che montava 
Xp e iniziava a dare qualche segno di matto
Copio tutto dal vecchio Xp al Win10
Sembra partire tutto, finche' su una schermata mi sbatte fuori un bel 
3146 e si rifiuta di obbedire
La riga incriminata e' una select del tipo
 
Set MySNAPScarichi = CurrentDb.OpenRecordset("select sum(LITRI) as 
TOT_LT from SCACAR where DATA_REGISTRAZIONE <= #12/15/2021# and 
NUMERO_MEMORANDUM < 815")
 
ed il problema sembra essere quella data  12/15/2021 con giorno e mese 
invertiti perche' sul db le accetta cosi'
Su questo pc, questa istruzione spatacca tutto
Allora provo su mio pc sviluppo, col db incriminato
Sul mio va perfettamente
 
Inizio a controllare:
-versione db server
-versione driver odbc
-versione sistema operativo
-formato data/ora del sistema operativo
 
tutto uguale, tra il mio pc sviluppo ed il pc cliente sembra tutto 
allineato, ma sul mio la select funziona sul pc cliente no
Provo allora ad installare un Access 2013 sul pc cliente, ci copio il 
sorgente e provo ad entrare col debug sulla riga malefica
Stessa solfa, sul pc cliente sbatte fuori errore 3146, sul mio passa 
correttamente
 
Ipotizzo sia una qualche interazione tra il motore db di Access, il 
driver odbc usato, ed il formato delle date accettato da Firebird
 
Cos'altro verificare per capire da cosa dipenda il problema?
 
 

 Cos'altro verificare per capire da cosa dipenda il problema?
 
Non è chiaro come tu passi i parametri Data alle stringhe Sql
 
https://www.donkarl.com/it?FAQ6.8
 
 
Questa notazione non dovrebbe mai dare problemi (non saprei con FireBird, ma...)
 
Saluti


Allora continuando a cercare di capire come mai l'anomalia descritta 
sopra, che mi sembra particolarmente insidiosa, sono riuscito ad 
ottenere due copie dello stesso applicativo
Programma1.accdb e Programma2.accdb
Il primo che mostra il problema sopra descritto, il secondo che invece 
funziona correttamente, sempre su pc cliente
E quindi su pc nuovo, Win10 pro 64 bit, attualmente ho installato Access 
2013 32 bit + Firebird + driver odbc, che per forza di cose sono 
utilizzati da entrambi i due programmi sopra, e quindi questa tripleta 
non puo' essere perche' sono uguali
Il problema deve essere pr forza nel codice/impostazioni della procedura 
access
Ho ricontrolato piu' volete su File / Opzioni, ed e' tutto identico tra 
Programma1 e Porgramma2
Ho verificato i riferimenti, e sono identici e caricati nello stesso ordine
L'unica differenza tra i due programmi, e' che il secondo (quello che 
funziona) e' stato convertito partendo da un mdb formato Access 2000 
sullo stesso pc cliente, dove ora sto provando
Mentre Programma1, quello che non funziona, e' stato convertito dallo 
stesso mdb formato Access 2000 ma su altro pc, il mio di sviluppo
Quindi partendo dallo stesso mdb, e convertendolo in accdb (usando 
Access 2013) il risultato sembra diverso se viene fatto su mia 
postazione sviluppo o su pc cliente
Questa e' l'unica differenza che attualmente posso rilevare
E, cosi' a naso, non mi sembrano granche' collegate le due cose
 

 NUMERO_MEMORANDUM < 815") 
CUT
 
Se non fossi tu direi che stai sbagliando una sintassi, perchè la notazione con # ...# è sempre all'americana (mese,giorno,anno).
 
Comunque questi aspetti misteriosi di access (e le manie di protagonismo degli americani che rifiutano di adeguarsi al resto del mondo con la notazione delle date) si aggirano con piccoli escamotage:
Su SQL scriverei '20211215', dove un genio ha formalizzato le date in modo univoco dal numero più significativo.
Su access proverei con DateSerial...
 
Ciao

 Se non fossi tu direi ...
 
 
Non ho capito se mi stai considerando un 'esperto' oppure un pirla
:)  :)  :)
 
Potendo scegliere preferisco la seconda, cosi' non mi sento obbligato 
moralmente a rispondere a tutte le domande che piovono nel ng con 
risposte celeri e competenti
:)  :)  :)
 
Ho visto ora il totem nella presentazione di Karl al DevCon 2020
Complimenti davvero per la realizzazione, sarebbe sempre piaciuto anche 
a me attaccare software ed hardware per far vivere un 'oggetto' autonomo 
rispetto al classico pc da scrivania

 rispetto al classico pc da scrivania
 
Grazie, è stato un lavoro che mi ha dato soddisfazione.
 
Comunque, come avrai capito, il totem in sè è la punta dell'iceberg, il sistema gestionale centrale risiede su un server dove faccio girare access come se fosse un servizio, e gli operatori ognuno dalla propria postazione, gestiscono le varie procedure e flussi di informazioni. Praticamente l'intera clinica gira sul mio sistema gestionale per l'erogazione dei servizi di radioterapia.
 
Basta, che poi chi si loda si sbroda...
 
Ciao