Newsgroup: it.comp.appl.access
Titolo: Impostazioni Data del PC

Sapete se c'č un modo per bypassare le impostazioni data del pc
Abbiamo una pagina php che si collega ad un db access versione 2000.
Access č stato installato in italiano e la pagina php gli manda dati e
richieste in formato giorno/mese/anno
ma il server su cui č stato messo ha le impostazioni data ora inglesi
quindi con la data nel formato mese/giorno/anno
possiamo in qualche modo risolvere questo problemino senza cambiare le
impostazioni del server?
...e senza cambiare tutte le impostazioni in php .... per non dover
rifare tutto?
Ciao
Grazie
Elena e Roberto
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Abbiamo individuato meglio il problema: non è dovuto alle impostazioni
del pc su cui risiede il database (le abbiamo cambiate ma non è cambiato
nulla), ma alle impostazioni access.
Infatti, inserendo una query in Access 2002 e poi guardandone la
visualizzazione SQL, la query sarà del tipo:
WHERE Data Between #01/12/2006# and #31/12/2006#
Mentre facendo lo stesso procedimento in QBE, l'SQL che esce con Access
2000 è:
WHERE Data Between #12/1/2006# and #12/31/2006#
Dunque con mese e giorno invertiti.
Non è possibile specificare nelle opzioni in che modo si vogliono
manipolare i dati?
Perchè in questo modo tutti gli script di interrogazione/modifica di PHP
sul database Access 2002 risultano incompatibili con lo stesso database
in Access 2000... possibile che non si possa cambiare qualche
impostazione Access in modo che funzioni?
Ancora grazie per l'attenzione


 Elena e Roberto
A parte che JET(Access per gli amici) richiede obbligatoriamente
che le date siano formattate in anglosassone altrimenti dovrebbero
essere in formato standard ISO.
In ogni caso non conosco PHP, ma VisualBasic mette a disposizione
una funzione per formattare le date, questa funzione è FORMAT.
I casi credo siano 2, o fai fare la formattazione a PHP
e ti costruisci la stringa oppure nella tua stringa SQL inserisci
la funzione supportata da JET.
SELECT * FROM NomeTabella
WHERE NomeCampoData> Format(TuaData,"mm/dd/yyyy")
Ciao
@Alex


 Ancora grazie per l'attenzione
Leggi la mia risposta, avevo intuito che il problema fosse questo.
@Alex


 
leggendo i tuoi post mi pare che il problema non sia di access, ma di 
PHP...
Elena Carione ha detto: in data 03/02/2006 12.10:
 >
 > Abbiamo una pagina php che si collega ad un db access versione 2000.
 > Access è stato installato in italiano e la pagina php gli manda dati e
 > richieste in formato giorno/mese/anno
