Come posso fare per catturare l'errore di connessione ad un DB access?
Come posso fare per catturare l'errore di connessione ad un DB access?
Non capisco se il tipo di errore che vuoi intercettare è del tipo database mancante o errato, perchè in questo caso prima di fare la connection string potresti controllare l'esistenza del database:
Se invece vuoi sapere qualche codice di errore puoi guardare qui:codice:If Direxists(Nomedb) = False Then MsgBox "Data base errato o mancante" , vbCritical, "ATTENZIONE" Else ' qui fai connessione End If Function Direxists(NomeDb As String) As Boolean On Error Resume Next Direxists = GetAttr(NomeDb) And vbArchive End Function
http://support.microsoft.com/default...b;en-us;209050
Ciao
Hai ragione mi sono spiegato male.
il mio programma può caricare un qualsiasi DB che sia compatibile con le tabelle interne. Quindi quando seleziono il DB da caricare vorrei poter intercettare che il Db in questione sia compatibile con il software. Secondo te una soluzione?
grazie![]()
Puoi controllare l'esistenza di una tabella che deve essere presente nel tuo database facendo dopo la connessione la open sul recordset se non la trova dà l'errore: -2147217865 (Il modulo di gestione di database Microsoft Jet non è in grado di trovare la tabella o la query di input 'TabellaXXX'. Verificare che esista e che il nome sia stato digitato correttamente).
Ciao
ho risolto così....guarda se ti sembra una soluzione ottimale
ho inserito prima dell'apertura del primo recordset aperto il controllore di errore in pratica:
On Error GoTo errorHandler
rs.open sql, CDB.Connect,.......
...
...
...
...
Exit Sub
ErrorHandler:
msgbox "Databse caricato non compatibile",vbokonly,"Attenzione"
End
end sub
a me funziona, non credo ci siano soluzioni migliori