FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Como posicionarme en un registro sin locate?
Tengo una ADOTable, a la cual le hago un locate asi:
si encierro dicha instruccion en un if siempre me da falso, no lo encuentra al parecer porque es un dato de tipo entero y el locate funciona con strings. Como puedo hacer para posicionarme en un registro determinado ya que despues necesito hacer algo asi:
Gracias. |
#2
|
||||
|
||||
cambia el valor de la propiedad recno
ADOTable1.recno := i;
__________________
self.free; |
#3
|
||||
|
||||
el problema es que tengo que posicionarme en el registro que corresponda a un dato entrado por el usuario en un Edit, p. ej:
Si el usuario pone, n. de trabajador = 8026, tengo que posicionarme en ese registro de la tabla, el cual no se que posicion tiene ya que los numeros de trabajadores no son consecutivos. Espero haberme dado a entender. |
#4
|
||||
|
||||
Yo uso "locate" con campos tipo integer sin ningún problema. Lo que tienes que hacer es pasar ese número que teclean en el edit a Integer.
|
#6
|
||||
|
||||
No, actualmente no trabajo con ADO.
¿Has comprobado que teclean un número válido? |
#7
|
||||
|
||||
si claro, hago las pruebas yo mismo
|
#8
|
||||
|
||||
Busca por la función FindKey y similares en la ayuda de Delphi.
A diferencia de Locate, para poder utilizar estas funciones los campos que utilices deben estar indexados. Saludos |
#10
|
|||
|
|||
Locate solo string ???
Locate funciona con todos los tipos de campos.
fijate bien el campo que estas buscando si es realmente el que te interesa y si el valor ingresado existe realmente en tu tabla, ademas si la base de datos es la que piensas que es la que usas y fijate bien todo hehe porque es ilogico lo que expresas aquí. No deberías tener problemas con Locate si realmente existe el valor en el campo donde buscas y la tabla/query donde lo buscas. Código:
if Tabla1.Locate('CAMPO', VARIABLE, [] ) then MessageBox( Handle, PChar( '¡Tás!' ), PChar( 'Info...' ), MB_ICONWARNING) ; |
#11
|
||||
|
||||
Perdon por la respuesta tardía, me olvidé completamente de éste hilo. La verdad si traté todo lo que me comentan, he usado un Locate docenas de veces , y jamás habia tenido problemas (ni con una TTable común, ni con MDOTable que usé alguna vez cuando trabajé con firebird). Asi que yo se lo atribuyo a los ADO o bien a mi base de datos sql server, o tal vez me volví tonto, en fin... Al final lo solucioné con la sugerencia del FindKey de Hector Randolph.
Muchas gracias a todos por su interés. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ubicar el siguiente registro de un LOCATE ?? | amadis | Conexión con bases de datos | 2 | 13-10-2007 15:58:48 |
Cómo se usa la función Locate? | Javi2 | Varios | 4 | 25-04-2007 10:52:00 |
Posicionarme en un registro especifico de un record | Carliviris | Varios | 1 | 20-11-2006 18:35:41 |
Posicionarme en un dataset | dmagui | Conexión con bases de datos | 2 | 29-09-2005 20:06:08 |
¿Como buscar un registro y posicionarme en una tabla ADO? | Repelus | Conexión con bases de datos | 2 | 24-02-2004 21:48:13 |
|