Cita:
Iniciado por spiderman78
Que tal como estan, de nuevo aqui con una consulta, les comento que tengo una consulta la cual me muestra mis datos sin problema pero de ahi me obtiene otros registros q estan asignados a la consulta, es decir consulto un diagnostico y de ahi ya tengo enlazado todas sus citas y me las muestra perfectamente bien aqui mi problema es que cuando selecciono un diagnostico quiero me me muestre automaticamente la primera cita de este diagnostico.
Mis codigos son los siguientes:
Código:
Private Sub DatosDiagnostico()
Dim RECBDD As ADODB.Recordset
Dim sql As String, cadena As String
Dim X As Integer
cadena = text1(0).Text
Call VisualizarPacienteDiagnosticos
sql = "SELECT * FROM pacientediagnostico WHERE idpaciente Like '" & cadena & "'"
Set RECBDD = New ADODB.Recordset
RECBDD.Open sql, BD, adOpenKeyset, adLockOptimistic
If RECBDD.BOF = True Or RECBDD.EOF = True Then
MsgBox "Paciente sin Diagnosticos"
Exit Sub
End If
End Sub
Código:
Private Sub DatosProcedimiento()
Dim sql As String, cadena As String, idpaciente As String
cadena = Text2(2).Text
idpaciente = Text2(0).Text
Call VisualizarPacienteProcedimiento
sql = "SELECT * FROM pacienteprocedimiento WHERE id1 Like '" & cadena & "' AND idpaciente LIKE '" & idpaciente & "'"
Set RECBDDDD = New ADODB.Recordset
RECBDDDD.Open sql, BD, adOpenKeyset, adLockOptimistic
If RECBDDDD.BOF = True Or RECBDDDD.EOF = True Then
MsgBox "Paciente sin Citas"
Exit Sub
End If
End Sub
De atemano muchas gracias por las respuesta y ojala me haya dado a entender
Saludos

Hola, a verdad es que no lo entendí bien, ¿los códigos que pones funcionan, o dan algún error? si es así ¿en qué línea?
Y alguna observación:
El operador LIKE se suele utilizar para búsquedas parciales, y en todo caso, encerrando la variable con el signo de porcentaje:
Like '%" & cadena & "%
pero para búsquedas completas, es mas seguro utilizar el operador igual (=).
Es conveniente no asignar variables innecesarias para una mayor optimización del código.
Código:
Private Sub DatosDiagnostico()
Dim RECBDD As ADODB.Recordset
Call VisualizarPacienteDiagnosticos
Set RECBDD = New ADODB.Recordset
RECBDD.CursorLocation = adUseClient ' para que nos dé el valor de RecordCount
RECBDD.Open "SELECT * FROM pacientediagnostico WHERE idpaciente = '" & Text1(0).Text & "'", bd, adOpenKeyset, adLockOptimistic
If RECBDD.RecordCount = 0 Then
MsgBox "Paciente sin Diagnosticos"
Exit Sub
End If
End Sub
Como puedes comprobar, llegamos al mismo resultado sin declarar ninguna variable.
Nota: Suponemos que el campo idpaciente es de tipo Texto, si no es así, quítale las comillas simples.