18/12/2025 - OsvaldoLaviosa ha scritto:
17/12/2025 - JoseTeck ha scritto:
DoCmd.OpenForm "AltriCostiEventi", acNormal, , , acFormAdd, "Eventi.ID_Evento=" & Me.ID_EventoCbo
La sintassi corretta è
DoCmd.OpenForm "AltriCostiEventi", acNormal, , , acFormAdd, "ID_EventoCbo = " & Me!ID_Evento
...non conosciamo i nomi esatti dei controlli delle due maschere. A (mio) rigor di logica ID_Evento di Eventi non può essere una combo (per lo meno proprio non me l'aspetto)...lo chiamerei quindi ID_Evento. Mentre nella maschera AltriCostiEventi ci può stare la combo...quindi possiamo nominarla ID_EventoCbo. Nella mia sintassi ho messo nomi coerenti secondo quest'ultima analisi. Analizzando attentamente l'ultimo argomento della sintassi (si tratta della CondizioneWHERE), all'estrema sinistra ci va il campo di arrivo, mentre all'estrema destra Me!CampoPartenza, cioè quello che sta nella maschera principale.
A scanzo di equivoci, se la maschera AltriCostiEventi la usi solo se collegata a Eventi, ti consiglio di impostare al campo ID_EventoCbo
Valore predefinito: [Maschere]![Eventi]![IDEvento]
18/12/2025 - @Alex ha scritto:
17/12/2025 - JoseTeck ha scritto:
Ciao.
Qualcuno riesce a darmi la soluzione al seguente problema?
Ho una Maschera Madre chiamata "Eventi" con una sottomaschera "IngaggioArtisti"
La maschera Madre "Eventi", tramite pulsante su click, dovrebbe aprire una terza maschera, "AltriCostiEvento" collegata dall'ID_Evento, e posizionarsi su nuovo record ed inserire, nel campo ID_Evento, l'omonimo ID_Evento prelevato dalla maschera Madre.
a titolo esemplificativo, ma non funziona:
DoCmd.OpenForm "AltriCostiEventi", acNormal, , , acFormAdd, "Eventi.ID_Evento=" & Me.ID_EventoCbo
Grazie mille
Attenzione ad una cosa... i suggerimenti che ti sono stati dati sono corretti come sintassi e metodo, ma danno per ASSUNTO giustamente che il record della Maschera Madre, quindi Lato(1) della eventuale relazione, sia già stato salvato altrimenti ovviamente NON FUNZIONA in quanto l'ID(PK) non è ancora stata generata.
Quindi prima di eseguire l'OPENFORM, devi forzare il salvataggio del Record corrente, se questo è NUOVO:
If Me.NewRecord Then DoCmd.RunCommand acCmdSaveRecord
DoCmd.OpenForm FormName:="AltriCostiEventi", View:=acNormal, DataMode:=acFormAdd, OpenArgs:=Me.ID_EventoCbo
18/12/2025 - OsvaldoLaviosa ha scritto:
17/12/2025 - JoseTeck ha scritto:
DoCmd.OpenForm "AltriCostiEventi", acNormal, , , acFormAdd, "Eventi.ID_Evento=" & Me.ID_EventoCbo
La sintassi corretta è
DoCmd.OpenForm "AltriCostiEventi", acNormal, , , acFormAdd, "ID_EventoCbo = " & Me!ID_Evento
...non conosciamo i nomi esatti dei controlli delle due maschere. A (mio) rigor di logica ID_Evento di Eventi non può essere una combo (per lo meno proprio non me l'aspetto)...lo chiamerei quindi ID_Evento. Mentre nella maschera AltriCostiEventi ci può stare la combo...quindi possiamo nominarla ID_EventoCbo. Nella mia sintassi ho messo nomi coerenti secondo quest'ultima analisi. Analizzando attentamente l'ultimo argomento della sintassi (si tratta della CondizioneWHERE), all'estrema sinistra ci va il campo di arrivo, mentre all'estrema destra Me!CampoPartenza, cioè quello che sta nella maschera principale.
A scanzo di equivoci, se la maschera AltriCostiEventi la usi solo se collegata a Eventi, ti consiglio di impostare al campo ID_EventoCbo
Valore predefinito: [Maschere]![Eventi]![IDEvento]
Grazie OsvaldoLaviosa.
Si la sequenza è corretta.
Gli abbinamenti campi combo box sono i seguenti:
Machera "Eventi" - Campo ID_Evento accolto nella Combo box "ID_EventoCbo"
Machera “AltriCostiEventi” - Campo “Eventi.ID_Evento” accolto nella combo box “IdEvCbo”.
Purtroppo non funziona ed anche impostando l'ID nel Valore Predefinito della combo box “IdEvCbo”, il risultato non cambia.