Como hacer un motor de búsqueda en VB

Espero que me puedas ayudar pues necesito hacer un motor de búsqueda en VB para una base de datos elaborada en access es para mi proyecto que es la sistematización de una biblioteca de un colegio y necesita buscar los libros que hallan disponibles de acuerdo al tema, o al autor o editorial.
De antemano le doy las gracias por su pronta respuesta.

4 respuestas

Respuesta
1
No es algo tan simple de contestar, pero lo intentaré:
Para hacer una búsqueda lo mejor es usar tecnología ADO, componentes de Acceso a datos de Microsoft. Para incluirlos en tu proyecto debes incluir la referencia Microsoft Activex DataObjects 2.6 Library.
Una vez incluida, debes declararte una conexión a la base de datos, de la siguiente manera:
Dim miconex as new ADODB.Connection
Para establecer la conexión, debes hacer lo siguiente:
Miconex.open ""Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\BDatos.mdb;Persist Security Info=False"
Ahora un objeto de acceso a datos (recordset)
Dim mirec as new ADODB.Recordset
Para abrirlo:
Mirec. Open "tablaquequieras", miconex, adopendynamic, adlockoptimistic
Si solo vas a buscar, puedes abrirlo adopenstatic, adlockreadonly.
Ahora ejemplo, quiero buscar aquellos libros cuyo autor sea el que introducimos en un textbox:
Mirec.Filter = "[" & mirec.Fields("autor").Name & "] = '" & txtautor.text & "'"
Ahora el recordset tiene los registros que cumplan esa condición.
Para anular el filtro y buscar de nuevo:
Set mirec.filter=adfilternone
También puedes abrir el recordset con una sentencia SQL, de la siguiente manera:
Mirec.open "SELECT * FROM TablaBiblio WHERE Autor='" & txtautor.text & ;"',miconex, adopendynamic, adlockoptimistic
De todas maneras esto es mucho más amplio y complejo lo único que puedo hacer más por ti es que me pases tu mail y mandarte un libro bastante bueno de tecnología ADO (en inglés) y algún ejemplo del tema. Espero haberte orientado por lo menos, indaga en temas de filter y consultas SQL.
Y nada más por ahora.
Gracias estoy de todos recolectando mucha información que me pueda ser útil y te agradecería mucho si me enviaras ese libro mi correo es [email protected].
De nuevo mil gracias.
Att.
dontripi
Respuesta
1
La idea de generar una búsqueda sobre cualquier tabla, radica en que la consulta sea parametrizable. Por ejemplo: Tenemos una tabla Libros, con los campos Tema, Autor y Editorial. Entonces la consulta seria más o menos así:
Select * from Libros where Tema like pTema, donde pTema es un parametro.
Entonces básicamente, lo que tienes que hacer es un formulario donde en un "if" o un "case" definas que es lo que el usuario quiere buscar, algo así como, si el campo Tema y Autor están vacíos y el de Editorial no lo esta, entonces lo que quiere buscar es por editorial y armas el select por editorial.
Respuesta
1
Disculpa la demora, he visto que te han contestado la pregunta y quizás ya resolviste tu problema, pero de todos modos espero que esto te sirva para algo
Puedes crear un formulario y utilizar optionbutton, para establecer búsquedas ya sea por autor, tema, libro, etc
Y un command button para buscar, una caja de texto y por supuesto una rejilla de datos o datgrid,
En el botón buscar dependiendo que botón este seleccionado para la cual utiliza un case realizaras las búsquedas, yo utilizo findfirst por ejemplo
Mivalor=cajatexto.text
criterio = "tema = '" & MiValor & "'" 'tema es el campo por el que vas a buscar
dtalibros.Recordset.FindFirst criterio 'busca el primer registro que cumpla el criterio de busqueda
If dtalibros.Recordset.NoMatch Then 'si el tema no se encuentra
MsgBox ("El tema no se encuentra")
End If
End If
Respuesta
Lo mejor que puedes hacer es buscar un libro de Visual Basic, que normalmente siempre viene con ejemplos de acceso a bases de datos. Ademas deberías leerte algo acerca de SQL, un lenguaje que te permite hacer consultas sobre una base de datos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas