Newsgroup: it.comp.appl.access
Titolo: Maschere collegate

Salve a tutti,
ho due maschere collegate alla stessa tabella. La seconda maschera 
viene aperta tramite comando presente nella prima quando ho la 
necessità di determinati calcoli.
Come faccio a far scrivere nel record corretto i dati generati dalla 
seconda maschera?
Grazie.

 - la tabella ha una chiave primaria ? Quale ?
La prima tabella si apre in relazione ad un utente, quindi ha l'ID 
dell'utente inclusa tra i suoi controlli.

Sono calcoli particolari che vanno fatti solamente in determinati casi.
E allora ?
Invece di usare una seconda maschera aggiungi nella maschera un
controllo di tipo "Struttura a schede" e aggiungi lì i controlli che
hai messo nella seconda maschera.
La struttura a schede puoi visualizzarla o meno a secondo del
verificarsi delle condizioni che richiedono i calcoli, impostando la
sua proprietà Visible.


 sua proprietà Visible.
Devo farla nel modo detto, in quanto la seconda maschera è una sorta di 
"menù" che mi permette una scelta di quale formula utilizzare per 
aggiustare un calcolo eseguito nella prima maschera.
Non è una questione di principio, ma devo farlo così...
Ciao

(.....)

Non per insistere, ma continuo a non vedere ostacoli nell'utilizzare un controllo a schede come una form.
Comunque, se la form Principale si chiama FormMain, è associata alla Tabella TblMain ed il controllo associato alla
chiave primaria Utente si chiama txtUtente, nella form dove effettui i calcoli, per aggiornare il record correntemente
visualizzato in FormMain, scrivi il seguente codice:
Dim rs As Recordset
Set rs = Currentdb.OpenRecordSet("SELECT * FROM TblMain WHERE Utente='" Forms!FormMain!txtUtente & "'")
With rs
  .Edit
  !Campo1=TuoValore1
  !Campo2=TuoValore2
...
  .Update
  .Close
EndWith
Set rs=Nothing
Forms!FormMain.Refresh
Dove scrivere questo codice è a tua scelta in funzione della logica dell'applicazione e dei calcoli effettuati.
Vincenzo Turturro
---------------------------------------------
il sito comune di it.comp.appl.access:
http://www.sitocomune.com/
---------------------------------------------
E quello di it.comp.as400
http://www.faq400.com/
---------------------------------------------

 dell'applicazione e dei calcoli effettuati.
E' possibile usarlo in una "BeforeUpdate"? di un gruppo di opzioni?
Ciao

 Ciao
Mi da:
Errore di run-time '3061': Parametri insufficienti. Previsto 1.
Il codice:
   If txtSettUM <> 0 Then
                     intGioUM = (txtSettUM * 7) + txtGioUM
                     Dim rst As Recordset
                     Set rst = CurrentDb.OpenRecordset("SELECT *FROM 
TabPazEsameEcoOstetrica WHERE 
TabPazEsameEcoOstetrica.PazienteID=[Forms]![SchedeEcografiche]![txtNumero]")
                     With rst
                        .Edit
                        !GiorniCorrezione = (intGio - intGioUM)
                        .Update
                        .Close
                     End With
                     Set rst = Nothing
                     Forms!SchedeEcografiche.Refresh
...




 [cut.]
Grazie Vincenzo, sembra funzionare tutto bene.
Nei prossimi giorni farò ulteriori prove e se avrò problemi te lo farò 
sapere.
Ciao e grazie.

 [Forms]![SchedeEcografiche]![txtNumero])
Buongiorno Vincenzo,
ti volevo dire che ho provato il codice da te suggeritomi e va tutto 
bene tranne in un caso.
Quando la maschera principale fa riferimento ad un record nuovo, cioè 
appena inserito, e mi vado ad aprire la maschera dei calcoli in 
corrispondenza dell'Edit mi viene dato: Errore di run-time '3021': 
Nessun record corrente.
Siccome presumo che il record venga generato non appena inserisco un 
dato nella maschera principale, da cosa può dipendere questo 
comportamento?
Grazie e scusami se sto abusando della tua pazienza...

Nessun record corrente.
Subito prima dell'istruzione OpenForm con cui apri la form "dei
calcoli", aggiungi la seguente istruzione:
Me.Refresh
per forzare l'aggiornamento del record in tabella.


 per forzare l'aggiornamento del record in tabella.
Porcaccia la miseria, funziona tutto ma mi va ad agire anche sul primo 
record in tabella.
Indipendentemente da quale record apro, il primo viene modificato con 
lo stesso valore del record attuale! :(

 stesso valore del record attuale! :(
Ho messo DataEntry a True e sembra funzionare, corretto?
Ciao