uba ha scritto:
Le tabelle sono: Procedure; Ha i campi Nome_Procedura come chiave primaria, Preso_Data, Scadenza_Data, ID_Cliente come chiave esterna. Clienti; ha i campi ID_Cliente come primaria, Nome_Cliente, Nome_Studio come chiave esterna. Studio; per ora ha solo Nome_Studio come chiave primaria. Numero Scatole; ha ID come chiave primaria, Numero_Scatola, Nome_Procedura come chiave esterna. Le relazioni sono: un cliente appartiene ad uno studio, ma uno studio può avere più clienti; una procedura appartiene ad un cliente, ma un cliente può avere più procedure; una procedura è presente in diverse scatole, ma una scatola può avere solo una procedura ( chiedo scusa ma non conosco il linguaggio adatto per descrivere le relazioni).
Va bene la descrizione dei campi di ogni tabella. Se vuoi essere più tecnica/sintetica nella descrizione relazioni dovresti dire:
Studi uno-a-molti Clienti
Clienti uno-a-molti Procedure
Procedure uno-a-molti Scatole
uba ha scritto:
La maschera in questione è quindi appoggiata alle tabelle Procedure e Clienti.
Detto così che vuol dire (dopo aver illustrato lo scenario tabelle di prima)?
Se Clienti è uno-a-molti Procedure si dovrebbe parlare di maschera/sottomaschera Clienti/Procedure.
Dalle descrizioni che hai dato nei post precedenti invece mi pare di capire che tu hai la MascheraProcedure (con il campo IDCliente alla fine).
Su questa MascheraProcedure vorresti inserire un record da validare soltanto quando si è sicuri e grazie al clic di un pulsante su un'altra MascheraAppoggio.
Spero di aver interpretato correttamente. Vado avanti ugualmente a ruota libera.
Io mi giocherei la soluzione 2) dove MascheraAppoggio avrà gli stessi NomeCampo di MascheraProcedure, ma con la proprietà "Origine record" vuota.
Il clic del pulsante su MascheraAppoggio dovrà eseguire il seguente
Private Sub NomePulsante_Click()
Forms!MascheraProcedure!PresoData = Me!PresoData
Forms!MascheraProcedure!ScadenzaData = Me!ScadenzaData
Forms!MascheraProcedure!IDCliente= Me!IDCliente
DoCmd.Close acForm "MascheraAppoggio"
Forms!MascheraProcedure.SetFocus
DoCmd.RunCommand acCmdSaveRecord
End Sub
Forse ho abbondato qualche istruzione in più, ma in sostanza quello è ciò che deve accadere.
Spero di aver azzeccato il tuo intento.