tengo una tabla llamada suscriptor en esta tabla esta todo actualizado porque esta se genera automáticamente en la base de datos lo que quiero es traer un dato de esta tabla suscriptor e igualarla con otra que se llama suicopia y si suicopia no esta esa fila o campo actualizado me lo actualice mediante la tabla suscriptor esto tiene que ser mediante un botón que se llama igualar
agradezco quien me pueda colaborar con esto la verdad soy novato en delphi y no se como hacer esto y pues la verdad lo necesito un poco urgente
Bueno estoy realizando lo siguiente Tengo Tres DBGrid los cuales tengo de la siguiente manera Conectados mediante ADOConnection1 para la base de datos en el primer DBGrid1 realizo lo siguiente traigo mediante un ADOQuery1 y ADOQuery2 los datos de la tabla suicopia y otra que se llama barreal mediante Cuando doy clic en un DBCombox ay es donde me trae los datos de la tabla barreal y este a su vez me recoge los datos de suicopia y me muestra todos los datos en la DBgri1.
En la siguiente DBGrid2 es lo mismo traigo los datos mediante ADOQuery Y me los Muestra en La DBGrid2 Pero mediante DBEdit pero estos son los campos de la tabla suscriptor este es el código de como traigo los datos para que se muestren en las DBGrid bueno lo que quiero es mediante un botón cuando se seleccione una fila de la DBGrid2 me actualice o me iguale los datos de la DBGrid1 que Tenga el mismo código o si le faltan datos a esta fila me los cambie. cabe anotar que la tabla que yo llamo suscriptor es la que esta actualizada y suicopia es la que tengo que actualizar.
muchas gracias por su colaboración.
aca coloco el codigo de como llamo los datos de las dos tablas:
unit Unit3; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Menus, DB, ADODB, DBCtrls, Buttons, Grids, DBGrids, DBTables, Provider, Mask, FMTBcd, SqlExpr, jpeg; type TForm3 = class(TForm) Shape1: TShape; Label1: TLabel; Image1: TImage; MainMenu1: TMainMenu; Archivo1: TMenuItem; Salir1: TMenuItem; DBGrid1: TDBGrid; ADOConnection1: TADOConnection; DBNavigator1: TDBNavigator; DBGrid2: TDBGrid; DBLookupComboBox1: TDBLookupComboBox; DBNavigator2: TDBNavigator; Label2: TLabel; Label3: TLabel; Label4: TLabel; DBEdit4: TDBEdit; DBEdit5: TDBEdit; DBEdit6: TDBEdit; DBEdit7: TDBEdit; DBEdit8: TDBEdit; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; ADOQuery5: TADOQuery; DataSource5: TDataSource; DBGrid3: TDBGrid; DBNavigator3: TDBNavigator; ADOQuery6: TADOQuery; DataSource6: TDataSource; Panel1: TPanel; Panel4: TPanel; SpeedButton3: TSpeedButton; SpeedButton1: TSpeedButton; Label10: TLabel; Label11: TLabel; Label12: TLabel; DBEdit2: TDBEdit; DBEdit3: TDBEdit; ADOQuery3: TADOQuery; DataSource3: TDataSource; DataSource4: TDataSource; ADOQuery4: TADOQuery; ADOQuery1: TADOQuery; DataSource1: TDataSource; DataSource2: TDataSource; ADOQuery2: TADOQuery; DBEdit1: TDBEdit; Panel2: TPanel; SpeedButton4: TSpeedButton; Panel3: TPanel; SpeedButton2: TSpeedButton; procedure Salir1Click(Sender: TObject); procedure DBLookupComboBox1Click(Sender: TObject); procedure DBEdit1Change(Sender: TObject); procedure DBEdit2Change(Sender: TObject); procedure DBEdit3Change(Sender: TObject); procedure DBEdit4Change(Sender: TObject); procedure DBEdit5Change(Sender: TObject); procedure DBEdit6Change(Sender: TObject); procedure DBEdit7Change(Sender: TObject); procedure DBEdit8Change(Sender: TObject); procedure SpeedButton1Click(Sender: TObject); procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); private { Private declarations } public { Public declarations } end; var Form3: TForm3; Filtro : String; implementation uses Unit1, Unit2; const SQLOriginal ='select * from BARREAL'; {$R *.dfm} //Se ejecuta el codigo para salir del formulario con el comando close. procedure TForm3.Salir1Click(Sender: TObject); begin close end; // Este es el procedimiento para llamar los datos de suicopia procedure TForm3.DBLookupComboBox1Click(Sender: TObject); begin ADOQuery2.Close; ADOQuery2.SQL.Text :='select * from suicopia where nom_barrio='+ QuotedStr(DBLookupComboBox1.Text);; ADOQuery2.Open; end; // Este procedimiento es para llamar los campos ala segunda DBGrid2 procedure TForm3.DBEdit1Change(Sender: TObject); begin ADOQuery3.Close; ADOQuery3.SQL.Text :='select * from SUSCRIPTOR where primera='+ QuotedStr(DBEdit1.Text);; ADOQuery3.Open; end; procedure TForm3.DBEdit2Change(Sender: TObject); begin ADOQuery3.Close; ADOQuery3.SQL.Text :='select * from SUSCRIPTOR where segunda='+ QuotedStr(DBEdit2.Text) + ' and primera='+ QuotedStr(DBEdit1.Text);; ADOQuery3.Open; end; procedure TForm3.DBEdit3Change(Sender: TObject); begin ADOQuery3.Close; ADOQuery3.SQL.Text :='select * from SUSCRIPTOR where tercera='+ QuotedStr(DBEdit3.Text) +' and primera='+ QuotedStr(DBEdit1.Text) + ' and segunda='+ QuotedStr(DBEdit2.Text);; ADOQuery3.Open; end; procedure TForm3.DBEdit4Change(Sender: TObject); begin ADOQuery6.Close; ADOQuery6.SQL.Text :='select * from suicopia where sector='+ QuotedStr(DBEdit4.Text);; ADOQuery6.Open; end; procedure TForm3.DBEdit5Change(Sender: TObject); begin ADOQuery6.Close; ADOQuery6.SQL.Text :='select * from suicopia where seccion='+ QuotedStr(DBEdit5.Text) +' and sector='+ QuotedStr(DBEdit4.Text);; ADOQuery6.Open; end; procedure TForm3.DBEdit6Change(Sender: TObject); begin ADOQuery6.Close; ADOQuery6.SQL.Text :='select * from suicopia where manzana='+ QuotedStr(DBEdit6.Text) +' and sector='+ QuotedStr(DBEdit4.Text) + ' and seccion='+ QuotedStr(DBEdit5.Text);; ADOQuery6.Open; end; procedure TForm3.DBEdit7Change(Sender: TObject); begin ADOQuery6.Close; ADOQuery6.SQL.Text :='select * from suicopia where lote='+ QuotedStr(DBEdit7.Text) +' and sector='+ QuotedStr(DBEdit4.Text) + ' and seccion='+ QuotedStr(DBEdit5.Text) + ' and manzana='+ QuotedStr(DBEdit6.Text);; ADOQuery6.Open; end; procedure TForm3.DBEdit8Change(Sender: TObject); begin ADOQuery6.Close; ADOQuery6.SQL.Text :='select * from suicopia where mejora='+ QuotedStr(DBEdit8.Text) +' and sector='+ QuotedStr(DBEdit4.Text) + ' and seccion='+ QuotedStr(DBEdit5.Text) + ' and manzana='+ QuotedStr(DBEdit6.Text) + ' and lote='+ QuotedStr(DBEdit7.Text);; ADOQuery6.Open; end; //Procedimiento para colocarle //color ala fila de la DBGrid procedure TForm3.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if gdSelected in State then with DBGrid1 do begin Canvas.Brush.Color:=clRed; Canvas.Font.Color:=clWhite; DefaultDrawColumnCell(Rect, DataCol, Column, State); end; end; end. end.
Agradezco su colaboración es que necesito un poco urgente: