FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
registros que no se ven en ado
Buenos días, en una aplicación hecha en delphi7 y con ADO, ocurre lo siguiente:
al grabar algún registro, luego lo intentas localizar y no aparece, pero al día siguiente sí, o por ej. tienes 5 apellidos santana, localizas y solo aparece uno. Al crear un registro, se introducen los datos y en la opción grabar, tiene al final el post, así que no veo la razón a este problema. Eso sí, la tabla es de access y ya tiene unos 10.000 registros. Sabe alguien cual puede ser el problema??? Gracias y saludos a todos... |
#2
|
|||
|
|||
cosas que faltaron por decir
Solo tengo unas preguntas
COMO CONSULTAS LOS DATOS? Estas actualizando los datos? |
#3
|
|||
|
|||
consulta de los datos
Lo hago con Locate, y los visualizo con un dbgrid...
por ej. un tedit pongo un apellido, al pulsar una enter localizo con locate lo que esté escrito en ese edit y el cursor se situa en la primera correspondencia que encuentre y se visualiza en un dbgrid, pero el problema es que aparece cuando le dá la gana, si hay 5 por ej. santana, solo se vé uno y mañana se ven los cinco. No sé es raro, y no creo que 10000 registros para .MDB sea mucho... Saludos... |
#4
|
|||
|
|||
trata lo siguiente
el locate solo se posiciona en un registro determinado
no filtra los registro para mostrar solo lo que coinciden por ej adotable1.locate('campo',parametro,[]); que hara buscar la primera coincidencia ahora biene mi respuesta intenta con un tquery o un adoquery donde la busqueda se debe hacer mediante sql. |
#5
|
|||
|
|||
tienes razón
Efectivamente, tienes razón, y eso es realmente lo que quiero, que se posicione(con locate) en la primera coincidencia parcial que encuentre(pasándole el parametro lopartialkey). Hacerlo lo hace, pero cuando le dá la gana.
Vamos a ver, pongamos por ej. que tengo 4 1ºs apellidos, Santana, y yo busco santana, pues en el dbgrid aparecen, sin filtrar, ya que no quiero filtros, el primer registro que empieza por santana, y los otros tres siguientes: santana perezsantana cruz santana glez santana díaz pero al igual lo hago al día siguiente y no aparecen los cuatro sino que aparece solo uno, no sé si he logrado explicarlo, es como si hubieran desaparecido. Se ven todos los datos en el dbgrid y se posiciona en el primer santana, y los otros 3 no están, y a lo mejor por la tarde lo intento y si se muestran los otros tres. Es raro. Gracias de nuevo... |
#6
|
|||
|
|||
bien si lo que quieres es eso
si lo que quieres es la primera coincidencia
entonces usa un 'like' (claro esto es dentro de una sentencia sql) usa un adoquery y usa lo siguiente sentencia en un adoquery adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add('select * from tabla where campo like paramentro%'); adoquery1.execsql; adoquery1.open; claro lo que hara es tomar la primera coincidencia con el parametro que le asignes. ahora si no tienes conocimiento de como hacerlo solo dilo ahora |
|
|
|