non so come avete sviluppato le pagine PHP, cmq, per quel che  l'ho 
usato io PHP (solo con MySQL) le date sono sempre fomtatte in "maniera 
anglossassone", inoltre se da access stesso eseguo una query da VBA 
(docmd.runsql... piuttosto che l'origine dati di un recordset) è 
necessario formattare le date in quel sistema, altrimenti i risultati 
non sono quelli desiderati (se guardi la stringa SQL che genera il 
genratore di query non ti accorgi di questo, perchè  esiste cmq 
un'ulteriore "traduzione" nascosta della query)
dovresti, secondo me controllare il tuo PHP e fomrattare adeguatamente 
la data nell'istruzione SQL.
A parer mio Access non ha colpa (anche lui rispetta lo standard SQL)
ciao
Nick

In primo luogo vi ringrazio per le risposte.
Dunque: alla peggio mi metterò a modificare tutto il codice PHP per
leggere e passare le date in maniera corretta. La mia perplessità però è
la seguente:
Finchè usavo Access 2002, accettava correttamente anche le date non in
formato anglosassone, e quindi gg/mm/aaaa. Sarà una nuova funzionalità
di Access2002 e quindi non utilizzabile su Access2000?
E' solo usando Access2000 che sono uscite queste incompatibilità.
Esempio degli errori che mi dà ora access 2000:
Se nel DB c'è un campo "Data" che vale 18/01/2006 e io vado a prendere
questo campo in PHP, stampandolo a video mi esce "1/18/2006", mentre con
access 2002 mi usciva il dato corretto "18/01/2006"
Se è modificabile da Access sarebbe una grande cosa, altrimenti toccherà
mettersi a rifare tutto il codice php che interagisce con le date :)


> E' solo usando Access2000 che sono uscite queste incompatibilità.
Scusate ma ritratto: usando un PC con Access2000 e sistema operativo in
italiano, ancora *funziona*.
E' solo usando Access2000 con sistema operativo in inglese ma
impostazioni di data e ora italiane che non va. L'unica altra differenza
è che a uno mi connetto agli script via LAN, sull'altro eseguo gli
script in locale (ma dovrebbe essere ininfluente)
Insomma, è colpa di qualche impostazione di quel computer, o di Access
di quel computer, che dà questi errori: la stessa versione di Access su
un altro computer va correttamente.
Avete idea di possibili soluzioni?


 ha scritto nel messaggio
news:648b7ab12d734213613...@mygate.mailgate.org...


 mettendo quelle italiane, per esempio...
Provato, ma nulla :(


Elena Carione ha detto: in data 03/02/2006 14.09:

non è un problema id impostazioni di access o delle impostazioni di 
sistema...
...provo nuovament a riassumere:
ACCESS, PHP , MySQL e altri DBMS che seguono lo standard SQL hanne le 
date nel formato mm/dd/yyyy... TUTTI!!!
Access ha in più che se si utilizzano le date all'interno di se stesso 
in modalità "viusale" ovvero visionando la tabella, le query, le 
maschere, ecc... ACCESS in automatico converte la VISUALIZZAZIONE delle 
date secondo il formato delle impostazioni internazionali presenti nel 
computer.
infatti, se tu prelevi questa data senza utilizzare access (usi PHP)la 
data viene formattata nel formato in cui risiede in JET (il vero DBMS 
per access)
idem se usi le istruzioni SQL in VBA, quindi "saltando" le facilitazioni 
grafiche che access mette a disposizione.
quidni l'unica soluzione è mettere mano al codice PHP che tramite una 
semplice funzione (che si trova in rete) converte le date dal formato 
Italiano a quello Inglese, così da poter lavorare a video con date in 
Italiano, e le richieste al DBMS (sia ACCESS che MySQL che altro) 
saranno secondo le specifiche...
Ciao
Nick

 per access)
Ugh, ok ora ho capito.
E dunque presumo che non ci sia un modo di cambiare il formato di JET,
che appunto è su una macchina inglese, per dargli un formato italiano?
Altrimenti toccherà metter mano allo script... il guaio è che tra un
paio di mesi cambieranno i server in azienda, dunque cambiare gli script
per usare date inglesi e poi ricambiarle tra due mesi per rimetterle in
italiano non sarebbe allegro :(
Il disastro sarà che ci sono in un sacco di posti... sia per stampare i
dati, ma anche per fare query, per aprire pagine PHP diverse in base
alla data inserita in una tabella, per attivare particolari script...
insomma, si tratta di modifiche pesanti, non solo semplici stampe a
video.
Morale: se si poteva cambiare qualsiasi cosa per far riconoscere a JET
il formato data italiano l'avrei fatto volentieri... se non si può
toccherà attuare la soluzione tragica


 video.
purtroppo dovrai modificare ogni script che contiene una data inserendo 
la funzione che inverte giorno e mese in visualizzazione, so che la 
prima volta è dura.. ma picchiata contro la testa una volta.. la seconda 
ci si ripara :) (parlo per esperienza)
ciao
Nick

 
Oltre ai validi suggerimenti che avete già ricevuto, c'è anche un'altra 
strada che personalmente utilizzo per evitare problemi di questo genere.
Si tratta di scomporre il valore del campo data in giorno, mese ed anno 
(vedere funzioni TSQL), ricomponendo poi il tutto in una stringa di 
testo che formatto come voglio.
byEz
-- 
Claudio(BS)
L'unico problema per l'uomo non sta nella difficoltà delle sue imprese
ne' nella quantità di denaro necessario per compierle, ma nella durata
della sua esistenza. (Claudio 14.02.2004)
NB. Protezione antispam
Per rispondere aggiungere claudio

 ci si ripara :) (parlo per esperienza)
Purtroppo devo scartare questa ipotesi perchè devo consegnare oggi :P
Quindi piuttosto usiamo un altro server... anche perchè si tratta anche
di modificare funzioni che dicono
Se VariabileData=*mese/anno Allora...
E già per cose di questo tipo non basta una funzioncina del genere, c'è
da ristrutturare il controllo... e di cose così ce ne sono a decine
nelle pagine che ho fatto :)
Insomma, o si può cambiare una qualsiasi cosa per far riconoscere le
impostazioni, o cambio PC :P Purtroppo non mi è concesso mettere mano
agli script, peraltro per farli funzionare su una macchina che tra 2
mesi verrebbe comunque buttata via :) Non ne vale la pena...


 
Ciao
Nick

 mesi verrebbe comunque buttata via :) Non ne vale la pena...
Cambia il formato del campo da data a testo; ma chiaramente non è una cosa 
indolore...
Ciao.
-- 
Sergio MAZZA