Newsgroup: it.comp.lang.visual-basic
Titolo: Errore "Object variable... " ma che roba è ?

Ave a tutti !
Premetto che sono un super-principiante.
Ho scritto un programmino in VB 6 che si collega ad un database
di Access.
Tutto funziona bene finchè gira nel sistema operativo dove ho installato
il VB6 , ma quando lo porto su di un altro Pc iniziano le rogne !
Rogna N1 : Errore 3706 ( non trova il provider) , qui ho trovato un po' di
vecchi post sul ng;
si fa riferimento alla stringa di conessione dove:
"PROVIDER=Microsoft.Jet.OLEDB.3.51;....."
poichè da, ciò che ho capito, il  Microsoft.Jet.OLEDB.3.51 è passato negli
ultimi
anni alla versione 4.0 allora ho cambiato ogni stringa di connessione del
progrmma
in :
"PROVIDER=Microsoft.Jet.OLEDB.4.0;....."
Morale......non ho più Errore 3706  me me ne vengono una valanga di altri:
- Type Mismatched
- run time error 3264 "impossibile trovare l'oggetto nell'insieme
corrispondente"
- run time error 214724.... "si sono verificati errori in un'operazione OLE
DB composta da più
passaggi.......bla bla e bla "
insomma, mi sa che ho fatto peggio :-(
Rogna N2 : pur essendo il database popolato , quando si tratta di aggiornare
una qualche modifica  mi da un'errore di sto tipo:
"Object variable or With Block variable not set".
E' già da una settimana che ci perdo le notti....ma a cosa serve un super
ambiente di sviluppo strafichissimo se poi, il progrmma funziona bene solo
lì!
Mannaggia :-(
Ciao ed un grazie a chi mi da qualche dritta !
LicheIgor

 il VB6 , ma quando lo porto su di un altro Pc iniziano le rogne !
Incredibile..... mai successo....a nessuno....non ci credo...
A parte gli scherzi, penso di poterti dare solo un consiglio: prendi un buon
libro e comincia a studiarlo.
Non č per spocchia, č che per ritrovare il bandolo della matassa di casini
nella quale ti sei ficcato, un NG non č certo lo strumento piů efficace.
Salutoni
Sergio

 nella quale ti sei ficcato, un NG non è certo lo strumento più efficace.
 ci sono libri che trattano dei problemi che sorgono quando si
installa il programma su altri PC ????
Dammi qualche titolo (ti prego) che sono ai ferri corti con sto software
!!!!
BTW ho provato ad installare MDAC_typ ( la versione 2.0) ed il programma
non da più l'errore 3706  ( EUREKA EUREKA ) ma tira fuori un l'errore
"run time 214721...... errori in un'operazione OLE DB....." , qui non è più
finita :-(
Ciao e grazie
LicheIgor

 BTW ho provato ad installare MDAC_typ ( la versione 2.0)
mi pare che sul sito microsoft ci sia la 2.7
poi: hai installato sul pc "target" anche il jet 4.0 ? (sempre disponibile
sul sito microsoft)
Salutoni
Sergio

 sul sito microsoft)
Il mio programma si collega ad un database di  Access'97 (con più tabelle)
per cui la stringa di connessione è :
"PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=C:\pianeti.mdb;
( in realtà ho una seconda versione del progamma in cui ho sostituito 3.51
con 4.0 in ogni stringa di connessione)
Deduco che il Pc "target" deve avere Microsoft.Jet 3.51 e non jet
4.0.
Cmq ora il Pc "target" le ha entrambe (dato che ho due versione del prgm) :
jet3.51  l'ho installata con MDAC_typ ( versione 2.0 poiche la 2.1 installa
già
jet 4.0 e dalla 2.6 in poi non installa più componenti jet)
jet4.0     deve essere stata installata durante l'installazione di Access
XP.
Infatti ora ( per entrambe le versioni del prog) non ho più l'errore 3706
ovvero
" provider non trovato" !!!
Ho, invece :
a) quando provo ad aggiornare un campo del database mi da:
    "Object variable or With Block variable not set"
b) durante l'esecuzione di una routine che prevde l'aggiornamento del
   database : " run time error 214724.... si sono verificati errori in
un'operazione OLE
    DB composta da più passaggi.......bla bla e bla "
Perciò deduco che il collegamento al provider funziona.....ma non bene!
Sai se esiste un tutorial on-line che tratti di Pacchetti di Installazione ,
forse
mi manca qualche libreria.....mah !
ciao e grazie dell'aiuto !
LicheIgor

     DB composta da piů passaggi.......bla bla e bla "
mah... non so cosa dirti, anche perchč, se sei sulla macchina "target", non
sei sicuro di sapere quale sia la riga in cui viene generato l'errore. Anche
perchč, cosě a occhio, gli errori che ti vengono segnalati sembrano
"indipendenti" dall'ambiente di esecuzione: l'errore
 "Object variable or With Block variable not set"
vuol dire che stai usando un oggetto che non hai istanziato: a mio avviso,
se tu avessi dei problemi relativi all'ambiente in cui giral'applicativo,
l'errore ti verrebbe segnalato quando lo istanzi, non quando cerchi di
usarlo...
anche l'errore
 " run time error 214724.... si sono verificati errori in un'operazione OLE
DB composta da piů passaggi.......bla bla e bla "
di solito č dovuto al fatto che stai inserendo in un campo stringa di
lunghezza max 10 caratteri una stringa lunga 11 op piů...
Resto perplesso
Salutoni
Sergio

 anche l'errore
non so proprio che dire...ora funziona perfettamente e non ho
toccato il codice..............'ste cose sono
quelle che mi fanno +  icaXXare......come diceva il mio prof. di
impianti meccanci : " Il computer xe peso dee done" ( per chi non
è veneto :"il cumputer è peggio delle donne" ).
Cmq grazie sei stato molto gentile !!
Ciao
LicheIgor

Ah, un'altra "stranezza" , durante l'installazione del prog
mi da
un errore durante la registrazione di "msado20.tlb" , ma
io sceglo "ignora" e tutto fila liscio....fiuuuu !!
Ciao
LicheIgor

 un errore durante la registrazione di "msado20.tlb" , ma
cercati i vecchi post su google, e scoprirai il perchè
Un sergio sibillino.....

 cercati i vecchi post su google, e scoprirai il perchè
Ho trovato , per ora non cambio nulla ....troooppo pigro  :-)
Sono già troppo contento che funzioni ^__^
Ciao
LicheIgor