Newsgroup: it.comp.appl.access
Titolo: Un altro utente ha modificato il record...

Buongiorno a tutti.
Ho un problema che da solo non riesco a risolvere.
La mia tabella Table1 č cosě composta
IDRecord
Nome
Cognome
Valore1
Valore2
In una maschera Form1 visualizzo
IDRecord, Nome e Cognome
Per una serie di motivi non posso visualizzare Valore1 e Valore2 nella 
maschera Form1
Ho aggiunto quindi alla Form1 un pulsante con il codice
Docmd.openform "Form2",,,"[IDRecord] = " & Me.IDRecord
Tutto funziona bene.
Ecco il problema:
1) modifico i dati di Form2 (che ha come Origine Dati la tabella Table1)
2) Chiudo Form2
3) Chiudo Form1 << In questo punto mi viene mostrato un messaggio che mi 
avverte che un altro utente ha modificato i dati del record. Salvare, 
copiare negli appunti non salvare?
Come posso evitare questo messaggio? Dove sbaglio?
Ho anche inserito il comando
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
in chiusura del Form2 ma non serve a nulla.
Grazie e buon Lunedě.
vuLCan 

Sigh..

 vuLCan
Ciao,
Massimo 

 Sigh..
Prova intanto a salvare il record nella Form1 prima di passare alla Form2.
Non potresti usare una struttura a schede?
--
rgrds
SC
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Non potresti usare una struttura a schede?
Ci sto provando ma credo di avere capito che alla fine sarň punto e a capo
perchč:
recordsource di Form1 = Tabella1
recordsource di Sottomaschera in Form1 = Tabella1
In effetti sono due maschere che modificano lo stesso record...
Come ne esco?
Sigh...

 Sigh... 

 Sigh...


 SC
Sul controllo struttura a schede che non è una struttura di maschere e
sottomaschere, vedi su:
http://www.accessgroup.it/Bld_HTML/Home.htm
Cap3°:Usare la struttura a Schede per Organizzare le Maschere


> Struttura a schede, NON sottomaschera
Non posso, mi servono maschere continue.
E sono inglobate in una sottomaschera che prende i dati da Tabella1.
Il Form1 ha recordsource nullo.
Quando richiamo il record dalla sottomaschera contenuta in Form1
si apre Form2 che ha la fonte dati Tabella1.
Ma dovrebbe essere logico:
1) se prima di aprire Form2 salvo il record e lo salvo anche sul pulsante
che apre Form2 dalla sottomaschera
2) se prima di chiudere Form2 per tornare a Form1 salvo nuovamente il record
perchè accidente dovrebbe comunicare un record non salvato?
Il record è salvato eccome...
Non si sono passaggi di modifica dati che non vengono salvati...
Grazie a tutti per l'aiuto.

 Grazie a tutti per l'aiuto.
Spiega cosa ti serve che ti proponiamo una soluzione.
La tua mi sta sembrando troppo "incasinata"
Ciao,
Massimo

 Grazie a tutti per l'aiuto.
Riepiloga un po' il tutto passo passo..
..


 La tua mi sta sembrando troppo "incasinata"
Grazie Massimo. Grazie davvero.
Ecco il problema
La fonte dati č Tabella1
IDRecord
Cognome (str)
Nome (str)
Valore1 (cur)
Valore2 (cur)
Ho due form
Form1
Form2
RecordSource di Form1 = Nulla
RecordSource di Form2 = Tabella1
Form1 contiene una sottomaschera di nome SMForm1 che ha fonte dati Tabella1.
Lo scopo della sottomaschera č visualizzare i record in maschere continue
Da SMForm1 posso modificare Cognome e Nome.
Per ragioni che non sto qui a spiegarti i campi Valore1 e Valore2 devono
essere modificati nella maschera Form2
Io procedo cosě:
1) Modifico Cognome e/o Nome da SMForm1 contenuta in Form1
2) Salvo il record
3) Su clic di un pulsante di comando su SMForm1 accedo a Form2 con semplice
    Docmd.OpenForm "Form2",,,,[IDRecord] = " & Me.IDRecord
4) Modifico Valore1 e/o Valore2
5) Salvo il record
6) Chiudo la maschera Form2
Tutto funziona alla perfezione
Al momento di chiudere Form1 perň (evidentemente al nuovo salvataggio del
record che tra l'altro ho anticipato e rieffettuato in tutti i modi) viene
fuori un messaggio che dice che un'altro utente in questa sessione ha
modificato il record e bla bla bla con le tre opzioni: Salva Record, Copia
Negli APpunti, Ignora Modifiche
Chi mi sa dare una zampa?
Grazie di nuovo.
vuLCan

 vuLCan
Ciao,
Massimo

 Crea una struttura semplice.
Hai ragione Massimo.
Credi che la soluzione migliore sia togliere la sottomaschera e mettere
Form1 e Form2 in una unica form con struttura a schede?

 mettere Form1 e Form2 in una unica form con struttura a schede?
Credo che hai sicuramente complicato il tuttto.
Puoi usare la struttura a schede o ancora più semplicemente impostare la 
proprietà visibile dei due controlli a false fino a che non devi 
modificarli, per poi rimetterla a false quando ha finito (attenzione che 
devi rimettere il focus su un controllo che resterà visibile altrimenti può 
andare in errore di run-time)
Ciao,
Massimo