modificar una tabla filtrada
ante todo buenos dia, el motivo de este mensaje es para una vez mas pedir su ayuda, resulta que estoy trabajando con dos tablas la primera T_clientes y la segunda T_telcliente en donde T_telcliente puede guardar muchos telefonos del mismo cliente, el alta de clientes lo hice sin problemas, lo que no logro conseguir es modificar esos datos ya que cuanDo quiero buscarlos por medio de un Query ,me dice invalid field name este es my Query:
Código SQL [-]Query1.SQL.clear; Query1.SQL.Add('SELECT Numero from T_telcliente where Cod_cliente=DBedit1.text'); Query1.active:=true; Query1.open; El campo que estoy buscando (Numero) es una clave secundaria,de la tabla T_telcliente. despues intente hacerlo con un filter y me muestra los datos que nesecito pero no me deja editarlos por lo tanto esa opcion no me sirve PD:utilizo un DBedit porque es el que hace la relacion con la tabla T_cliente para traer sus datos, despues tengo un DBgrid relacionado con el Query y un DBnavigator para poder modificar los datos del telefono del cliente bueno espero que me puedan dar una ayudita con esto, y muchas gracias |
Hola
Da la impresion de que el campo Cod_Cliente es Numerico????. El DBEdit es un componente NO un campo, por eso no puede estas en la sentencia sql como si lo fuera, para eso se necesita concatenar, trata asi:
Lo demas, esta sobrando. Saludos |
Cita:
gracias caral por la ayuda, lo he probado,con el DBedit y con un edit pero me aparece un mensaje:type mismatch in expression. El campo Cod_Cliente es tipo string porque no son solo numeros tambien tiene guiones |
Hola
Me imagino que el dbedit tiene un query o table independiente del de esta sentencia. Lo que dice el mensaje es que el tipo de dato no es correcto, lo que quiere decir que o no coincide o no lo encuentra pudiendo ser un null. Saludos PD: Que base de datos usas? |
hola caral, si, el DBedit esta relacionado con la tabla T_clientes y es el resultado de una busqueda echa en la tabla T_cliente, con respecto al error estoy seguro que es la opcion de que el tipo de datos es incorrecto ya que el valor que estoy buscando existe porque lo hice yo mismo, creo que es por la forma de agregar el dbedit al query ya que el campo a buscar existe y el campo Cod_cliente es tipo texto y el campo dbedit tambien. seguire buscando la forma de solucionar esto, gracias
|
Hola
Usa una variable y un parametro, tal vez ayude. En el caso de los dbedit aveces molestan. Saludos |
hola, el problema es que estoy buscando un dato que no es clave primaria, por eso me dice ese error, ahora bien, alguien me podria dar un ejemplo de como asignarle el indice a un campo de la tabla? o como buscar por campos que no sean indices? probe con IndexName o con locate pero el locate es con indices tambien. Saludos
|
Hola
A ver asi: Saludos PD: Con que base de datos esta trabajando? |
trabajo con database desktop que viene con delphi7 (las tablas las hice en paradox 7)
ahora me aparece: [Error] Unit8.pas(129): Undeclared identifier: 'Parameters' [Error] Unit8.pas(129): Missing operator or semicolon a no se que hacer, dejo el codigo a ver si se puede hacer algo para poder terminar con esto
|
Hola
El codigo es un poco lioso para entender lo que pretendes hacer. La unica manera seria viendo el programa y tratar de correrlo. De todos modos: El error es simplemente por que no usa Parameters el query de la paleta BDE, lo que usa es Params. Sigue con este a ver que errores te da: Otra cosa que no entiendo es por que buscas la llave en el edit3 sin embargo buscas el dato en el dbedit1, no se que contienen. Saludos |
Muchas gracias caral me salvaste,esta vez si funciono, porfin podre seguir con mi proyecto gracias.
Lo del edit y dbedit es porque: al ingresar al form el edit y una imagen son los únicos componente visible luego de presionar sobre la imagen de buscar aparece un panel1 que contiene el dbedit y otros componentes, el cual aparece directamente con el dato que deseo mostrar, es decir en el edit se ingresa un dato y en el dbedit solo lo muestra para corroborar que sean correctos los demas datos. |
La franja horaria es GMT +2. Ahora son las 10:34:13. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi