Visual Basic - busqueda en grandes bases de datos

Life is soft - evento anual de software empresarial
 
Vista:

busqueda en grandes bases de datos

Publicado por danimendi (6 intervenciones) el 12/01/2009 07:16:20
Hola a todos.
Estoy haciendo uan aplicacion para un centro médico....no tengo mucha experiencia y desarrollando esta me surgió una duda en cuanto al sistema de búsqueda de pacientes, ya que va a contener cerca de 1000 pacientes que método e búsqueda es mejor?
1)Iterar registro por registro
->Hacer un bucle que revise desde el registro uno hasta el 1000 en busca de un paciente (que debe ser comparando nombres....ya que documento no es la prioridad en la búsqueda)
ó
2)Hacer una consulta SQL
->Que no se hacer muy bien ....creo qu es algo asi:
"select * from pacientes where nombre like ' " & Text1.Text & " ' "
corrijanme si algo esta mal

PD: Estoy usando ADO con una DB Access (.mdb) en Visual Basic 6
Gracias por su atención
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:busqueda en grandes bases de datos

Publicado por cmgcharli (128 intervenciones) el 12/01/2009 07:55:44
Yo lo haria mediante una consulta de SQL , primero es mucho mas rapido y además requiere menos codigo para localizar un registro determinado que se busca
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:busqueda en grandes bases de datos

Publicado por danimendi (6 intervenciones) el 12/01/2009 08:16:09
como se haria la consulta sql...masomenos debría hacerlo con like o solo con where???.....¿no importa q sean tantos registros.....tengo la impresión (...son solo suposiciones...sin fundamento) que tendería a "lentearse" o bloquerse el sistema ...estoy en lo correcto??....o con la SQL Query no ocurriría eso....gracias
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:busqueda en grandes bases de datos

Publicado por cmgcharli (128 intervenciones) el 15/01/2009 10:06:28
Primero decirte que si buscas por nombre lo más seguro es que existan mas de un registro con el mismo nombre, por lo cual lo más concreto para buscar seria por apellidos yo en tu caso crearia tres TextBox , TextBoxNombre, TextBoxApellido1 y TextBoxApellido2
La consulta podrias utilizar el LIKE como indicas en tu ejemplo o la función INSTR()
Esta función lo que hace es buscar un cadena de texto determinado dentro de otro texto y devuelve la posición del primer caracter en el texto de la cadena buscada en caso de no encontra coincidencia devuelve 0.
Ejemplo:

"SELECT * FROM PACIENTES WHERE INSTR(NOMBRE,' " & TextBoxNombre & " ')<>0 AND INSTR(APELLIDO1,' " & TextBoxApellido1 & " ')<>0 AND INSTR(APELLIDO2, ' " & TextBoxApellido2 & " ' )<>0 "

Nota: NOMBRE, APELLIDO1 y APELLIDO2 son campos de la tabla PACIENTES
La consulta estraera aquellos registro en que encuentre en dicho campos los datos escritos en los textBox y solo si los encuentra en los tres campos, logicamente la consulta tendra diferentes criterios de coincidencia según tus necesidades.
Saludos y espero que te sirva de orientación.
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