como llenar un combobox y guardar los datos
hola a todos tengo un severo problema para el llenado de un combobox
quiero hacer una busqueda mostrando los nombres de la clave pero que haga referencia a su clave su id :( ya he estado haciendo algo de lo que aqui vi pero no logro hacerlo que funcione. Ojala y me puedan ayudar graxias |
hola Amix podrias postear el codigo que estas utilizando? asi te podremos ayudarte.
Saludos. |
si mira esto es lo q estoy haciendo pero a la hora de correrlo no me aparece nada
procedure TfrmConceptos.txtcbChange(Sender: TObject); begin sqlBuscar.SQL.Text:='SELECT CVE_TIPOCOBRO FROM CONCEPTOS'; sqlBuscar.Active:=true; while not sqlBuscar.Eof do begin txtcb.Items.Add(sqlBuscar.Fields[0].text); sqlBuscar.Next; end; |
intenta pornerlo en el OnCreate del form luego me comentas. Saludos |
graxias enecumene por atenderme
pero sigo igual no me aparecen los balores mira te paso todo el codigo igual a la mejor estoy haciendo mal uso de el mismo. Estoy haciendo una busqueda como se muestra esta tabla esta se relaciona con 3 tablas como le puedo hacer para que busque por el nombre y no por su id. Aqui esta el codigo los otros combos no los he puesto porq primero estoy calando con uno. Espero haberme explicado saludos Codigo delphi[-]procedure TfrmConceptos.btnBuscarClick(Sender: TObject); begin sqlBuscar.Close; sqlBuscar.SQL.Clear; sqlBuscar.SQL.Add(' SELECT ID_CONCEPTO, '); sqlBuscar.SQL.Add(' CVE_CODIGO, '); sqlBuscar.SQL.Add(' FACTOR, '); sqlBuscar.SQL.Add(' CANTIDAD, '); sqlBuscar.SQL.Add(' ID_TRAMITE, '); sqlBuscar.SQL.Add(' ID_UNIDAD, '); sqlBuscar.SQL.Add(' ID_TIPO_PAGO, '); sqlBuscar.SQL.Add(' ID_TIPO_COBRO '); sqlBuscar.SQL.Add(' FROM CONCEPTOS '); sqlBuscar.SQL.Add(' WHERE 1=1 '); if txtclave.Text<>'' then begin sqlBuscar.SQL.Add(' AND ID_CONCEPTO='+ txtclave.Text); cdsBuscar.Open; Limpiardatos; end; if txtcb.Text<>'' then begin sqlBuscar.SQL.Add(' AND CVE_CODIGO LIKE'''+txtcb.Text+ '%'''); cdsBuscar.Open; Limpiardatos; end; if txtfactor.Text<>'' then begin sqlBuscar.SQL.Add(' AND FACTOR='+ txtfactor.Text); cdsBuscar.Open; Limpiardatos; end; if txtcantidad.Text<>'' then begin sqlBuscar.SQL.Add(' AND CANTIDAD='+txtcantidad.Text); cdsBuscar.Open; Limpiardatos; end; if txttramite.Text<>'' then begin sqlBuscar.SQL.Add(' AND ID_TRAMITE='+txttramite.Text); cdsBuscar.Open; Limpiardatos; end; if (txtunidad.Text)<>'' then begin sqlBuscar.SQL.Add(' AND ID_UNIDAD='+txtunidad.Text); Limpiardatos; cdsBuscar.Open; end; if (txtpago.Text)<>'' then begin sqlBuscar.SQL.Add(' AND ID_TIPO_PAGO='+txtpago.Text); Limpiardatos; cdsBuscar.Open; end; if (txtcobro.Text)<>'' then begin sqlBuscar.SQL.Add(' AND ID_TIPO_COBRO='+txtcobro.Text); Limpiardatos; cdsBuscar.Open; end; end; procedure TfrmConceptos.Limpiardatos; begin txtclave.clear; txtfactor.Clear; txtcantidad.Clear; txttramite.Clear; txtunidad.Clear; txtpago.Clear; txtcobro.Clear; txtcb.Clear; end; procedure TfrmConceptos.btnSalirClick(Sender: TObject); begin CLOSE; end; procedure TfrmConceptos.FormCreate(Sender: TObject); begin sqlBuscar.SQL.Text:='SELECT CVE_TIPOCOBRO FROM CONCEPTOS'; sqlBuscar.Active:=true; while not sqlBuscar.Eof do begin txtcb.Items.Add(sqlBuscar.Fields[0].text); sqlBuscar.Next; end; cdsBuscar.Open; end; [/quote] |
Necesitas unir las tablas por las claves en común.
Suponiendo algunos nombres de campos sería: Por claridad solo he usado 2 tablas, la de conceptos y la de trámites, pero es cuestión de unir todas las tablas. Busca un manual de sql en la web por "inner join" Saludos |
Muchas graxias Lepe eso hare saludos =)
|
intenta esto:
Cita:
Ahh, pero esto lo puse en un Boton, si no, no me servia Bueno, en este boton, almaceno datos en la Base de datos USUARIOS per ademas, lleno un combo box con un campo de tres que tengo en mi tabla USUARIOS, el campo que almaceno es direccion: procedure TForm1.Button2Click(Sender: TObject); begin ComboBox1.Clear; //DataModule1.ADOQuery1.SQL.Add('select direccion from usuarios'); // Abrir la consulta DataModule1.ADOQuery2.Open; // recorrido while not (DataModule1.ADOQuery2.Eof) do begin // Rellenar el combo ComboBox1.Items.Add(DataModule1.ADOQuery2.Fields[0].AsString); DataModule1.ADOQuery2.Next; end; DataModule1.ADOQuery2.Close; //ADOConnection1.Close; end; end. Metelo en un boton y veras que si funciona |
La franja horaria es GMT +2. Ahora son las 10:15:13. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi