Newsgroup: it.comp.lang.visual-basic
Titolo: Azione annullada da un ...

Azione annullata da un oggetto associato !
Visual basic 5
Faccio un Data1.recordset.Addnew
Modifico le testbox collegate 
Do un  Data1.recordset.Udate
Emi esce questo maledetto errore. Strano che ho sempre fatto cosi e
ora su una form propeio non vuole andare.
E forse una nuova featur di Visual Basic 5 ?????????
Aiuto Aiuto Aiuto Aiuto Aiuto Aiuto Aiuto 
Antonio Tanzillo  
a...@netgroup.it

 ora su una form propeio non vuole andare.
a me succedeva anche con vb4, poi ho spostato il codice che valorizzava la
stringa SQL e il refresh del data1 nella form_activate (e l'ho tolta dalla
onload) e poi tutto ha funzionato.

> Azione annullata da un oggetto associato !
Probabilmente e' un campo text o label associato al controllo data a
dare fastidio.
Prova a rimuoverli uno alla volta e vedrai che risolvi il problema.
(la migliore soluzione pero' e' di usare i campi text o label
"unplugged" dal datacontrol.

Antonio Tanzillo ha scritto:
Per prova ho tolto tutti gli indici che riguardano la tabella in
questione. Stesso problema.
Adesso ho isolato i campi che mi causano il problema .
Nome    Tipo    Dimensione 
DATA_DAL    DATE  
DATA_AL       DATE
PREZZO        DOUBLE 
Gli altri campi sonodi tipo testo e non danno problemi.
Appena piazzo una TextBox Con Datasource=DATA1 e DataField=DATA_DAL
succede il casino.
Addirittura il campo prezzo mi da errore nel l'interrogare il Type
? DS("PREZZO").Type      
   Elemento non trovato in questo insieme 
? DS(11).NAME
  PREZZ0
Data1.recordset viene passato come parametro ad una sub che lo riceve
come  ... ,ds as dynaset, ... La sub elabora tutti i campi tranne
PREZZO.
ma che cazzo devo fare adesso !
Antonio Tanzillo  
a...@netgroup.it

Accidenti! Capita anche a me da qualche giorno.
Miki Cozzolino  
miki....@iol.it

Visual basic 5
Sostituendo con dei  TextBox i MaskedBox non c'e' piu'  il problema
(azione annullata ...). Ripeto che in altre form molto piu' complesse
ci sono una miriade di maskedBox che non danno problemi.
 In questa form pero'  i campi date e numerici debbono essere riempiti
per forza, altrimenti non funzionano correttemente.
Rimane il problema del campo Prezzo, un double normalizzimo aggiunto
da qualche giorno non viene visto nel recordset  dove lo interrogo per
avere il size.
Nel caso ci fossero dll aggiornate queste sono le mie 
MSJET35  DLL     1.045.776  25/08/97  13.55 MSJET35.DLL
MSJETERR DLL        11.232  12/01/96   0.00 MSJETERR.DLL
MSJETINT DLL        18.560  12/01/96   0.00 MSJETINT.DLL
Aggiornate prima da Vbsp2 e poi da jet35upd.exe (Microsoft
softlib\msfiles)
MSMASK32 OCX       166.160  19/07/97  17.00 MSMASK32.OCX
MSMASK32 OCA        20.992  07/07/97  20.18 MSMASK32.oca
MSMASK32 DEP         2.495  19/07/97   9.54 MSMASK32.DEP
Forse dovrei mettere qualcosa nel valitate del datacontrol ?
E, visto che i problemi arrivao a frotte, mi capita un'altra cosa
strana.
Un record ha un campo fuori uso, ovvero con dati senza senso.
 Lo edito da VB, VisData o  Access 97 e mi esce errore di pagina nel
modulo MSJET35.DLL
Ho fatto anche la compattazione ed il recupero senza esito.
Addirittura il contenuto del  campo varia a seconda delle modifiche
che faccio sugli altri campi dello stesso record. Non si riesce
ovviemente a cancellare l'intero record ne il singolo campo dalla
tabella.
Insomma il record non si tocca !!!!!!!
Antonio Tanzillo  
a...@netgroup.it

ora su una form propeio non vuole andare.
Spesso l'errore esce perchè i dati che tenti di inserire non piacciono
al database sottostante.
Ad esempio se un campo è required e tu non lo fornisci, o se tenti di
inserire una stringa di lunghezza zero in un campo che non la accetta.
Altre cause si possono cercare in sequenze perverse (e non previste)
di routines che vengono chiamate senza che tu te ne accorga.
Ciao
--------------------------------------------------------------------
Fulvio Senore
Eliminate "zz" dall'indirizzo e-mail per scrivermi (spammers...)
Remove "zz" from e-mail address to write me (spammers...)
--------------------------------------------------------------------

per forza, altrimenti non funzionano correttemente.
Questo e' capitato anche a me.
JET non accetta dichiarazioni tipo Data1.recordset!Data_Dal=Null o
equivalenti. Ho DOVUTO sganciare il controllo che mi gestiva il campo
"Data_Dal" dal data control  in modo che l'update non lo riguardasse, poi
dopo l'update dei campi associati ai controlli eseguivo manualmente
l'istruzione SQL "UPDATE Tabella SET Data_Dal=Null". Questo anche se il
controllo che mi gestiva la data conteneva "".
Credo sia un problema legato ad Access perche' con SQL Server non mi e' mai
successo.
Andrea.

inserire una stringa di lunghezza zero in un campo che non la accetta.
Questo errore e' una bug di quelli piu idioti che si poteva creare
(difatti e' stato creato).
In un MskEdBox collegato ad un data control ad un Campo numerico o
DateTime se lo lasci vuoto va tutto bene, altrimenti:
1) Immetti un valore e poi lo togli prima si salvare 
2) Togli un valore ma prima c'era qualcosa
esce lo stramaledetto errore Azione annullata da un oggetto associato
e il salvataggio dela record e' annullato.
Come posso forzare la memorizzazione dato che tutti i tati sono
corretti ??????????????????????????
Antonio Tanzillo  
a...@netgroup.it

al database sottostante.
Il problema sta nella possibilita di annullare un valore preesistente
per i tipi numerici e date. E' praticamente inpossibile usando il
datacontrol.
Antonio Tanzillo  
a...@netgroup.it




...
