SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Bases de Datos => Mensaje iniciado por: ferreyravh en Miércoles 10 de Noviembre de 2010, 02:08

Título: buscar un registro con una variable
Publicado por: ferreyravh en Miércoles 10 de Noviembre de 2010, 02:08
pongo esto pero me da registros 0
Dim con As String
Set base = New Connection
Set rst = New Recordset
Set rst1 = New Recordset
ruta = "C:baseestasit_sdos201005.mdb"

'Abrimos la base de datos
base.CursorLocation = adUseClient
base.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & ruta
con = InputBox("ingrese numero de DNI : ")
rst1.Open "select * from Estasit_Sdos_Ofic where documento like con;", base

'Abrimos el recordset y Ejecutamos la consulta
'rst.Open "SELECT Count(*) as ndoc FROM(select distinct documento from  Estasit_Sdos_Ofic)where documento='con' ;", base

'Mostramos el resultado Maximo y Minimo del campo Gastos
'MsgBox rst.Fields("ndoc")
' Text2.Text = ndoc
 Set DataGrid1.DataSource = rst1
End Sub
Título: Re: buscar un registro con una variable
Publicado por: m0skit0 en Miércoles 10 de Noviembre de 2010, 07:08
¿Access permite subselects?
Título: Re: buscar un registro con una variable
Publicado por: ferreyravh en Miércoles 10 de Noviembre de 2010, 13:47
hola que tal gracias por responder
mira estoy trabajando en visual basic 6.0 con sql
si yo pongo un campo fijo o sea un nro de dni fijo por ejemplo where=' xxxxxxxx' me los cuenta y me lo busca pero cuan trato de remplazar el 'xxxxxxxx' con una variable ingresada desde un inputbox me da regisatros igual cero probe el where y el like y ninguno funciona
desde ya gracias
Título: Re: buscar un registro con una variable
Publicado por: m0skit0 en Miércoles 10 de Noviembre de 2010, 14:30
Cita de: "ferreyravh"
ero cuan trato de remplazar el 'xxxxxxxx' con una variable ingresada desde un inputbox me da regisatros igual cero probe el where y el like y ninguno funciona
Repásate cómo concatenar strings en VB6
Título: Re: buscar un registro con una variable
Publicado por: LeGatoRojo en Jueves 11 de Noviembre de 2010, 00:04
En visual, sólo usa

Código: Visual Basic
  1.  
  2. strSQL="SELECT * FROM tabla WHERE campo=" & variable
  3.  
  4.  

por cierto variable tiene que ser string  <_<
Título: Re: buscar un registro con una variable
Publicado por: m0skit0 en Jueves 11 de Noviembre de 2010, 08:49
Cita de: "Darktigerhell"
En visual, sólo usa

Código: Visual Basic
  1.  
  2. strSQL="SELECT * FROM tabla WHERE campo=" & variable
  3.  
  4.  

por cierto variable tiene que ser string  <_<
Eso no funciona. Pruébalo tú mismo si quieres. Además, deja que se lo curre solo, es algo fácil, así se acordará de ello y con suerte aprende algo.
Título: Re: buscar un registro con una variable
Publicado por: F_Tanori en Jueves 11 de Noviembre de 2010, 10:01
Hola

El error esta aqui.

Con (variable de VB donde tomas el valor del inputbox)

pero en el codigo lo pasas como parte de la cadena:

Código: Visual Basic
  1. rst1.Open "select * from Estasit_Sdos_Ofic where documento like con;", base
  2.  

debes concatenar como te dicen en las respuestas anteriores, ahora tomando en cuenta que fuera un campo de tipo texto entonces debera ser encerrado entre comillas (sin interrumpir las propias usadas en la cadena de VB) esto se hace usando apostrofes

esto es si fuera una constante
Código: Visual Basic
  1. rst1.Open "select * from Estasit_Sdos_Ofic where documento like 'con';", base
  2.  

usando la variable
Código: Visual Basic
  1. rst1.Open "select * from Estasit_Sdos_Ofic where documento like '"& con &"';", base
  2.  

y como estas utilizando el operador like es probable que necesites comodines

Ejemplo: (para mayor referencia lee acerca del operador like en Access)
Código: Visual Basic
  1. rst1.Open "select * from Estasit_Sdos_Ofic where documento like '*"& con &"*';", base
  2.  

Saludos
Título: Re: buscar un registro con una variable
Publicado por: m0skit0 en Jueves 11 de Noviembre de 2010, 10:57
Demasiado masticado F_Tanori  :no:  :P
Título: Re: buscar un registro con una variable
Publicado por: LeGatoRojo en Jueves 11 de Noviembre de 2010, 18:14
Cita de: "m0skit0"
Cita de: "Darktigerhell"
En visual, sólo usa

Código: Visual Basic
  1.  
  2. strSQL="SELECT * FROM tabla WHERE campo=" & variable
  3.  
  4.  

por cierto variable tiene que ser string  <_<
Eso no funciona. Pruébalo tú mismo si quieres. Además, deja que se lo curre solo, es algo fácil, así se acordará de ello y con suerte aprende algo.


Pues lo he probado siempre, copy paste de código... en fin  :bad: ...ademas es un foro, somos libres de responder o ayudar o de sólo decir "usa google"
Título: Re: buscar un registro con una variable
Publicado por: ferreyravh en Jueves 11 de Noviembre de 2010, 23:24
gracias por responder lo voy a prober y luego les cuento
Título: Re: buscar un registro con una variable
Publicado por: m0skit0 en Viernes 12 de Noviembre de 2010, 01:04
Cita de: "Darktigerhell"
Pues lo he probado siempre, copy paste de código... en fin
Prueba con un campo VARCHAR y verás lo que te digo.
Título: Re: buscar un registro con una variable
Publicado por: ferreyravh en Viernes 12 de Noviembre de 2010, 04:11
grosos me salio con la info que me pasaron
muchas gracias por todo
Título: Re: buscar un registro con una variable
Publicado por: LeGatoRojo en Viernes 12 de Noviembre de 2010, 05:40
Cita de: "m0skit0"
Cita de: "Darktigerhell"
Pues lo he probado siempre, copy paste de código... en fin
Prueba con un campo VARCHAR y verás lo que te digo.


Eso todo el mundo lo sabe...bueno casi todos...en fin sólo era un ejemplo para lo de concatenar, no para su caso especifico  :wacko:
Título: Re: buscar un registro con una variable
Publicado por: m0skit0 en Viernes 12 de Noviembre de 2010, 12:04
Todo el mundo obviamente no, porque él desde luego no lo sabía. En todo caso, problema solucionado, y disculpa mi intromisión en tu respuesta.