Newsgroup: it.comp.lang.visual-basic
Titolo: ADO 2.5 SU W98 E W2000

Ho il seguente quesito:
Ho una banale maschera di inserimento dati, in cui uso controlli text
unbound.
Quando esegui il salvataggio dei dati nella tabella su macchine con S.O. W98
esce il seguente messaggio:
"Si sono verificati errori in un'operazione OLE DB composta da più passaggi.
Controllare i singoli valori di stato OLE DB, se disponibili. Nessuna
operazione eseguita."
La configurazione del Pc sul quale sviluppo è la seguente:
W2000 SP2, VB6 SP5, Database : Access 2000,MsADO 2.5.
Sul Pc W98 ADO 2.5 è installato correttamente.
Suggerimenti ?
Ciao a presto
Alessandro

 Suggerimenti ?
Sě: Forse stai inserendo in un campo piů caratteri di quanto ne preveda.
oppure non sei a posto con i SP.
Se č MySQL cerca quel simpaticone di Neo (o Nio, o Domenico, o ]NEO[, o
...).

 ...).
Ho fatto un controllo sul codice:
L'errore viene fuori quando inserisco una stringa vuota ("") in un campo di
testo del database.
Ho aperto il database Access 2000, ho controllato i campi stringa e alla
voce
consenti lunghezza zero č impostato 'Si'.


 Suggerimenti ?
Ci sono numeri con cifre decimali o date nella composizione della stringa
dell'insert?
Ciao
Alberto

 ha scritto nel messaggio
news:7s8Ra.179157$lK4.5...@twister1.libero.it...

puoi postare la stringa che usi?

> puoi postare la stringa che usi?
dim tmprec as new adodb.recordset
with  tmprec
       .activeconnection = connes    '    gia esistente
       .open ="select * from tabell"
       .addnew
       ...
       .fields("campox")=""              '    l'errore si verifica qui'
       .update
end with

 ha scritto nel messaggio
news:qI8Ra.179186$lK4.5...@twister1.libero.it...


[iromanos] scrisse:

ehm, non c'entra nulla con il problema esposto, ma....
connes, che è già esistente (come dici tu), che cosa è? Se è una stringa di
connessione, tutto ok, se è una connessione già aperta, ti informo che
l'istruzione
        .activeconnection = connes    '    gia esistente
così come è scritta, genera un inutile spreco di risorse.
Salutoni
Sergio

 ha scritto nel messaggio
news:qI8Ra.179186$lK4.5...@twister1.libero.it...

ops...
no, volevo sapere... che cursore usi??? E che tipo di Lock imponi al
database? Se per caso ADO imposta da solo adLockReadOnly come tipo di lock
(anche se il predefinito è adLockUnspecified), sei fottuto... poi boh... mai
avuto sto tipo di errore!!! ;)
E poi una cosa... ma che cazzo di ADO usi te??? Mai visto il metodo Open che
prende = (dato che non è una proprietà ma una Sub!)...
poi per l'assegnazione dei valori puoi anche fare recordset("nomecampo") =
"ciao", non importa che metti fields! ^_^ Ma poi non è che ci sono ALTRI
campi che devono essere riempiti nella tabella? Con AddNew crei un nuovo
record con tutti i valori per i campi = Null! Okkio!
Ditemelo se sto scrivendo bufale! ^_^ ciao!


mi immagino che prima e dopo campox ci siano altri campi e quelli li
aggiorni no???? Hai provato?
Che il cursore insomma non sia readonly anche no?(scusa le domande sega ma
non si sa mai)
Campox fa parte di un vincolo di integrità referenziale???
ops...scusa eh! osservo bene ora.....
l'errore lo fa a campox=""
o in Update????
se lo fa in update....non imputi tutti i campi!o meglio ...lasci vuoti campi
che lui invece vuole pieni di qualcosa
considera che se fai SELECT * FROM prendi tutto il record
se imputi campox ma non ad esempio CodCliente o che so CodScheda che lui
richiede si incazza !si! e fa anche bene! lo DEVE FARE! devi riempire tutti
i campi che sono obbligatori....!!!Occhio che anche le chiavi talvolta son
impostate obbligatorie oltrechè univoche (almeno dovrebbero!poi si vede di
tutto!)!
Bye man
;-)
--
Il Wodkino Nazionale è a : 
www.martek.it
Pagina Vb/Bestiario/Lamer Experience :
http://www.martek.it/go.asp?portamia=2
 Quotefix e altro:
http://www.martek.it/go.asp?portamia=4
Usr: ICLVB Pw: amici

 così come è scritta, genera un inutile spreco di risorse.
Fino a ieri usavo DAO ,magari qualche cavolata ...
Io apro una connessione al database nel Form_Load e la uso all'interno del
modulo con
i vari recordset.E' una stupidata ?Non è peggio se ogni volta apro un
recordset creo una
nuova connessione al database ?
Ciao
Alessandro

 ha scritto nel messaggio
news:qI8Ra.179186$lK4.5...@twister1.libero.it...

perchè non sostituisci il tutto con la sintassi della INSERT?
a parte questo se ci metti uno spazio ti da comunque errore?

 i vari recordset
eh eh eh... questo è quello che credi di fare... ed è quello che faresti se
tu anteponessi la keyword set all'istruzione.
prova a dare una riletta ai temi riguardanti le proprietà predefinite in vb.
Salutoni
Sergio


Ma tu ogni volta che apri un recordset apri una nuova connessione, come ho
visto nel tuo codice.
Comunque ho visto, nel tuo codice, che utilizzi molto le proprietà
predefinite, per cui di questi casini ne farai a vita. Inutile preoccuparsi
per questo, che tutto sommato potrebbe anche non crearti problemi.
Anche perchè, basta riflettere qualche decimo di secondo: se la connection è
un oggetto, com'è che non c'è il set davanti all'istruzione?
Non è che stai forzando l'utilizzo di una proprietà predefinita?
Magari di tipo Stringa?
Ciao
Alberto

 prende = (dato che non č una proprietą ma una Sub!)...
Scusa, mi sa che devo andare in fiere ...
cursore = adOpenDynamic
lock= adLockOptimistic
Adesso sono andato sul sito MS per controllare il SP di ADO2.5
Speriamo ...
Grazie a tutti
Alessandro

Ringrazio tutti quanti per la collaborazione, ho trovato la soluzione.
Dopo avere scaricato l'ennesimo SP di ADO tutto funziona regolarmente.
Grazie a tutti e buon lavoro
Alessandro