Visual Basic - Consultar un Campo Autonumerico

Life is soft - evento anual de software empresarial
   
Vista:

Consultar un Campo Autonumerico

Publicado por Josue (1 intervención) el 21/09/2010 18:19:57
BUEN DIA A TODOS Y TODAS!!!TENGO UNA PEQUEÑA CONSULTA!!!!
QUIERO CONCULTAR UN REGISTRO ESPECIFICO DE UN CAMPO AUTONUMERICO:
EXPLICO MEJOR:
TENGO UNA TABLA DE NOMBRE recepcion CON LOS SIGUIENTES CAMPOS:
N: AUTONUMERICO
FECHA:DATE
ASUNTO:MEMO
Y OTROS.....
ENTONCES HAGO LA SIGUIENTE CONSULTA DEL CAMPO N:

Dim sBusqueda As Integer
sBusqueda = InputBox("Ingrese el # del Documento")
If sBusqueda = "" Then
Adodc1.RecordSource = "select * from recepcion WHERE n='" & sBusqueda & "'"
Adodc1.Refresh
End If
End Sub

PERO ME DA ERROR ME DICE ERROR 13 NO COINCIDEN LOS TIPOS.
AYUDENME POR FAVOR!!!!!!!!
GRACIAS DE ANTEMANO!!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Consultar un Campo Autonumerico

Publicado por gillermo (20 intervenciones) el 21/09/2010 18:40:39
prugunto no probaste en la consulta en ludgar de ser como vos la pusiste que sea asi=

"select * from recepcion WHERE n=" & sBusqueda

a lo mejor le estoy errando pero no me suena de que tengas qye poner otro & y " al final

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consultar un Campo Autonumerico

Publicado por Zen Master (15 intervenciones) el 21/09/2010 20:38:46
La verdad el tal & no es el error en este caso si no la comilla simple ' , y a decir verdad depende mucho de la base de datos pues la forma de consultar algunos tipos de campos cambia entre algunas bases por ejemplo:

Dim sBusqueda As String

sBusqueda = InputBox("Ingrese el # del Documento")

If sBusqueda <> "" Then

'**** En SQL Server 7 Podrías decir:
Adodc1.RecordSource = "select * from recepcion WHERE n = '" & CInt(sBusqueda) & "'"

'**** En cambio en Access (el cual creo es tu caso) debes decir
Adodc1.RecordSource = "select * from recepcion WHERE n = " & Cint(sBusqueda)

Adodc1.Refresh
End If
End Sub

En todo caso la forma de hacer el query como dice Gillermo, es la correcta.

Sin embargo por ahí veo que cargas el número desde un InputBox hacia una variable de tipo Integer, cosa que no está bien, lo que debes hacer es cargar una variable de tipo String y luego pasarla a integer pero antes verificando que lo que contenga la variable string sea un numero que se pueda utilizar en la consulta a la base de datos. Porque si al usuario se le ocurre escribir una letra en ves de un número pues te va a dar el error siempre.

Y lo siguiente es esto:

If sBusqueda = "" Then....

¿no debería ser más bien?

If sBusqueda <> "" Then....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consultar un Campo Autonumerico

Publicado por Jorge (55 intervenciones) el 21/09/2010 21:09:46
a ver, veo algunas cosillas:

- El campo autonumerico que se crea en la BD es Entero Largo, y su equivalente en VB es Long NO Integer.
prueba cambiando a: Dim sBusqueda As Long

- La condicion deberia ser: if sBusqueda<>"" then
caso contrario si le pones "=" va a realizar la consulta siempre y cuando el inputBox sea vacio
o tambien para verificar que sea numero podria ser:
if (isnumeric(sBusqueda)=true) and (len(sBusqueda)>0) then

- En la consulta esta llamando a un String en lugar de un numero... donde?, aqui: despues del n= pones una comilla simple (o como se llame) luego llamas a la variable, luego vuelves a la consulta cerrando la comilla simple, quedando asi por ejemplo: WHERE n='20' y recordemos que n es un numero no un string, deberia quedar asi: WHERE n=20 y punto osea asi:

Adodc1.RecordSource = "select * from recepcion WHERE n=" & sBusqueda
Adodc1.Refresh

y eso
Salud!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Consulta

Publicado por betsy d (1 intervención) el 26/11/2010 04:55:04
me gustaria saber si me pueden ayudar con los siguientes problemas:

cargue una lista de enlazado de N numeros y muestre cuales son perfectos
el otro dice:

cargue una lista de N numeros y muestre su orden mediante el metodo de la burbuja

ante todo muchas gracias por la ayuda que me puedan brindar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar