Muchísimas gracias, ya sé como funciona. El problema que tengo ahora es que cuando obtengo el ID de la tabla principal, no me dejarlo insertarlo en otra tabla con la clave ajena. Lo detallo mejor:
Código:
DISTRIBUIDOR CATALOGOS TIENDAS
distribuidor_id (autonumérico) catalogo_id(autonumérico) tienda_id
Nombre Titulo Nombre
Telefono Foto Logo
Logo fecha_inicial distribuidor_id
fecha_fin
distribuidor_id(numero)
tienda_id(numero)
Esa es la base de datos. Me he creado una variable global de tiempo String (porque me daba fallo con el entero), la consulta que hice para obetener el ID del distribuidor es:
Código:
void __fastcall TXGestionTienda::ComboBox1Change(TObject *Sender)
{
XDatos->QDistribuidor->Close();
XDatos->QDistribuidor->SQL->Text = "select * from distribuidor where nombre = '"+ComboBox1->Text+"'";
XDatos->QDistribuidor->Open();
codigoD = XDatos->QDistribuidorDistribuidor_id->Value;
//ShowMessage(codigoD);
}
Ya obtenido el ID, lo quiero asignar a la tabla TIENDAS para insertar una nueva tienda asignandole el distribuidor, lo que he hecho es:
Código:
void __fastcall TXGestionTienda::BitBtn1Click(TObject *Sender)
{
XDatos->QTienda->Append();
XDatos->QTienda->SQL->Text = "insert into tiendas(distribuidor_id) values ("+codigoD+")";
XDatos->QTienda->Post();
}
Y el error que me salta es: " No se puede agregar o cambiar el registro porque se necesita un registro relacionado en la tabla 'DISTRIBUIDOR' ". Eso es lo que ya no sé hacer.
Un saludo.