PDA

View Full Version : [VBNET] Errore 'Impossibile aprire altre tabelle'


joeykiske
04-03-2010, 15:34
Salve,
creando un programma aziendale,accade spesso questo problema,"Impossibile aprire altre tabelle". :muro:
Il problema viene generato sempre con il file .exe mentre in develop è saltuario. :eek:
Utilizzo VisualStudio2008 come programma e non mi ha mai generato questo problema. :ncomment:
Ho notato che con il sp2 di winxp il problema accade meno raramente rispetto al sp3. :lamer:
Ho provato con diverse versione di JET e del FrameWork ma accade lo stesso...:cry:

:help: Can anybody fine me a solution?! :help:

p.s.Ho postato alcuni screenshot. :D

http://img411.imageshack.us/img411/2720/vbnet.png <-dettagli completi

jackk87
05-03-2010, 12:31
Salve,
che connessione utilizzi per connetterti al db?che tipo di db utilizzi?posta la parte di codice su cui da errore... :)

joeykiske
08-03-2010, 09:02
:cry: la parte di codice non posso postartela poichè è 'random' dove si viene a generare l'errore..

per il resto :D ..in ordine sequenziale..

1)Connessione:
glo.pat = "c:\Payroll\DataBase\Paghe201002.mdb"
If db.State = 0 Then db.Open("Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & glo.pat)

2) tipo db:
Dim db As New ADODB.Connection()

:rolleyes: spero possa esserti d'aiuto..:cry:

joeykiske
10-03-2010, 08:07
Il problema si presenta con pc che utilizzano in SP3 ma non con il SP2..:confused:

MarcoGG
10-03-2010, 18:06
1)Connessione:
glo.pat = "c:\Payroll\DataBase\Paghe201002.mdb"
If db.State = 0 Then db.Open("Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=" & glo.pat)


glo.pat sarebbe...?
Spero si tratti della Property di una tua classe, e non di qualcosa come :
Dim glo.pat as String
:D


2) tipo db:
Dim db As New ADODB.Connection()


Perchè mai usi ADODB e non OLEDB ?
Dim CN As New OleDb.OleDbConnection

joeykiske
11-03-2010, 07:43
glo.pat è una variabile globale che mi permette di utilizzare più maschere/form contemporaneamente...o meglio successivamente..come fosse un thread:p

OleDb lo utilizzo nei programmi ma per la gestione diretta dei Db preferisco utilizzare AdoDb..

MarcoGG
11-03-2010, 09:08
glo.pat è una variabile globale che mi permette di utilizzare più maschere/form contemporaneamente...o meglio successivamente..come fosse un thread:p


E queste Form "contemporanee" magari fanno accesso allo stesso file .mdb ?
Perchè se è così i tuoi problemi al 90% dipendono da questo.


OleDb lo utilizzo nei programmi ma per la gestione diretta dei Db preferisco utilizzare AdoDb..


Questo non mi è chiaro.
Stai usando VB.NET con un file di Access, perciò è sempre preferibile usare solo codice e componenti gestiti.
Se usi ADODB e distribuisci l'applicazione su varie macchine e S.O., sei molto più esposto ad errori, anche "strani", dovuti proprio alle differenti versioni dei Microsoft ActiveX Data Objects che trovi nelle varie situazioni.
ADODB è obbligatorio con VBA, VB6 e precedenti. Non c'è nessuna ragione logica per farne uso con VB.NET.

joeykiske
11-03-2010, 10:45
E queste Form "contemporanee" magari fanno accesso allo stesso file .mdb ?
Perchè se è così i tuoi problemi al 90% dipendono da questo.


mi sono spiegato male..:D ..per passare da una form all'altra utilizzo queste variabili globali ;) ..ora provo a modificare il programma utilizzando OleDb..speriamo bene :mc:

Grazie comunque la possibile soluzione! :cincin: