Newsgroup: it.comp.lang.visual-basic
Titolo: La prima connessione...

Salve a tutti sono Gianni è scrivo dalla lontana Svizzera,come si è capito
sono al mio primo ingresso nel nws,......
Vorrei esporvi una domanda che ci sbatto da un sacco di tempo..
di vb non ne so moltissimo sono appena cominciato a "Spulciarlo",ma capsico
qualcosa sulla programazione Access,
Ho un db creato in Access 2000, ora io ho creato dei form in vb ma con
origini dati dal dbAccess, non rieco a connetrmi con Access mi viene sempre
un errore... come mai.?!
A proposito io uso vb versione lerning....
Grazie a tutti.
--
Gianni

 ha scritto nel messaggio
news:3d79e...@news.bluewin.ch...


 non riesce ad aprirli.
No, questo mi pare esagerato, oltre che assolutamente inesatto.
Basta usare gli strumenti adeguati: DAO 3.6 o ADO con Provider Jet 4.0

 Ora io, che pure sono un neofita di VB, non vorrei fare la figuraccia
Cuttino disperato!
...
a parte il QUOTING sigh....! caso mai se leggi un po di post indietro
sull'argomento non ti fanno male!
....
Rispondo a Movie ...ma anche a Gianni....
Per agganciare Access2000 devi avere
DAO 3.6 Object Library
Se usi DAO
Un consiglio sempre buono è di far sempre tutto da codice MA
se lo fai .....occhio  a un bug subdolo (sopratutto se come me converti
progetti da vb5)
Dim db as Database
SI PIANTA!
Dim db as DAO.Database invece funziona
Naturalmente se usi il datacontrol...devi impostare Access 2000 come valore
della proprietà Connect
Dove trovi il DAO3.6 e altro ?
ma qui naturalmente
http://www.microsoft.com/data/
Attento il Jet(il motore db che usa dao) lo trovi come download separato
perchè non viene più fornito con l'MDAC
http://www.microsoft.com/data/download.htm#Jet4SP3info

 Dim db as DAO.Database invece funziona
Wodka, non mi risulta (a meno che non ci sia qualche altro riferimento,
prioritario in classifica, che espone l'oggetto Database e che quindi crea
un conflitto, come potrebbe accadere per ... As Recordset con DAO e ADO
coesistenti).
Io uso VB6 SP5, ma anche da prima non ho mai visto tale problema.
Puoi darmi qualche info in più? Grazie.

 coesistenti).
CUT
Te lo confermo Lupo ...purtroppo...è anche roba che avevo accantonato e che
purtroppo 2 giorni fa mi si è riproposto!
Attenzione il fatto che sia subdolo...è che non avviene con scientifica
riproducibilità!
SOLO CON DAO!!!
I presupposti sono....un progetto VB5 (nel mio caso sp3) che converti in VB6
(nel mio caso sp5).
Ed anche un Access97 che viene convertito in Access2000.
Sto maledetto comincia a far comparire messaggi maledetti di db non
riconosciuto di parametri insufficienti ...le solite menate.
Io nel panico più totale.....cazzo funziona tutto e ora più nulla...e questo
aspetta il sw per una dimostrazione...panico totale!
Poi dal buio della memoria mi ricordo che già avevo sbattuto il capo su sta
cosa........
solo che non ricordo!
Alla fine la memoria ...e il culo....ritrovano...
http://www.microsoft.com/intlkb/Italy/articles/I238/4/01.HTM
bene controllo
effettivamente sto cazzo di sw....non fatto da me (se no col cazzo con DAO e
Access97 e VB5)
dichiarava
DIM db as Database
Dim rs as Recordset
è bastato fare
Dim db as Dao.Database
Sim rs as Dao.Recordset
 che la luce è tornata!
Lasciandomi con un giorno di vita in meno....una bella incazzatura.....e con
ancor più "stima" in zio Bill!
Ciauz!

 ha scritto nel messaggio
