Hola giulichajarí.
Creo haberte entendido, tal vez te resulte mas simple usar
TDBLookupComboBox en lugar de
TEdit, por ejemplo:
Código Delphi
[-]
...
procedure TForm1.FormCreate(Sender: TObject);
begin
DataSet.Open;
with QryNombre do
begin
Close;
SQL.Text:= 'SELECT ID, NOMBRE FROM TU_TABLA ORDER BY NOMBRE';
Open;
end;
with QryMarca do
begin
Close;
SQL.Text:= 'SELECT ID, MARCA FROM TU_??_TABLA ORDER BY MARCA';
Open;
end;
dsNombre.DataSet:= QryNombre;
dsMarca.DataSet:= QryMarca;
with DBLCBoxNombre do
begin
ListSource:= dsNombre;
ListField := 'NOMBRE';
KeyField:= 'ID';
end;
with DBLCBoxMarca do
begin
ListSource:= dsMarca;
ListField := 'MARCA';
KeyField:= 'ID';
end;
end;
procedure TForm1.btnGuardarClick(Sender: TObject);
begin
with DataSet do
begin
Edit; FieldByName('CARACTERISTICA').AsString:= Format('%s %s %s %s',
[DBLCBoxNombre.KeyValue, EditCaracteristica.Text,
EditMedida.Text, DBLCBoxMarca.KeyValue]);
Post;
end;
end;
En líneas generales selecciona NOMBRE y MARCA desde la/las tablas definidas en las consultas y concatena estos valores con los de los edits Caracteristica y Medida, guardando este resultado en el campo "CARACTERISTICA" de la tabla X.
Saludos