Newsgroup: it.comp.lang.visual-basic
Titolo: Delucidazioni per 'Recordset.Status' e Access.....

Buongiorno a tutti.....prima o poi smetterò di pormi tutti questi problemi e
passerò a un dbase più serio per quanto riguarda i PC......cosa mi
consigliate???il mio problema è il seguente dovrei testare tramite la
propietà 'Status' se il recordset è in fase di modifica o in fase di
inserimento, rispettivamente 'AdRecModified' o 'AdRecNew' ora io non capisco
se sono io che sbaglio o è Access che fa così schifo che non va daccordo con
ADO....io faccio, esempio:
-----------
rs.addnew
rs.status  = adrecnew then
    msgbox"Inserito nuovo record"
end if
-----------
[RUN]
risultato rs.status = adrecok
perfavore ditemi dove sbaglio.....
GRAZIE A TUTTI
ANDREA

 ha scritto nel messaggio
news:ap6a6n$848$1...@nntp.weblinea.it...

Lo Status (come lo State) del recordset è una maschera di bit.
Devi testare bit per bit:
If CBool(rs.Status And AdRecNew) then ....
oppure
If CBool(rs.Status And AdRecModified) then ....
Ciao
Alberto

Ho fatto diverse prove e mi sembra che il problema non sia del DBase ma
proprio di ADO xchè non funziona neanche con SQL Server......ma ho visto che
funziona se uso un RS disconnesso....se qualcuno mi può aiutare a capire
dove sbaglio....le sarei grato
GRAZIE A TUTTI
ANDREA

 Alberto
Ho provato a fare anche in questo modo ma non funziona....però come ho
scritto nel post seguente se uso un rs dissocciato funziona senza
problemi.....a te funziona ???Se si potremmo confrontare i due diversi
codici......intando che Dbase usi???
GRAZIE ANCORA
ANDREA

 Ho provato a fare anche in questo modo ma non funziona....
In tre post non hai detto cosa intendi per 'non funziona'.
Ti dà errore? Allora posta l'errore.
Non verifica mai l'espressione? Allora metti un breakpoint, leggi il valore
di Status, premi F2, leggi le costanti, e ricava quale combinazione è
attiva.
Se lo stato che cercavi era vero, allora è sbagliato il codice, da qualche
parte.
Se lo stato che cercavi era effettivamente falso, allora stai facendo
confusione di logica.
Senza informazioni, di più non so dirti.
Comunque Status e State possono essere valutati con = solo per le costanti
che valgono zero, o quando non si vogliono accettare altre combinazioni di
stati.
Il fatto che vada col disconnesso è perchè, credo, c'è qualche stato che si
attiva se sei connesso.
Ciao
Alberto

 attiva se sei connesso.
[CUT]
Nel primo post ho fatto l'esempio dove dico che mi da 'ADRECOK'  invece di
'ADRECNEW' forse non sono stato troppo chiaro....cmq forse ho capito il
problema correggimi se sbaglio.....fino ad ora aprivo il RS come
'AdLockPessimistic' o 'AdLockOttimistic' e non andava se invece apro con
'adLockBatchOptimistic' il tutto funziona come dovrebbe, penso che sia un
problema di sincronia, tra il DBase e ADO, altro non mi viene in mente....se
scopro qualcosa d'altro ti farň sapere....
GRAZIE ANCORA PER IL TUO AIUTO
CIAO
ANDREA

 ha scritto nel messaggio
news:ap6co1$chl$1...@nntp.weblinea.it...

