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

[0] Índice de Mensajes

Ir a la versión completa