• Jueves 28 de Marzo de 2024, 17:03

Autor Tema:  Ayuda Con Sql  (Leído 1873 veces)

arrebiato

  • Miembro activo
  • **
  • Mensajes: 34
    • Ver Perfil
Ayuda Con Sql
« en: Jueves 29 de Septiembre de 2005, 22:45 »
0
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
  1.  
  2.  
  3.  
  4. Private Sub Form_Load()
  5. Dim db As Connection
  6.  
  7. Set db = New Connection
  8.  
  9. With db
  10.     .CursorLocation = adUseClient
  11.     .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Nuevo.mdb;"
  12.     .Open
  13. End With
  14.     Set rst1 = New Recordset
  15.     rst1.Open "SELECT * FROM ControlHora WHERE ' ControlHora.Cedula = & getCedula & '  ", db, adOpenDynamic, adLockOptimistic
  16. End Sub
  17.  
  18.  
  19.  
  20. Private Sub cmdIngresar_Click()
  21. Dim getCedula As String
  22. getCedula = InputBox("Nro de Cedula:")
  23.  
  24. With rst1
  25.  
  26.     txtCedula = rst1!Cedula
  27.     txtNombre = rst1!Nombre
  28. End With
  29. End Sub
  30.  
  31.  
  32.  

lop7

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Ayuda Con Sql
« Respuesta #1 en: Jueves 29 de Septiembre de 2005, 23:09 »
0
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...
A quien dices un secreto le entregas tu libertad

Widark

  • Miembro MUY activo
  • ***
  • Mensajes: 246
    • Ver Perfil
Re: Ayuda Con Sql
« Respuesta #2 en: Viernes 30 de Septiembre de 2005, 00:48 »
0
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
  1. Private Sub cmdIngresar_Click()
  2. Dim getCedula As String
  3. getCedula = InputBox("Nro de Cedula:")
  4.  
  5. With rst1
  6.    .Open "SELECT * FROM ControlHora WHERE Cedula = " & getCedula & ", db, adOpenDynamic, adLockOptimistic
  7.    txtCedula = rst1!Cedula
  8.    txtNombre = rst1!Nombre
  9. End With
  10. End Sub
  11.  
lo que dice lop7 de la cedula es cierto si es texto la apertura del recordset cambia y quedaria así:
Código: Text
  1. .Open "SELECT * FROM ControlHora WHERE Cedula = '" & getCedula & "', db, adOpenDynamic, adLockOptimistic
  2.  
saludos.
[:], Yo si se lo que es trabajar duro, por que lo he visto.
http]
programacion,c,c++,
C#,java,linux,videojuegos,
directX,.NET,allegro,asm,codigo
NoSolocodigo --> Blog de Articulos

arrebiato

  • Miembro activo
  • **
  • Mensajes: 34
    • Ver Perfil
Re: Ayuda Con Sql
« Respuesta #3 en: Viernes 30 de Septiembre de 2005, 17:57 »
0
:D Vale ...Muchas gracias a ambos por sus respuestas..me han servido mucho para aclarar mis dudas acerca de este tema .

zareth

  • Miembro activo
  • **
  • Mensajes: 36
    • Ver Perfil
Re: Ayuda Con Sql
« Respuesta #4 en: Viernes 30 de Septiembre de 2005, 21:12 »
0
aki tienes otra opcion, si te complicas con las comillas:

Código: Text
  1. rst1.Open "SELECT * FROM ControlHora WHERE ControlHora.Cedula = " & chrW(39) & getCedula & chrW(39) & ", db, adOpenDynamic, adLockOptimistic
  2.  

salu2 z4r3th  :comp: