[VB6] 3170-Impossibile Trovare ISAM installabile
-
domenica 11 settembre 2011 14:43
Sono un programmatore occasionale di VB6.
Si tratta di una vecchia utility per visualizzare e confrontare contemporaneamente
DB di diversi formati quali Access, Access 2000, dBASE, ODBC, e FoxPro.
L'utiliy utilizza DAO, ed i DataControl perche' ho la necessita' di visualizzare i dati in alcune DBGrid.
Per configurare in runtime Datacontrol utilizzo nel codice la seguente sintassi:
Per es. per Access:
Data1.DatabaseName = "C:\PATH\MYFILE.MDB"
Data1.Connect = "Access 2000;"
Data1.Refresh
Per dBASE e FoxPro:
Data1.DatabaseName = "C:\PATH\"
Data1.Connect = "dBASE III;"
Data1.Refresh
Cosi' funziona, ma se tento di aprire un file di FoxPro con Data1.Connect = "FoxPro 3.0;" ottengo l'errore suddetto.
E qui c'e' la stranezza: se nella finestra delle proprieta' nell'IDE di VB6 immetto nella proprieta' Connect dei DataControl il valore "Access" al posto del default "Access 2000", i DB di FoxPro mi vengono aperti regolarmente, ma non vengono piu' aperti i DB di Access 2000 perche' ottengo lo stesso messaggio di errore !
Per poter riaccedere ai files di Access 2000, nella finestra delle proprieta' devo reimpostare "Access 2000" come di default, ma riottengo l'errore su FoxPro.
Sembra quindi il valore impostato nella finestra delle Proprieta' riesca in qualche modo ad influenzare le successive impostazioni della proprieta' Connect impostate da codice.
Ho letto di tutto ed il contrario di tutto, ma non riesco a venirne a capo.
Il problema si presenta sia lanciando il programma dall'IDE di VB, sia compilando e creando il pacchetto di installazione.
Siete la mia ultima spiaggia. Grazie per aver letto fino a qui.
VB6-SP6 ITA, WinXP PRO
Tutte le risposte
-
martedì 18 ottobre 2011 11:54
L'errore è dato dalla mancanza della DLL necessaria , attenzione che potrebbe anche esserci ma non è registrata.
un esempio regsvr32 dao360.dll
-
venerdì 21 ottobre 2011 08:26
Grazie per la risposta.
Ricordo vagamente di aver tentato questa soluzione, ad ogni modo ho riprovato regsvr32 "C:\Programmi\File comuni\Microsoft Shared\DAO\dao360.dll" ed ottengo il messaggio di corretta registrazione, ma il programma continua a comportarsi allo stesso modo.
Se ha altre idee sarebbero gradite

