Newsgroup: it.comp.lang.visual-basic
Titolo: [?] ma in inglese "Bidone" si dice "ADO"?

In questi giorni sto lavorando con ado e più vado avanti e più scopro buchi
enormi.
Ma come hanno fatto a non accorgersene?
Lavoro con un DB Access97.
Ho una tabella con un campo ID contatore che è anche la chiave primaria.
1)
- Faccio un Recordset.AddNew [...] Recordset.Update
- Access mi mostra l'aggiornamento perfettamente riuscito.
- Controllo il valore Recordset!ID... Null! Con tutto quello che ne consegue
(ovviamente la chiave si lega a tutta una serie di tabelle che non
coincidono più. E se non me lo aggiorna lui chi lo fa su un contatore?
- Ovviamente altre tabelle che sono una "copia" di questa funzionano
perfettamente.
2)
Altri casini di campi aggiornati che continuavano ad avere il valore vecchio
dopo l'Update sono già stati discussi.
3)
Questo però è ancora differente (nell'evento WillMove di un DataControl):
Recordset!Campo1 = Valore1
Recordset!Data = #data formattata correttamente#
[...]
Recordset!CampoN = ValoreN
- Tutti i campi sono stati aggiornati correttamente, il campo data no.
Contiene il valore vecchio, e non c'è verso! Aspetto un po' (sai il tempo di
scaricare la cache...) niente! GTRL+F9 (ci riprovo con l'assegnazione)
niente!
- Recordset.Update... niente!
Anche in questo caso ho dovuto eliminare il DataControl.
Per ora  basta... altre fantastiche avventure ci aspettano!
(MALEDIZIONE sto sprecando più tempo a fare dei Workaround per ado che a
scrivere l'intera app! Questo mi fa LEGGERMENTE inc@##@^e!)
Ciao

 coincidono più. E se non me lo aggiorna lui chi lo fa su un contatore?
Prova ad usare un puntatore keyset!
Ciao
Oz

Prova ad usare un puntatore keyset!
Noway!
E' esattamente la stessa cosa.
L'unica soluzione che ho trovato è un Requery subito dopo l'Update (spero
sia affidabile)
e poi che differenza c'è tra keyset e dynamic? La guida in linea non è molto
chiara...
Ciao

Alla faccia dell'evoluzione ... ma io non uso mai i controlli associati
/nessuno sa cosa fanno in realtà !)
..........
Davide

 ha scritto nel messaggio


 perfettamente.
sto leggendo il manuale by MS$ del DAO, e mi pare di aver letto che dopo
l'Update (effettuato dopo l'AddNew) il record corrente sia quello
_precedente_ all'AddNew; consigliavano di fare una cosa tipo
RecordSet.BookMark = RecordSet.LastModified
(dopo l'update)
Ciao
Faber

 w. shakespeare
Non era "Much ado about nothing" ?
Dimmi che hai sbagliato apposta altrimenti stasera non dormo :)

 Dimmi che hai sbagliato apposta altrimenti stasera non dormo :)
ehm, vuol dire che se ottieni una qualunque risposta dormi o che se mi sono
sbagliato non apposta non dormi ?
vedi sahib, al di qua dell'indo le notizie arrivano un po' confuse, e
l'inglese tira molto al pidgin. raramente mi alzo ormai a controllare la
fonte, pessima abitudine appresa grazie a internet, e, kreuzfeld o kronos
che sia, le sinapsi (*) si liofilizzano... forse abbiamo mixato con il
concert for bangla desh ?
(*) c@%%0, ma e' sempre colpa nostra? (nota delle sinapsi)
sogni d'oro, a.
ps - non per essere venali, ma sappi che con l'anda odierna il tuo buon
riposo mi costera' almeno 2-3 "il computer tin [in cui *il* vuole
evidentemente dire *l'unico* che la menzionata puo' permettersi per gli
abbonati clubnet] non risponde....". al prossimo dubbio ti spedisco
postacelere una bustina (di tisana) e/o passo a isdn :)
3, per l'esattezza, e inutili. ma c'e' tanta gente connessa all'una e mezza
?

Pal ... nei tuoi programmi ... se devi avvertire l'utente che il codice non
è valido cosa scrivi ?
immagino una cosa simile :
"Or dunque utente (sempre che utente non interferisca con il concetto di
utenza stabilito dalle pct.n4 [riferito all'oggetto non esposto])* è si
possibile scrivere il codice da te immesso ma non in questo frangente
{riferito allo spazio odierno} "
ca@@o ma non  puoi scrivere in modo comprensibile a noi terrestri ?
Ehhhh ... va beh .. quello che volevo dire l'ho detto ... me ne torno alle
mie sudate carte ...
Ciao Pal

(dopo l'update)
Ah, ma certo! come ho fatto a non pensarci prima? era così ovvio!
*##òç**@@ queste scuse le riesce a trovare solo  la M$!
Proverò.
Comunque il recordset è quello giusto: i valori degli altri campi è
corretto, solo alcuni (ovviamente a sua discrezione - probabilmente usa
all'interno la logica dell'Rnd) non vengono aggiornati.
Ciao (certo che se devono sostituire dao con questo coso qui siamo rovinati
[tranne la M$ si intende])

"Or dunque utente (sempre che utente non interferisca con il concetto di
io scrivo "L'u-tonto ha sbagliato!"

 Ciao Pal
spero che sia una metafora ( o una metoni'mia? in questo caso avrei qualche
dubbio... :) seno' con la biro...
coraggio agente mulder, agli extraterrestri dovresti esserci abituato...

virgolette...)
Tipico della N(ew) T(ecnology) di M$. Pensa che in usa viene fuori il
messaggio "the memory could not be <letta>/<scritta>"
:)

 messaggio "the memory could not be <letta>/<scritta>"
svelato l'arcano ! e' una tech little-italiana !
e soprattutto little-intelligente...

 e soprattutto little-intelligente...
^__________________^
Eppure il concetto di HumourFAQ[1], tipo quelle di ICS*...
C'è qualche volontario che ha tempo-voglia di farle ?
[1] per chi non sapesse di cosa parlo:
http://members.nbci.com/gouldukat/
e cercate HumourFAQ.
Bye, G.

 3, per l'esattezza, e inutili. ma c'e' tanta gente connessa all'una e mezza ?
Sai, tra pedofili e cacciatori di pedofili, dilettanti o professionisti
che siano, per gli onesti spupazzatori della rete resta ormai ben
poco spazio.

 >
verifica il tipo di cursore che stai usando

verifica il tipo di cursore che stai usando
E quale dovrebbe essere, allora, per connettersi a un DB locale?
Grazie.

Che versione di ADO?
DB Access97, ADO 2.5 / 2.5SP1
Ciao