Per accedere ai dati delle tabelle, io uso ADODB. In VBA devi aggiungere il riferimento alla libreria "Microsoft Activex Data Objects x.x Library", in base alla versione di Access che usi (io comunque uso il riferimento all versione 2.8 ). Per tutti i dettagli su ADO, se vuoi saperne di più, fai una ricerca sul web e troverai sicuramente tutto ciò che vuoi sapere.
Non hai specificato per cosa vuoi ricercare i clienti perciò presumo che la ricerca venga effettuata per il cognome.
Nella tua maschera, crea un tasto e nell'evento "su click" potresti scrivere una sub del genere:
'Dichiarazione delle variabili
Dim Con as ADODB.Connection
Dim Rst as ADODB.Recordset
Dim StrSQL as String, Cognome as String
'Casella di Input per inserire il cognome
Cognome = InputBox("Inserisci il Cognome:","MioDB")
'Se la casella è vuota o annullo esce dalla sub
If Cognome = "" then
Exit Sub
end if
'Stringa SQL di ricerca del record
StrSQL = "SELECT * FROM Clienti WHERE='" & Cognome & "'"
'Creo l'oggetto Connessione e un nuovo Recordset
Set Con = Currentproject.Connection
Set Rst = New ADODB.Recordset
'Apro il Recordset in sola lettura
Rst.Open StrSQL, Con
'prendo i valori dei campi della tabella e li inserisco nelle caselle di testo della maschera
Me.casella1 = Rst.Fields("Campo1")
Me.casella2 = Rst.Fields("Campo2")
'....
'Chiudo il Recordset e la Connessione
Rst.Close
Con.Close
'Imposto le variabili a 0
Set Rst = Nothing
Set Con = Nothing
Questo è un esempio di codice base per la ricerca di un record specifico in una tabella.
Fai attenzione ad una cosa però, se usi il cognome potresti avere più di un record che risponde al criterio di ricerca. Perciò ti consiglio di aggiungere una variabile integer con cui fare un conteggio preliminare dei record (Ciclo Do ... Loop) ed in base a quanti record vengono trovati modificare il comportamento della risposta della routine. Tramite una struttura If ... ElseIf ... Else ... End If, se il numero dei record è 0 allora la risposta potrebbe essere un messaggio di avviso che dice che il cognome non è stato trovato, se è 1 la risposta potrebbe essere quella che ti ho scritto mentre se la risposta è maggiore di 1 allora la cosa si complica un pochino. In quest'ultimo caso io aggiungerei una matrice dimensionata in base al numero dei record trovati in cui memorizzare i nomi e farei comparire un ulteriore scelta del nome, ilquale nome poi dovrà essere concatenato alla stringa di ricerca SQL per avere il record voluto.
Non so se sono riuscito a spiegarmi molto bene in quest'ultimo caso ne se in situazioni del genere sia la strada più agevole ma in situazioni analoghe io ho risolto così.