![]() |
Posicionarse en una tabla
Saludos:
Mi problema es el siguiente: Necesito posicionarme correctamente en una tabla paradox para poder eliminar un registro. Le paso como parámetros la clave primaria. Mi codigo es el siguiente: Tabla.Open; Tabla.FindKey([variable]); Tabla.Delete; Tabla.Close; El problema es que no consigo que se posicione en el lugar correcto. Siempre me borra el primer registro de la tabla. Gracias de antemano, un saludo y Orsajo. |
Hola,
No sé si tendrías que comprobar previamente que "FindKey" tiene un resultado positivo, algo más o menos como esto: Porque puede ser que la función devuelve "False" y, según la ayuda de Delphi en ese caso no se moverá el cursor... Cita:
|
Si, pero no
Este codigo, por desgracia, no me soluciona el problema, puesto que ahora ya no me borra el primero registro siempre, pero sigue sin borrarme el adecuado.
Lo que yo busco es que se posicione correctamente y borre el contenido. De todas formas, te agradezco tu respuesta. Un saludo, Orsajo. |
Hola,
Creo que tú mismo estás utilizando las palabras que te dan una posible respuesta. Si el código que te he propuesto anteriormente sigue sin funcionarte significa algo: la función "FindKey" no obtiene resultados, devuelve "False" y, por lo tanto, no hay posibilidad de situar el cursor en un registro y mucho menos borrarlo. ¿Estoy equivocándome en algo? ;) |
Es posible
Es muy posible. Pero entonces, planteo otra cuestión, ¿existe alguna solución alternativa?, ¿como puedo eliminar un registro teniendo la clave primaria escrita en un edit?.
Gracias de nuevo. Orsajo |
Buenas!
Prueba con una sentencia SQL de eliminación: query.sql.text := 'delete from tabla where clave = ' + quotedStr(Edit1.text); query.execSQL; Por cierto, el quotedStr sólo lo tienes que poner si la clave es alfanumérica Un saludo Edu |
Gracias
Gracias a todos:
Ya esta todo solucionado, el problema era que la clave es compuesta. TABLA.FINDKEY([CLAVE1, CLAVE2]); Y todo solucionado, gracias de nuevo, a todos. Un saludo, Orsajo. |
La franja horaria es GMT +2. Ahora son las 05:02:54. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi