Esta vez necesito que me ayuden con este componente. Estoy trabajando con Firebird 2.1 y Delphi7
Tengo la siguiente situacion:
Tengo una tabla clientes y otra articulos.
2 DBLookupComboBox, en los que cargue por medio del siguiente codigo, los valores nombre de cliente y titulo de articulo respectivamente.
delphi
zquery1.close; zquery1.sql.Clear; zquery1.sql.Add('select id_cliente, nombre from Tclientes'); zquery1.open; DBLookUpComboBox2.ListSource:=Datasource3; DBLookUpComboBox2.ListField:='nombre'; DBLookUpComboBox2.KeyField:='id_cliente'; zquery2.close; zquery2.sql.Clear; zquery2.sql.Add('select id_Articulo, titulo from Tarticulos'); zquery2.open; DBLookUpComboBox3.ListSource:=Datasource4; DBLookUpComboBox3.ListField:='titulo'; DBLookUpComboBox3.KeyField:='id_articulo';
Ahora lo que quiero es poder seleccionar un nombre de cliente, un articulo y almacenar los ID de cada uno en una tabla pedidos, ademas de otros valores que ingreso por Tedit, pero el problema es con estos dos valores.
Se que tengo que asignar en las propiedades DataSource, la tabla de destino y en DataField, el campo en el que se guardará el valor que hay en KeyField. (si me equivoco pido que me corrijan).
Lo que no se es como va la secuencia del codigo o como es el codigo con respecto al almacenamiento de estos valores, probe de la siguiente manera:
delphi
TPedidos.Insert; DBLookUpComboBox2.DataSource:=DataSource5; DBLookUpComboBox2.DataField:='id_cliente'; DBLookUpComboBox3.DataSource:=DataSource5; DBLookUpComboBox3.DataField:='id_articulo'; TPedidos.FieldByName('cantidad').asinteger:=strtoint(Ecantidad.Text); TPedidos.FieldByName('fecha').AsDateTime:=DTFecha.DateTime; TPedidos.Post;
A este codigo lo tengo en un boton. Lo que pasa se que de alguna manera guarda valores, no me da error. Pero a los combobox, los deja vacio. Cuando quiero volver a elegir ya sea un cliente o un articulo, los campos combobox del registro que supuestamente se habian guardado vacios, se modifican almacenando el correspondiente id_cliente e id_articulo.
Hago click nuevamente en guardar y pasa lo mismo. Valores en blanco hasta que vuelvo a seleccionar y recien se visualizan.
Todo esto lo veo en un DBGrid que tengo.
Espero que me hayan entendido.
Estoy experimentando (aprendiendo) con todo esto, quizas no sea correcto lo que estoy haciendo, pero imagino que se puede realizar.
Muchisimas gracias por su tiempo!