Da una maschera contenente i campi: IDmatricola, IDdato, IDSRP, un evento attivato su click di IDmatricola apre la maschera [matricole] con origine dati da tabella contenente [ID matricola] chiave primaria. La maschera [matricole] contiene la sottomaschera [sottomaschera matricole dati], con origine dati da tabella contenente i campi [ID matricola], [ID dato], e con campi collegati [ID matricola].
Vorrei che sull’evento, fosse selezionato il record nella sottomaschera con [ID dato] = IDdato.
Ho scritto questo codice dopo ricerche in rete, che mi apre la maschera [matricole], mi attiva il primo record della sottomaschera, ma non quello con [ID dato] = IDdato.
Private Sub IDmatricola_Click()
Dim VarMatricola As Integer
Dim VarDato As Integer
Dim VarSRP As Integer
VarMatricola = Me.IDmatricola
VarDato = Me.IDdato
VarSRP = Me.IDSRP
[TempVars]![Lingua] = 78
DoCmd.OpenForm "matricole", acNormal, , "[ID matricola] = " & VarMatricola
Forms!Matricole![sottomaschera matricole dati].SetFocus
Dim rs As Recordset
Set rs = Me.RecordsetClone
rs.FindFirst "[ID dato] = " & VarDato
If Not rs.EOF Then Me.Bookmark = rs.Bookmark
rs.Close
End Sub
Il comando [TempVars]![Lingua] = 78 inserisce un filtro nelle tabelle origine dati.
Mi scuso se ho utilizzato degli spazi nei nomi degli oggetti. Ho imparato a mie spese che non è opportuno, oltre che leggendo i consigli degli utenti più esperti del forum. D’altra parte il database è stato creato quando ancora non avevo iniziato a studiare il VBA.
Un grazie e un caro saluto