Ver Mensaje Individual
  #1  
Antiguo 12-08-2011
chalo chalo is offline
Registrado
NULL
 
Registrado: ene 2011
Posts: 9
Reputación: 0
chalo Va por buen camino
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.
Responder Con Cita