Newsgroup: it.comp.lang.delphi
Titolo: dataset not in edit or insert mode

In un AdoQuery su tabella Access sto ottenendo un "dataset not in edit or 
insert mode" quando l'istruzione Edit e' presente, non riesco a capire cosa 
sia. L'errore esce in occasione del Post.
Giorgio 

 cosa sia. L'errore esce in occasione del Post.
Dimenticavo che le operazioni di scrittura dei campi vengono regolarmente 
eseguite.
Giorgio 

 sia. L'errore esce in occasione del Post.
Anche se l'istruzione Edit è presente, non è garantito che il DataSet si 
trovi nello stato di modifica nel momento in cui viene effettuato il Post.
Verifica che non vi siano eventi correlati al DataSet che annullano la 
modalità "edit", se inserita, facendo quindi fallire la chiamata al 
metodo Post.
Ciao,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)

 sia. L'errore esce in occasione del Post.
Non e' che hai fatto un next o altre operazioni che hanno il post 
implicito ?
-- 
================================================================
Alberto Rubinelli - A2 SISTEMI 
news.aioe.org
 ThunderBird 2.0.0.4
Via Costantino Perazzi 22 - 28100 NOVARA - ITALY
Tel 0321 640149   Fax 0321 391769   BBS 0321 392320
Mail: 
alb...@oldcomputers.de
skype: albertorubinelli  ICQ : 49872318
Visita il mio museo di computers: 
http://www.oldcomputers.it
================================================================

 implicito ?
No questo no, ci sono in mezzo delle assegnazioni ai campi e una stampa con 
Rave Report che voglio provare a togliere per capire se dipende da questa, 
domani mattina provo,
Grazie a entrambi, Giorgio 

 sia. L'errore esce in occasione del Post.
Che significa "l'istruzione Edit č presente"?
E che vuol dire "in occasione del Post"?
Ti sei assicurato, prima di fare il Post, che il dataset sia in stato
dsInsert o dsEdit? Tu stai cercando di fare il Post su un dataset che č
presumibilmente in stato dsBrowse.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 domani mattina provo,
Beh, se c'e' in mezzo una stampa allora e' quasi sicuro ...
la stampa probabilmente (ma confermalo tu) scorre tutti i record o alcuni.
In ogni caso, le operazioni di spostamento del record attivo, causano il 
post implicito, quindi quando fai il post tu, non c'e' trippa per gatti :)



In effetti era il Rave Report, mentre prima col FastReport che ho sostituito 
il problema non si presentava, Giorgio 

 il problema non si presentava, Giorgio 
Il fatto che un DataSet venga utilizzato sia per la modifica dei dati 
sia per la stampa, e apparentemente in un contesto molto vicino, secondo 
me è un'impostazione molto rischiosa.
Credo sarebbe meglio disporre di due DataSet dedicati alle specifiche 
funzionalità, per sicurezza.


if not (dataset.State in [dsinsert,dsedit]) then
  dataset.Edit;
usi  questo prima di operare con il dataset e risolvi il
problema...almeno io faccio cosi...
ciao

   dataset.Edit;
Ci deve essere una costante (dsEditModes) che rappresenta l'insieme
   [dsInsert, dsEdit]
ed è quindi utilizzabile direttamente al posto dell'espressione sopra, 
anche se secondo me il problema originale risiede in un utilizzo 
improprio (a livello di concomitanza di ambiti, "editing" e stampa) dei 
componenti DataSet di riferimento.


 domani mattina provo,
brrrrr.. e non solo x l'influenza....
1) sostituire fastreport con rave... puah!
2) in un solo colpo modificare e stampare...
Se devi farlo  PER FORZA, ok, ma se puoi evita questa cosa....
Non so pensare a cosa potrebbe succedere se fai il post sul dataset
dopo la stampa e la stampa va in eccezione...
Pax vobiscum.
A.