
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 |