Autor
|
Tema: Problema con Find First en BD Access. (Leído 10,953 veces)
|
Zinc
Desconectado
Mensajes: 2.194
Argentina
|
Buenas gente!. Tengo un problema, no puedo encontrar la forma de que yo ingrese un dato y el programa se fije si ese dato se encuentra en alguno de los registros de la base de datos. He buscado en internet y probado de todas formas y siempre me falta un error. Es como que me busca el nombre del campo del registro pero no busca en el contenido. Si estoy usando el comando equivocado, me podrían decir cual es la forma correcta de poder hacerlo?. Algo sencillo...
EDIT.
El error que me tira, es que no reconoce a lo que yo ingreso como campo válido del registro, si yo pongo un nombre del campo (llámese Numero), si pongo número no me da error, pero no me busca dentro de cada registro que es lo que yo quiero hacer.
Saludos.
|
|
« Última modificación: 13 Junio 2010, 09:34 am por Zinc »
|
En línea
|
|
|
|
karmany
|
Pon el código exacto y el nombre de los campos. Tiene que ser algo sencillo.
|
|
|
En línea
|
|
|
|
Zinc
Desconectado
Mensajes: 2.194
Argentina
|
Private Sub Command4_Click() Dim Query As String Query = InputBox("Ingrese criterio a buscar") Data1.Recordset.FindFirst Query If Data1.Recordset.NoMatch Then MsgBox "El lote numero: " & aux3.cadena & "no se encuentra en la base de datos" End If End Sub
Mis campos son : Nº Lote Rango Caravana Raza Establecimiento Vacunacion Categoria Si yo pongo por ej, una raza en el inputbox, me devuelva el que encontró o los que hay, algo así sería. Saludos.
|
|
|
En línea
|
|
|
|
karmany
|
Puedes hacerlo así: Dim buscado as string, criterio as string buscado = InputBox("Ingrese criterio a buscar") if buscado = "" then exit sub criterio = "campo_basededatos LIKE '%" & buscado & "%' [notadekarmany]Es para decir que contiene. Si es para decir comienza hay que quitar el primer %. Y si es exactamente la búsqueda hay que quitar los dos %. Si trabajas con DAO tienes que cambiar los % por *.[/notadekarmany] ado01.Recordset.MoveFirst ado01.Recordset.Find criterio if ado01.Recordset.EOF then ado01.Recordset.Movelast msgbox "no existe" end if
|
|
|
En línea
|
|
|
|
.:BlackCoder:.
Desconectado
Mensajes: 388
Cada dia C++!!
|
Pero ese codigo que puso Zinc deberia funcionar... no?
|
|
|
En línea
|
"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja
|
|
|
Zinc
Desconectado
Mensajes: 2.194
Argentina
|
A mi no me funciona, osea, entendés mi idea?. Yo lo que quiero hacer, es hacer un función que me permita buscar un dato que yo ingreso en los registros de la base de datos. Pero el code que posteo yo, aparentemente no funciona. Escucho sugerencias..
Saludos,.
|
|
|
En línea
|
|
|
|
.:BlackCoder:.
Desconectado
Mensajes: 388
Cada dia C++!!
|
Tu code lo que hace es avisar si no lo encontro... Segun yo Si tienes etiquetas (labels) asociados al datacontrol te mostrar el registro en el que consiguio el "dato" que ingresaste... No??? alguien que sepadel tema que aclare yo apenas toy estudiandolo...
|
|
|
En línea
|
"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja
|
|
|
Zinc
Desconectado
Mensajes: 2.194
Argentina
|
Nadie puede ayudar con algo tan simple? Como ha decaído el nivel del foro desde que me fuí...
|
|
|
En línea
|
|
|
|
|
.:BlackCoder:.
Desconectado
Mensajes: 388
Cada dia C++!!
|
PD. Evita usar DAO, es más flexible ADO.
Cierto... Aunque en ADO solo existe Find, no FindFirst, FindLast y esos metodos... Solo Find, pero tu lo gestionas para que haga su labor... Ahora yo solo tengo una pregunta... Que fue la que hice primero... El code que puso Zinc, No deberia funcionar???? Poque yo creo que si funciona, si le ingresas un criterio valido... Saludos
|
|
|
En línea
|
"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja
|
|
|
|
|