
De antemano gracias por las respuestas
Saludos

| |||
Mostrar en Textbox el Numero de Registros Que tal, de nuevo aqui con una consulta, vean les explico tengo una consulta la cual la obtengo al momento de seleccionar un paciente, lo q necesito obtener es q en un texbox me muestre el numero total que tengo de registros (diagnosticos) que tengo para el paciente seleccionado.... y la verdad no tengo idea ni como podria hacerlo y es mas ni en q parte del codigo tendria q escribirlo....... ![]() De antemano gracias por las respuestas Saludos ![]() |
| |||
Respuesta: Mostrar en Textbox el Numero de Registros 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:
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. 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 PD: yo use nombres hipoteticos de tablas, campos, variables, conexion y recordset, debes adaptarlo a tu aplicacion y/o usarlo como una guia. |
| |||
Respuesta: Mostrar en Textbox el Numero de Registros Que tal muchas gracias por la respuesta, solo que mira en mi consulta ya acomode el codigo como pienso q esta bien y que da de esta manera
Código:
Pero me marca este error "La opreacion no esta permitida si el objeto esta abierto"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 RECBDD.cursorLocation = adUseClient-------------------------------------------(linea que marca el error) Text4.Text = RECBDD.RecordCount If RECBDD.BOF = True Or RECBDD.EOF = True Then MsgBox "Paciente sin Diagnosticos" Exit Sub End If End Sub Ahora no si de esa manera tenga q acomodar las intrucciones para obtener el resultado. y bueno como me mandaste esa linea en la conexion aqui esta la manera en q hago mi conexion
Código:
Saludos y gracias por las respuestaPublic Sub Conectar() On Error GoTo Ver Set BD = New ADODB.Connection BD.ConnectionString = "driver={MySQL ODBC 3.51 Driver};" & _ "Server=localhost;" & _ "Port=3306;" & _ "Database=CONTROL_PACIENTES;" & _ "User=root;" & _ "Password=;" & _ "Option=3;" BD.Open Exit Sub Ver: MsgBox "Nº de error: " & Err.Number & " | " & Err.Description, vbCritical, "Control de errores" Err.Clear End Sub ![]() |
| ||||
![]() Es que debes situar el cursor antes de abrir el Recordset. Como te habían explicado en este tema: http://www.forosdelweb.com/f69/cuant...-tengo-600395/
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Respuesta: Mostrar en Textbox el Numero de Registros Que tal gracias por las respuestas, pero estuve revisando y si usaba las opciones que me mencionaban en los dos temas me ocasionaba errores en otras partes de mi programa q ya tenia funcionando asi q al final la manera q pude hacerlo fue asi:
Código:
Gracias por la ayuda 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 X = 0 RECBDD.MoveFirst Do While Not RECBDD.EOF = True X = X + 1 RECBDD.MoveNext Loop Text4.Text = X End Sub Saludos ![]() |