news:oroe9.76044$pX1.2...@news2.tin.it...
CUT
ah  dimenticavo vuoi vedere i miei reference???
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#..\..\..\WINDOWS\S
ystem32\stdole2.tlb#OLE Automation
Reference=*\G{66589670-8F68-11D0-AA69-00A0C9274B91}#1.0#0#..\..\..\WINDOWS\S
ystem32\cpeaut32.dll#Crystal Report Engine 6.0 Object Library
Object={22D6F304-B0F6-11D0-94AB-0080C74C7E95}#1.0#0; msdxm.ocx
Reference=*\G{00025E01-0000-0000-C000-000000000046}#5.0#0#..\..\..\Progra~1\
Common~1\Micros~1\dao\dao360.dll#Microsoft DAO 3.6 Object Library
Object={00028C4A-0000-0000-0000-000000000046}#5.0#0; TDBG5.OCX
Object={6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.3#0; comctl32.ocx
Object={A4B55B03-8129-101D-836D-BE0683BCA07A}#1.0#0; TDBText.ocx
Object={FAEEE763-117E-101B-8933-08002B2F4F5A}#1.1#0; DBLIST32.OCX
Object={EC3CCCF0-A91B-11CF-8381-00400519DF59}#1.0#0; gear32so.ocx
come vedi niente doppioni ADO / DAO
...è proprio una bastardata in puro stile M$!!!
Ri Saluti!

 Ed anche un Access97 che viene convertito in Access2000.
Ho letto il link da te citato
http://www.microsoft.com/intlkb/Italy/articles/I238/4/01.HTM
In sintesi pare che il tutto sia risolto con SP4 di VS6 (lo si dice
nell'articolo in inglese), quindi strano che a te (VB6 SP5) il problema si
presenti. Personalmente, comunque, non uso controlli Data, ma, visto che non
pare elemento determinante per il manifestarsi del problema, farò qualche
prova. Magari se qualcuno (fra i DAO-nostalgici) ne sa di più, aspettiamo
fiduciosi.
Ho cercato il corrispondente articolo in iglese:
http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q238401&
e ne riporto una parte con la sua gemella in italiano. Mi scuso con tutti
per la lunghezza, ma c'è una chicca nei due testi (non dico dove, comunque
... verso il fondo) da suicidio, attacco isterico o "ridolite" cronica.
Scegliete voi e, soprattutto, qual è l'affermazione vera fra le due?
---------------------------------------------
In inglese:
http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q238401&
Cause
Access 2000 and Access 2002 use the Jet 4.0 engine, which creates Jet 4.0
format database files. Jet 3.5 components do not recognize such a format.
If you are using ADO, you get error -
2147467259
 when you try to connect to
your Access 2000 or 2002 database through the Microsoft.Jet.OLEDB.3.51
provider.
If you are using DAO, you get error 3343 when you use the Microsoft DAO 3.51
Object Library.
The DAO generic Data Control does not work against Access 2000 or 2002
databases and always generates error 3343 unless it is used as instructed in
the "Resolution" section of this article. This occurs because this control
is based on Jet 3.51 and only recognizes Jet 3.51 (or before) database
formats.
Resolution
To resolve this problem, use one of the following methods:
Install Visual Studio Service Pack 4 or later. (If you are using the Data
Control, change its Connect property to Access 2000.)
For ADO (or the ADO Data Control), use the Microsoft.Jet.OLEDB.4.0 provider.
For DAO, add a reference to the Microsoft DAO 3.6 Object Library.
If you use the generic Data Control, you must open a DAO 3.6 recordset and
then assign it to be the source of the Data Control as follows:
...
This problem has been addressed by Visual Basic Service Pack 4. A new value
( Access 2000) has been added for the Connect property that will allow the
DAO Data Control to open Access 2000 databases.
Status
This problem was first corrected in Visual Studio 6.0 Service Pack Service
Pack 4. For additional information about Visual Studio service packs, click
the article numbers below to view the articles in the Microsoft Knowledge
Base:
---------------------------------------------
In italiano:
Cause
Access 2000 utilizza il modulo di gestione di database Jet 4.0, che crea
file di database in formato Jet 4.0, tale formato non viene riconosciuto dai
componenti Jet 3.50.
Se si utilizza ADO, l'errore -
2147467259
 verrà visualizzato quando si cerca
di connettersi ad Access 2000 tramite il provider
"Microsoft.Jet.OLEDB.3.51".
Se si utilizza DAO, l'errore 3343 verrà visualizzato quando si utilizza
"Microsoft DAO 3.51 Object Library".
Il controllo DAO Data generico non funziona con database di Access 2000 e
viene sempre generato l'errore 3343 a meno che venga utilizzato come
descritto nella sezione "Risoluzione" di questo articolo. Questo si verifica
perché tale controllo è basato su Jet 3.51 e riconosce solo formati di
database di Jet versione 3.51 o precedenti.
Risoluzione
Per risolvere questo problema, eseguire una delle operazioni descritte di
seguito:
Per ADO (o per il controllo ADO Data) utilizzare il provider
"Microsoft.Jet.OLEDB.4.0".
Per DAO scegliere Riferimenti dal menu Progetto e utilizzare "Microsoft DAO
3.6 Object Library".
Se si utilizza il controllo DAO Data generico, sarà necessario aprire un
recordset DAO 3.6 e impostarlo come origine del recordset del controllo
Data, come indicato di seguito:
...
Questo problema è stato risolto nel Service Pack di Visual Basic. Un nuovo
valore (Access 2000) è stato aggiunto alla proprietà Connect che non
consentirà più al controllo DAO Data di aprire database di Access 2000.

 ha scritto


 quanto gli ho indicato nella risposta.
Beh? Hai fatto quanto era necessario fare. Chi ha detto il contrario?

 > Il problema è che io mi sono trovato


 non è che sia poi così competente. Ho soltanto cercato di dare il mio
aiuto!
Non devi scusarti. Il tuo aiuto, lo dico con estrema sincerità, è stato
corretto, esaustivo e sicuramente apprezzato. Ribadisco: Era solo quella
prima frase che, scritta come scritta, non poteva essere condivisa.

 ha scritto nel messaggio
news:Oepe9.14089$AW6.2...@twister2.libero.it...


 consentirà più al controllo DAO Data di aprire database di Access 2000.
In effetti tra le tre soluzioni da te proposte la scelta è ardua...
Bye, G.

 In effetti tra le tre soluzioni da te proposte la scelta è ardua...
LOL!
Io ho deciso di continuare a vivere alla meno peggio...
Magari mi si guarderà strano, ma ho preferito ridere in continuazione.
Ogni tanto, com'è naturale che sia, ho una copiosa produzione di lacrime.
Ci stanno anche loro, decisamente. :-(((

 accetto di buon grado la critica dunque, e.... amici come prima! :)
Visto che siamo in vena di critiche :) impara a quotare.
Per maggiori info puoi trovare un'ampia documentazione in
http://groups.google.it/
 cercando "quotare"
Ciao
--
' // Initialize the expression evaluator
Engines.Evaluator = CreateObject("
http://www.neodatatype.net
")
' // you can find resources for and from the NG here!
Me.SitoComune = "
http://www.it-lang-vb.it
"