Supongo ke lo que haces es seleccionar un paciente que existe en una tabla con un id unico para cada paciente, y los diag estan en otra tabla pero poseen el nro de id de paciente respectivamente..
si utilizas ADO lo podrias realizar asi...
Código:
Set rstTotalDiag= New ADODB.Recordset
Set cnn = New ADODB.Connection
If cnn.State <> 1 Then
With cnn
.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" & sFichero & "';"
.Open
.CursorLocation = adUseClient
End With
End If
rstTotalDiag.open "SELECT * FROM tablaDiag WHERE Id_Paciente= " & int(text1.text) & "" , cnn, adOpenDynamic, adLockOptimistic
text2.text= rstTotalDiag.recordcount
Como no das muchos datos vuelvo a suponer que al id del paciente lo colocás en un textbox llamado text1.text. Yo primero estableci la coneccion para que se vea que es necesario la propiedad
CursorLocation = adUseClient para que la funcion recorcount funcione.
PD: yo use nombres hipoteticos de tablas, campos, variables, conexion y recordset, debes adaptarlo a tu aplicacion y/o usarlo como una guia.