PDA

View Full Version : Gestione Database


Carmen
07-11-2002, 21:05
schusate il disturbo.

Avrei da chiedervi un favore. Qualcuno di voi per caso sa mica come poter modificave l'utility VISDATA per la gestione dei DB access inclusa in Visual Basic 6, perchè possa gestire anche i DB
creati con access2000, visto che la versione standard gestisce solo i Db access97.

Oppure magari, se qualcuno conosce qualche altra utility simile, che faccia le stesse operazioni, che però possa gestire anche i DB access2000...

La cosa può sembrarvi un tantino strano, mi servirebbe per poter intervenire su dei DB access2000 la dove non vi è installato access.


Mille grazie. Carmen ;)

cionci
08-11-2002, 13:19
Hai installato l'ultimo service pack per Visual Basic ? Con ADO non dovresti aver problemi ad aprire DB di Access 2000...basta che sulla macchina di destinazione vi siano installato i driver MSDAC (li scarichi dalla Microsoft)...

Carmen
08-11-2002, 21:39
Si o installata la service pack 5 + MDAC 2.7. Credo però che bisogna fare qualche altra modifica direttamente al programma perchè possa gestire i DB access2000.

cionci
08-11-2002, 21:49
Devi usare ADO con OLEDB 4.0...e puoi aprire i DB di Access 2000...

Carmen
09-11-2002, 20:32
O provato ad sostituire nei riferimenti l'opzione dao 3.51 con dao 3.6 che gestisce i db access2000, però poi mi comincia a dare una serie di errori nel codice perchè probabbilmente i comandi di dao 3.6 sono diversi rispetto alla ver. 3.51.

Non sò se a tè viene semplice provare per capire il problema.

Ciao. ;)

cionci
10-11-2002, 10:37
DAO è ormai obsoleto per accedere ai DB...devi usare ADO !!! :)

tas
11-11-2002, 11:32
Originariamente inviato da Carmen
[B]O provato ad sostituire nei riferimenti l'opzione dao 3.51 con dao 3.6 che gestisce i db access2000, però poi mi comincia a dare una serie di errori nel codice perchè probabbilmente i comandi di dao 3.6 sono diversi rispetto alla ver. 3.51.

Non sò se a tè viene semplice provare per capire il problema.

Ciao. ;)
La sostituzione di DAO3.51 con DAO3.60 è l'unica strada percorribile, a meno che tu non voglia passare ad ADO (e riscrivere gran parte del codice).
Modificare il VisData ed adattarlo al DAO3.60 è più semplice di quello che pensi, e cioè:

Vai nel menu "Progetto/Riferimenti"
Togli la spunta al DAO3.51
Metti la spunta al DAO3.60
Sposta l'elemento DAO3.60 in alto, una posizione sopra al DAO3.51
Conferma con OK

Dovrebbe funzionare!
Probabilmente nel tuo tentativo hai fatto le stesse cose, tranne che spostare la posizione del DAO3.60 in quarta posizione dall'alto. Questa è una cosa importante, in quanto in presenza di tipi di dato omonimi (Recordset in questo caso) prevale sempre il tipo dichiarato nella libreria più in alto nella lista dei riferimenti. Il conflitto è dovuto ad un altro tipo Recordset dichiarato nella libreria ADO2.5, anch'essa utilizzata in VisData.

Carmen
12-11-2002, 10:15
OK! il tuo consiglio era esatto, visto che utilizzando la predisposizione così:

Togli la spunta al DAO3.51
Metti la spunta al DAO3.60
Sposta l'elemento DAO3.60 in alto, una posizione sopra al DAO3.51

Funziona. Però non capisco che può essere, ma ad aprire un DB ci mette un sacco di tempo.

Non sò se magari ci sia qualche altro parametro da impostare.


PS. Ma non esiste un giro un programmino che gestisce i DB della famiglia Access!!!!


Carmen ;)

tas
12-11-2002, 12:11
Access 2000 ti sembra brutto?

Carmen
13-11-2002, 18:41
No, access2000 non mi sembra brutto. Volevo qualcosa di trasportabile, che quindi fosse disponibile sempre ed ovunque.

Comunque per il fatto che facendo le modifiche ad Visdata ci metta parecchio ad aprire un DB ai qualche idea del come mai???


Ciao.

tas
13-11-2002, 21:34
Mah, ho l'impressione che il formato di Access 2000 abbia molti più oggetti nascosti, che VisData analizza (suo malgrado) all'apertura dell'archivio. La mia è solo una supposizione!