Ver Mensaje Individual
  #13  
Antiguo 28-03-2008
aanil aanil is offline
Miembro
 
Registrado: abr 2006
Posts: 155
Reputación: 19
aanil Va por buen camino
Consulta de una tabla1 para agregar en otra tabla2

Caral observa paso por paso

El form1.
Contiene :
un Edit1.text para realizar la consulta
Un boton para la consulta con el siguiente codigo
un DBGRID conectodo correctamente, pues se ven todos los registros, luego de la primera consulta los registros no vuelven aparecer.
Este el codigo para el boton de consulta.

procedure TForm1.Button1Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('Select carnet,nombres,apellido1,apellido2');
adoquery1.SQL.Add('from semma' );
adoquery1.SQL.Add('Where carnet =' + edit1.Text );
adoquery1.Open;
end;

( Funciona)

Otro boton para agregar la consulta a un adotable1 que esta en el form2
con el siguiente codigo ( que es el que creo no esta correcto, pero me funciona a media, o sea envia la consulta, pero no la veo en el momento hasta que no salga de la aplicacion y vuelva a entrar) Tiene el siguiente codigo>

procedure TForm1.Button2Click(Sender: TObject);

begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('insert into duplica(carnet,nombres,apellido1,apellido2)');
adoquery1.SQL.Add('select carnet, nombres,apellido1,apellido2 from semma');
adoquery1.SQL.Add('Where carnet =' + edit1.Text );
adoquery1.ExecSQL;

end;

El form2 tiene un dbgrid un un bonto para limpiar o borrar los registros de la tabla auxiliar *es una adotable1*
Este es el codigo del boton que borra los registros de la tabla auxiliar.

While not form1.Adotable1. Eof do
Begin
form1.adotable1.active := true;
form1.adotable1.delete;
end;

Ahora le presento las dos unidades que he hecho:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,ComObj, StdCtrls, DB, Grids, DBGrids, ADODB, Buttons, ExtCtrls, DBCtrls,
OleServer, Word2000;

type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
DataSource2: TDataSource;
DBGrid1: TDBGrid;
ADOTable1CARNET: TIntegerField;
ADOTable1NOMBRES: TWideStringField;
ADOTable1APELLIDO1: TWideStringField;
ADOTable1APELLIDO2: TWideStringField;
Edit1: TEdit;
Button1: TButton;

ADOQuery1CARNET: TIntegerField;
ADOQuery1NOMBRES: TWideStringField;
ADOQuery1APELLIDO1: TWideStringField;
ADOQuery1APELLIDO2: TWideStringField;
BitBtn1: TBitBtn;
Button3: TButton;
BitBtn2: TBitBtn;
Label1: TLabel;
SpeedButton1: TSpeedButton;
Label2: TLabel;
Image1: TImage;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);

private
{
procedure Button2Click(Sender: TObject);Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('Select carnet,nombres,apellido1,apellido2');
adoquery1.SQL.Add('from semma' );
adoquery1.SQL.Add('Where carnet =' + edit1.Text );
adoquery1.Open;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('insert into duplica(carnet,nombres,apellido1,apellido2)');
adoquery1.SQL.Add('select carnet, nombres,apellido1,apellido2 from semma');
adoquery1.SQL.Add('Where carnet =' + edit1.Text );
adoquery1.ExecSQL;

end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
form2.showmodal;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
edit1.Clear;
edit1.SetFocus;
adoquery1.Sort;
end;

procedure TForm1.SpeedButton1Click(Sender: TObject);
var
Word:variant;
Documento:Variant;
Begin

(*Creas un objeto Word*)
Word:=CreateOleObject('word.application');

(*Abrir documento Word*)
Documento := Word.Documents.OPEN('C:\SEMMA486\listado.dot');
Documento.fields.Update;
documento.fields.toggleShowCodes;
Word.visible := true;


end;

end.








nit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComObj,StdCtrls, Buttons, ExtCtrls, DBCtrls, Grids, DBGrids;

type
TForm2 = class(TForm)
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
BitBtn1: TBitBtn;
Button1: TButton;
SpeedButton1: TSpeedButton;
procedure Button1Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
While not form1.ADOTable1.Eof do
begin
form1.ADOTable1.Active := true;
form1.ADOTable1.Delete;
end;
end;
procedure TForm2.SpeedButton1Click(Sender: TObject);

var
Word:variant;
Documento:Variant;
Begin

(*Creas un objeto Word*)
Word:=CreateOleObject('word.application');

(*Abrir documento Word*)
Documento := Word.Documents.OPEN('C:\semma486\listado.doc');

Documento.fields.Update;
documento.fields.toggleShowCodes;
Word.visible := true;

end;

end.



Responder Con Cita