Programación General > Visual Basic 6.0 e inferiores
Ayuda Con Sql
(1/1)
arrebiato:
Hola ...
nesecito abrir un Recordset con una consulta SQL que me devuelva valores especificos a un criterio ....el problema es que cuando ejecuto el codigo los valores que me da como resultado no coinciden con el criterio...que stoy haciendo mal???
--- Código: Text --- Private Sub Form_Load()Dim db As Connection Set db = New Connection With db .CursorLocation = adUseClient .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Nuevo.mdb;" .OpenEnd With Set rst1 = New Recordset rst1.Open "SELECT * FROM ControlHora WHERE ' ControlHora.Cedula = & getCedula & ' ", db, adOpenDynamic, adLockOptimisticEnd Sub Private Sub cmdIngresar_Click()Dim getCedula As StringgetCedula = InputBox("Nro de Cedula:") With rst1 txtCedula = rst1!Cedula txtNombre = rst1!NombreEnd WithEnd Sub
lop7:
hola...
que tipo de datos es la cedula la estas evaluando como si fuera texto si no es texto pruevalo asi
Set rst1 = New Recordset
rst1.Open "SELECT * FROM ControlHora WHERE ControlHora.Cedula = & getCedula & "
caso contrario pruebalo asi:
Set rst1 = New Recordset
rst1.Open "SELECT * FROM ControlHora WHERE ControlHora.Cedula = '& getCedula & ' "
espero te sirva :kicking:
saludos...
nos vmos...
Widark:
Que tal!
No entiendo para que son las comillas simples en la consulta (a menos que sean para algun tipo de Requery o algo por el estilo, pero no lo creo), Si quieres que el recordset te traiga tu criterio debes hacerlo al momento que pides los datos y no antes, además la variable solo la dimensionas en el evento click así que no estara disponible en el Load. Yo lo haria así
--- Código: Text ---Private Sub cmdIngresar_Click()Dim getCedula As StringgetCedula = InputBox("Nro de Cedula:") With rst1 .Open "SELECT * FROM ControlHora WHERE Cedula = " & getCedula & ", db, adOpenDynamic, adLockOptimistic txtCedula = rst1!Cedula txtNombre = rst1!NombreEnd WithEnd Sub lo que dice lop7 de la cedula es cierto si es texto la apertura del recordset cambia y quedaria así:
--- Código: Text ---.Open "SELECT * FROM ControlHora WHERE Cedula = '" & getCedula & "', db, adOpenDynamic, adLockOptimistic saludos.
arrebiato:
:D Vale ...Muchas gracias a ambos por sus respuestas..me han servido mucho para aclarar mis dudas acerca de este tema .
zareth:
aki tienes otra opcion, si te complicas con las comillas:
--- Código: Text ---rst1.Open "SELECT * FROM ControlHora WHERE ControlHora.Cedula = " & chrW(39) & getCedula & chrW(39) & ", db, adOpenDynamic, adLockOptimistic
salu2 z4r3th :comp:
Navegación
Ir a la versión completa