Newsgroup: it.comp.appl.access
Titolo: Problema con proprietà interne di maschera (me.recordset.absoluteposition ecc...)

Buona domenica a tutti intanto.
Sono alle prese con una semplice (ma altrettanto martoriante) maschera di inserimento clienti.
Se sono all'inserimento del primo cliente ed annullo l'azione, sul beforeupdate forzo il cancel=true 
e chiudo la maschera. Tutto OK
Se sono all'inserimento dal secondo cliente in poi, tutto va liscio, come l'annullamento anche.
Se inserisco il primo cliente e lo memorizzo (ho provato con i più svariati metodi, dal Me.Refresh 
al DoCmd.GoToRecord acnewrec, dal Me.Refresh e Me.Requery ecc... insomma un pò di combinazioni tutte 
funzionanti per carità, dato che forzano l'aggiornamento nel record, sbaglio?), poi quando torno al 
primo record (che fatalità è lo stesso, guarda un pò) il metodo DoCmd.GoToRecord acFirst non ha 
alcun effetto in quanto non c'è movimento di cursore.
Se mi muovo sul nuovo e poi torno indietro mi nascono i casini più disparati, se lancio un requery 
mi saltano le proprietà del recordset che diventano inaffidabili (absoluteposition=-1 anche se sono 
sul primo record).
Il discorso è che a me interessa richiamare Form_Current, che al suo interno usa proprio quesa 
proprietà per valutare sul da farsi (abilitazione di pulsanti e di caselle, ecc ecc....)
Che sia il caso di chiudere la maschera e di riaprirla? O qualcuno usa altri sistemi più affidabili 
e meno complessi?
Michele
---------------------------
Michele (Giò)
joyl...@alice.it
 

Michele (Giò) ha scritto:

Non ho capito il problema...!
Che devi fare su Current che ti complica così tanto la vita...???
@Alex

 ha scritto nel messaggio 
news:1165146304....@79g2000cws.googlegroups.com...
......................................
Non ho capito il problema...!
Che devi fare su Current che ti complica così tanto la vita...???
@Alex
Siccome ho inserito dei mega tastoni di scorrimento record, su evento Current ho bisogno della 
proprietà absoluteposition combinata con il recordcount per visualizzare o meno i tasti nel caso ci 
si trovi nel primo o nell'ultimo record. Comunque, dopo 4 ore (4 ORE!) forse sono riuscito a 
risolvere il problema, e ti dico come.
Su Salva_Click ho messo
Me.Refresh
(che salva le modifiche nel record passando per l'evento BeforeUpdate che gestisce la validazione)
If Me.Form.RecordsetClone.RecordCount = 1 Then
      Me.Requery
Else
      docmd.GoToRecord acDataForm, "Clienti", acFirst
End If
------------------------------------
se la tabella origine ha un solo record, quello che ho appena immesso, dopo il refresh 
l'absoluteposition del record di maschera si trova sfalsato (-1, record nuovo?, dovrebbe essere su 
0, ma il bello è che in contemporanea il Me.NewRecord va a false, che è giusto, c'è un'incongruenza) 
e lanciando un requery non solo sistemo la proprietà (che va a 0, giustamente primo record) ma 
attivo il Form_Current che quindi si trova la proprietà giusta e opera correttamente.
Se invece la tabella ha 2 o più record, invece del requery vado direttamente al primo record, che 
automaticamente sistema l'absoluteposition e chiama il current.
Fin dall'inizio, lo scopo era di muoversi sul primo record dopo aver inserito un nuovo record, ecco 
il perchè di tanto casino.
Grazie comunque. Certo che non è la prima volta che l'absoluteposition mi crea dei proiblemi...... 
ma non solo in questa situazione.
Michele

Michele (Giò) ha scritto:
[CUT]
Non sono riuscito a capire il problema......
A mio avviso ti stai infilando in un problema che non esiste...!
Non capisco perchè fai un doppio test su before_update(e questo mi
stà bene
se devi validare il dato) e Current(questo invece non mi torna)....!
Dopo aver fatto generare il Salva, che si ottiene semplicemente facendo
terminare l'evento Before_Updtate che complicazione ti sei
inventato...?????
Boh....
Nel SitoComune c'è un mio demo(ormai è vecchiotto, ma l'idea la rende
bene) che gestisce i Pulsanti di Edita/Salva/Delete ed altri come fosse
un Addin...!
Ti basta dargli un'occhiata e vedi come avviene la gestione ...., non
sò se ti sarà utile, ma non mi pare
sia una cosa così astrusa....
Sezione FORMS
3.43 Semplice esempio della Gestione Automatizzata dei Records in una
Form. 
@Alex