Ricerca data in Sql Express tramite VBA

mercoledì 08 giugno 2011 - 16.11
Tag Elenco Tags  Windows Server 2003  |  Office 2010

softdream Profilo | Newbie

Ciao..
Ho un problemino che mi è saltato fuori oggi...

Ho un database in SQL Server 2010 versione Express
Utilizzo le tabelle tramite Access 2010

Le tabelle sono collegate tramite ODBC e l'apertura delle varie tabelle viene fatta tramite ADO

Set Dbl = Application.CurrentProject.Connection
S = "Select * From pippo WhereDataDocumento = #" & Format(Me!Data, "mm/dd/yyyy") & "#
T1.Open S, Dbl, adOpenKeyset, adLockOptimistic
ecc.ecc.

Fino a ieri tutto ok....
Oggi mi da un errore ODBC...
Chiamata non riuscita...
Sql Server native Client 10.0 Conversione non riuscita durante la conversione di una stringa di caratteri in una data e ora......

Giuro non ho fatto nulla...
Cosa mi sfugge ???

Grazie...
Enrico Pietrobon

alx_81 Profilo | Guru

>Ciao..
ciao

>Set Dbl = Application.CurrentProject.Connection
>S = "Select * From pippo WhereDataDocumento = #" & Format(Me!Data,
>"mm/dd/yyyy") & "#
>T1.Open S, Dbl, adOpenKeyset, adLockOptimistic
>ecc.ecc.
>Fino a ieri tutto ok....
>Oggi mi da un errore ODBC...
>Chiamata non riuscita...
>Sql Server native Client 10.0 Conversione non riuscita durante
>la conversione di una stringa di caratteri in una data e ora......
>Giuro non ho fatto nulla...
>Cosa mi sfugge ???
il formato della data. usa ISO, senza # ma come stringa:
Where DataDocumento = '20110506'

>Grazie...
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

softdream Profilo | Newbie

Bè grazie per la risposta...
Purtroppo era una cosa che avevo già provato...
Con gli apici non funziona, tieni presente che le tabelle sono collegate..

Comunque sia avevo già provato ma senza risultati e con ulteriori messaggi d'errore...

Ho dovuto utilizzare il sistema delle tabelle collegate perchè questo programma utilizza sia tabelle "Locali" su file Access2010
che tabelle su Sql Server.
In questo modo potevo leggere tutto con ADO

Quello che mi fà specie è che fino a ieri sera tutto funzionava correttamente e senza nessun problema.
Oggi, tutto ad un tratto, senza nemmeno aggiornare il pc, continua ad apparirmi lo stesso messaggio...

Grazie

Enrico Pietrobon

alx_81 Profilo | Guru

>Bè grazie per la risposta...
>Purtroppo era una cosa che avevo già provato...
>Con gli apici non funziona, tieni presente che le tabelle sono
>collegate..

>Quello che mi fà specie è che fino a ieri sera tutto funzionava
>correttamente e senza nessun problema.
quello credo che sia perchè la data che avevi messo (ad esempio 5/5/2011) era invertibile e quindi "sembra che funzioni" poi magari il filtro non era comunque esatto.
Quello che dovresti fare a mio avviso è quello di concatenare creando l'apice singola nella stringa:

"SELECT * FROM TABELLA WHERE Data = '" & data & "'"

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

softdream Profilo | Newbie

il database su SQl esiste già da 3 anni, e ci sono dati al suo interno che utilizzo giornalmente.
Collegando le tabelle in questo modo, con il transferdatabase AcLink, ho sempre utilizzato questo sistema.
Che a sempre funzionato, non per caso.
Cioè non è un caso che abbia funzionato per 3 anni sempre senza problemi.

la mia scelta di collegare le tabelle dell'SQL in questo modo è ricaduta proprio sul fatto di non dover riscrivere completamente tutto il codice per utilizzare i due tipi di tabelle...

Comunque sia detto questo.... Ho provato anche con gli apici come detto ieri ma niente da fare...

La cosa strana è che aprendo la tabella da access, andando sopra il campo con la data, tasto destro e click sopra "UGUALE A" e la data contenuta nel campo..... Mi da lo stesso errore...

Cioè nemmeno se faccio un filtro direttaemnte dalla tabella non funziona più.....
Che cosa è successo ?
La stessa cosa avviene anche su altri pc, quindi è un problema o di SQL o di aggiornamento di Access 2010...
MA!


Aggiornamento 09-06-2011 13.07
Creando un nuovo Database tramite Access 2010 e collegando la tabella SQL non tramite codice (tranferdatabase) ma con la creazione guidata il tutto funziona di nuovo... Si tratta certamente di un aggiornamento di Office...


Aggiornamento 09-06-2011 13.41
Solo per informare...
Ho creato un nuovo database di access, ho importato tutte le maschere, le query, i report, i moduli insomma tutto...
Ho ricreato i riferimenti...
e ora tutto si è rimesso a funzionare correttamente. A questo punto penso si sia corrotto il file di access.
Comunque per info e correttezza Con le tabelle collegate, anche da un Sql Server, non come progetto database, ma ripeto con le tabelle collegate tramite ODBC, e transferdatabase, la ricerca delle date avviene nel solito modo #data#.
Grazie comunque del interessamento.

Enrico Pietrobon

alx_81 Profilo | Guru

>Grazie comunque del interessamento.
e di che, l'importante è che sia tutto a posto ora.
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5