![]() |
relacionar campos
buenas...mi consulta es la siguiente,
estoy trabajando con delphi 7 y con access 2007. tengo dos tablas: contactos y categorias. en contactos tengo los siguientes campo. @idcontacto / @id_categoria / nombre / direccion / telefono 1 1 gonzalo mendoza 4333222 2 2 diego catamarca 4443332.. @id contacto:clave primaria @categoria: clave foranea. y en categorias tengo: @id_categoria / descripcion 1 familiares 2 amigos... y lo que deseo hacer es insertar un registro en la tabla contactos. entonces lo que entiendo es que de alguna forma debo saber el id_categoria para poder insertar el registro en ese campo. entonces lo que hago es lo siguiente atraves de unos edit y tcombobox, en el combobox cargo todos las categorias como una lista atravez de la propiedad tcombobox.items.add(....) eso me sale perfecto porque me muestra bien la lista de la tabla categorias. entonces hago: dmcontactos.tblcontactos.insert; dmcontactos.tblcontactosIDCONTACTOS.asinteger:= id; dmcontactos.tblcontactosNOMBRE.asstring:= edit1.text; dmcontactos.tblcontactosDIRECCION.asstring:= edit2.text; dmcontactos.tblcontactosTELEFONO.asvariant:= edit3.text; dmcontactos.tblcontactosID_CATEGORIA.asvariant:= tcombobox.text; dmcontactos.tblcontactos.post; entonces el problema se produce solo en la parte del tcombobox, por que me dice el campo tiene que tener alguna relacion con la otra tabla y dice key violation no se puede cambiar o agregar el registro por que se necesita un registro relacionado en la tabla 'CATEGORIAS' podrian ayudarme por favor? gracias. chalo. |
Hola Chalo.
Primeramente esta línea es muy peligrosa: Cita:
Tanto es así que le estás asignando la propiedad Text (AnsiString) desde un TComboBox. En cuanto a como seleccionar la categoría, si ya están ingresadas, sería más sencillo en lugar de TEdit y TComboBox usar TDBEdit y TDBLookupComboBox. Pone tres DBEdits y en cada uno las siguientes propiedades:
Y para ingresar valores en @categoria, al TDBLookupComboBox, asignale las siguientes propiedades:
De esa forma al campo @categoria de la tabla contactos, solo se le podrán asignar valores existentes en la tabla categorias. Un saludo. |
| La franja horaria es GMT +2. Ahora son las 16:24:20. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi