Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/09/2008, 03:53
Avellaneda
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Consulta del primer registro

Cita:
Iniciado por spiderman78 Ver Mensaje
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.