|
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.
|