Amico mio ...non voglo fare sempre il solito ma......
ho "aggieggi" a caso oppure hai copiato male la guida!
Siccome può darsi che la guida non la abbia neanche aperta (o forse non
l'hai installata....)
ti posto la pagina che si ottiene schiacciando F1 (parlo di schiacciare per
una pressione nervosa)
e cercando "Status proprietà"
Proprietà Status (ADO)
Indica lo stato del record corrente in relazione agli aggiornamenti in
modalità batch o ad altre operazioni di gruppo.
Valore restituito
Restituisce la somma di uno o più dei seguenti valori di RecordStatusEnum.
CostanteDescrizione
adRecOKL'aggiornamento del record è riuscito.
adRecNewIl record è nuovo.
adRecModifiedIl record è stato modificato.
adRecDeletedIl record è stato eliminato.
adRecUnmodifiedIl record non è stato modificato.
adRecInvalidIl record non è stato salvato perché il segnalibro non è valido.
adRecMultipleChangesIl salvataggio del record non è stato eseguito poiché
avrebbe riguardato più record.
adRecPendingChangesIl record non è stato salvato poiché si riferisce a un
inserimento in sospeso.
adRecCanceledIl record non è stato salvato poiché l'operazione è stata
annullata.
adRecCantReleaseIl nuovo record non è stato salvato a causa del blocco dei
record esistenti.
adRecConcurrencyViolationIl record non è stato salvato poiché era attiva la
concorrenza ottimistica.
adRecIntegrityViolationIl record non è stato salvato a causa della
violazione dei vincoli di integrità da parte dell'utente.
adRecMaxChangesExceededIl record non è stato salvato a causa di un numero
eccessivo di modifiche in sospeso.
adRecObjectOpenIl record non è stato salvato a causa di un conflitto con un
oggetto di memorizzazione aperto.
adRecOutOfMemoryIl record non è stato salvato poiché la memoria necessaria
non è sufficiente.
adRecPermissionDeniedIl record non è stato salvato poiché l'utente non
dispone delle autorizzazioni sufficienti.
adRecSchemaViolationIl record non è stato salvato poiché viola la struttura
del database di origine.
adRecDBDeletedIl record è già stato eliminato dalla fonte dati.
Osservazioni
La proprietà Status viene utilizzata per visualizzare le modifiche in
sospeso per i record modificati durante l'aggiornamento in modalità batch. È
possibile utilizzare la proprietà Status anche per visualizzare lo stato dei
record che presentano problemi durante l'esecuzione di operazioni di gruppo
come ad esempio quando vengono  richiamati i metodi Resync, UpdateBatch o
CancelBatch su un oggetto Recordset oppure quando la proprietà Filter per un
Recordset viene impostata su una matrice di segnalibri. Questa proprietà
consente di stabilire la causa dell'errore di un determinato record e
correggerlo di conseguenza.
....io non aggiungo altro!.....mi sembra chiaro oltre misura!
Ciao!
----------------------------------------------------------
Tutti siamo liberi...anche di non premere F1!
Ma se lo premiamo...
ci liberiamo dalle domande stupide!
----------------------------------------------------------
(M.M.)

 e cercando "Status proprietà"
<<<<<AMICO MIO ti ringrazio per la tua risposta scusa se ho letto sia la
guida in linea che il libro di Balena in modo poco ATTENTO.....infatti non
avevo mai fatto caso a quello che ora tu mi scrivi....sono proprio
accecato....cmq se leggevi il post prima di questo che era l'ultimo post che
ho mandato ieri sera alle 17.30 di ieri ti accorgevi che c'ero arrivato
ugualmente a questa soluzione anche con la mia disattenzione nel leggere le
guide o i libri.
Cmq ti ringrazio mi hai fatto notare una cosa che non avevo notato...scusa
il gioco di parole
P.S.Cmq mi sembra che ormai in questo forum sia di moda dare per scontato
che tutti quelli che postano non abbiano mai aperto la guida o un
libro.....invece io penso che i forum esistano appunto anche per sciogliere
i dubbi...anche i più stupidi......e parlando del mio caso non solo quando
posto prima vado a farmi un giro su Google ma se vedi Posto molto poco
tranne in questi giorni....i problemi cerco di risolvermeli da solo come
fanno tutti del resto....ma quando ho qualche dubbio vengo sul forum per
confrontarmi con altri e perchè no imparare cose nuove.
GRAZIE ANCORA
ANDREA

 ANDREA
.....Stai manzo Andrea ....non ti arrabbiare o urlare per cosě poco!Prendila
con ironia....alla fine non sai qualcosa in piů??
(e benchč Balena sia un grande....ricordati che va al gabinetto come
noi!...non č infallibile!)
Ciao! :-)

 P.S.Cmq [...] invece io penso che i forum esistano appunto anche per
[...]
    A parte la questione relativamente rilevante che questo e' un newsgroup
e non un forum...
    Beato te che sai perche' esistono i newsgroup!... In realta' l'unica
cosa che e' dato sapere e' quando come perche' e da chi essi siano stati
creati.
    Tutto quello che succede dopo quell'istante e' nei polpastrelli dei
frequentatori. Quindi poca importa cio' che pensi tu. O io. O chiunque.
Conta solo cio' che scriviamo.
    Quindi non aspettarti, e non pretendere, che cio' che scrivono gli altri
frequentatori aderisca allo spirito di cio' che pensi tu.
    Preoccuparti solo di cio' su cui tu puoi realmente ed effettivamente
esercitare un controllo: cio' che *tu* scrivi. Fa' in modo che questo sia
coerente con cio' che *tu* pensi ed avrai fatto la tua parte. La cosa
giusta, come amano dire gli statunitensi, che di queste cose se ne
intendono.
--
Ciao :-)
Maurizio
--------
?SPQR(C)
 X
--------

 di queste cose se ne intendono.
Ehm non riesco a trattenermi... che si intendono di usenet o di cose giuste?
;)

 > Maurizio Borrelli:

    Ti capisco. Io stesso, prima di inviare, sono rimasto col dito sospeso
sul tasto per almeno 12 secondi, domandandomi se avessi scritto la cosa
giusta...
    L'esito della mia lunga meditazione e' stato questo: si', invio cosi'
come sta perche' e' incontestabile che gli Stati Uniti sono la nazione in
cui i concetti di liberta' e di responsabilita' individuale, come oggi noi
li concepiamo, sono nati e si sono sviluppati.
    Fino a prova contraria, Franco, Hitler, Mussolini, Stalin, in rigoroso
ordine alfabetico e limitandomi ai piu' "grandi", sono fotografie che
abbiamo strappato dal *nostro* album di famiglia e messo in un cassetto
segreto per evitare l'imbarazzo di dover dare spiegazioni ai nostri figli e
nipoti.
    (Ma... sbaglio oppure oggi c'e' perfino qualcuno che ha gia' riaperto
alcuni di quei cassetti? Ed invece delle vecchie foto, grazie alle moderne
tecniche di computer grafica, ha incollato al loro posto una versione a
colori, restaurata ed imbellita.)
----------
Captain Koons: The way your dad looked at it, this watch was your
birthright. He'd be damned if any of the slopes were gonna get their greasy
yellow hands on his boy's birthright. So he hid it in the one place he knew
he could hide something: his ass. Five long years, he wore this watch up his
ass. Then when he died of dysentery, he gave me the watch. I hid this
uncomfortable piece of metal up my ass for two years. Then, after seven
years, I was sent home to my family. And now, little man, I give the watch
to you.
http://us.imdb.com/Title?0110912
