Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-03-2008
aanil aanil is offline
Miembro
 
Registrado: abr 2006
Posts: 155
Poder: 19
aanil Va por buen camino
Consulta de una tabla1 para agregar en otra tabla2

Hola a todos quiero que me corrijan, estoy entreteniendome con esta pequeña aplicacion.

Estos don los codigos de dos botones, el primero hace la consulta de una tabla1, y el segundo agrega esa consulta en otra tabla2, esto funciona.

Ahora el problema es que tengo un tercer boton que limpia el edit1.text y posiciona el cursor en el Edit, pero no se listan de nuevo todos los registros para hacer una nueva consulta.

El otro problema que no puedo ver de inmediato los registros que he agregado en la otra tabla2, para que se vean tengo que salir de la aplicacion y luego entrar y ahi si se ven.

Veamos mi codigo para que en lo posible me ayuden a corregirlo.


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;
end;

end.
Responder Con Cita
  #2  
Antiguo 28-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Código Delphi [-]
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 =  :Carnet' );
adoquery1.Parameters[0].value:= Edit1.Text;
adoquery1.Open;
end;

procedure TForm1.Button2Click(Sender: TObject);

begin
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add('insert into duplica(carnet,nombres,apellido1,apellido2)');
adoquery2.SQL.Add('values '(:carnet, :nombres, :apellido1, :apellido2));
adoquery2.Parameters[0].value:= adoquery1.Filebyname('carnet').Value;
adoquery2.Parameters[1].value:= adoquery1.Filebyname('nombres').Value;
adoquery2.Parameters[2].value:= adoquery1.Filebyname('apellido1').Value;
adoquery2.Parameters[3].value:= adoquery1.Filebyname('apellido2').Value;
adoquery2.ExecSQL;

end;

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

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

end.
Saludos
Responder Con Cita
  #3  
Antiguo 28-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Antes de que me regañen:
Código Delphi [-]
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 =  :Carnet' );
adoquery1.Parameters[0].value:= Edit1.Text;
adoquery1.Open;
end;

procedure TForm1.Button2Click(Sender: TObject);

begin
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add('insert into duplica(carnet,nombres,apellido1,apellido2)');
adoquery2.SQL.Add('values (:carnet, :nombres, :apellido1, :apellido2)');
adoquery2.Parameters[0].value:= adoquery1.Filebyname('carnet').Value;
adoquery2.Parameters[1].value:= adoquery1.Filebyname('nombres').Value;
adoquery2.Parameters[2].value:= adoquery1.Filebyname('apellido1').Value;
adoquery2.Parameters[3].value:= adoquery1.Filebyname('apellido2').Value;
adoquery2.ExecSQL;

end;

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

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

end.
Saludos
Responder Con Cita
  #4  
Antiguo 28-03-2008
aanil aanil is offline
Miembro
 
Registrado: abr 2006
Posts: 155
Poder: 19
aanil Va por buen camino
Consulta de una tabla1 para agregar en otra tabla2

Gracias

La primera parte funciona correctamente, solo tengo adoquery1, y donde envio los datos consultados es un adotable1.

Mi codigo mas o menos funiona, pero lo que pasa es, que cuando quiero ver la tabla segundaria la que es adotable1 mediante el Showmodal Form2, hasta que no salgo de la aplicacion y vuelvo y entro no se visualizan los registros que he consultado en el DBGRID del form2

Quiero ademas que cuiando limpie el edit1.text vuelvan y se listen los registros de dbgrid de donde hago la consulta.

Quiero que tome en cuenta que soy novato.

Gracias
Responder Con Cita
  #5  
Antiguo 28-03-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por aanil Ver Mensaje
Quiero que tome en cuenta que soy novato.
Hola aanil, que quieres decir con que eres novato, que te expliquen con palitos y bolitas, que te hagan el código completo,

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #6  
Antiguo 28-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Cita:
Empezado por egostar Ver Mensaje
Hola aanil, que quieres decir con que eres novato, que te expliquen con palitos y bolitas, que te hagan el código completo,

Salud OS
Amigo, para explicar con palitos y bolitas por lo menos tendria nuestro amigo aanil que dar la explicacion completa, asi es muy dificil.
Vamos a ver si se anima a explicar las cosas, por que yo no soy beisbolista.
Otra cosa aanil, El novato del club soy yo, no me quites el titulo, me ha costado ganarmelo.
Saludos
Responder Con Cita
  #7  
Antiguo 28-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Que base de datos usas?
Saludos
Responder Con Cita
  #8  
Antiguo 28-03-2008
aanil aanil is offline
Miembro
 
Registrado: abr 2006
Posts: 155
Poder: 19
aanil Va por buen camino
Consulta de una tabla1 para agregar en otra tabla2

OK
egostar, ya no vuelvo
Responder Con Cita
  #9  
Antiguo 28-03-2008
aanil aanil is offline
Miembro
 
Registrado: abr 2006
Posts: 155
Poder: 19
aanil Va por buen camino
Consulta de una tabla1 para agregar en otra tabla2

Hola Caral

La base de datos que uso es de ACCESS OFFICE 2003
Responder Con Cita
  #10  
Antiguo 28-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Abajo hay dos botones, presiona, ir a avanzado, veras un boton que dice gestionar archivos adjuntos, presionalo.
Coloca tu programa con la base de datos en un zip y subelo, lo revisaremos a ver que se puede hacer.
Saludos
Responder Con Cita
  #11  
Antiguo 28-03-2008
aanil aanil is offline
Miembro
 
Registrado: abr 2006
Posts: 155
Poder: 19
aanil Va por buen camino
Consulta de una tabla1 para agregar en otra tabla2

Caral

He tratado de enviar la aplicacion comprimido tiene 67KB, no sube dice que es invalido, si tienes un correo, el mio es antonioanilhernandez@gmail.com

Última edición por aanil fecha: 08-02-2010 a las 03:56:30.
Responder Con Cita
  #12  
Antiguo 28-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Trata de hacerme un esquema de lo que hace el programa, ejemplo:
from1
Contiene un dbgrid
un adoquery con esta sentencia: ........
form 2
contiene tal y cual......

Lo que hago es est.......

Me parece que el problema del form 2 es que el aotable se conecta en algun evento no adecuado, por eso no puedes ver la tabla si no hasta que entras de nuevo.

Tal vez si nos indicas un poco mas todo esto podamos hacer algo.

Otra cosa seria que pusieras el codigo del form 1 y el from 2 completos aqui, asi veremos mas.
Saludos
Responder Con Cita
  #13  
Antiguo 28-03-2008
aanil aanil is offline
Miembro
 
Registrado: abr 2006
Posts: 155
Poder: 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
  #14  
Antiguo 28-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No entiendo muy bien pero me parece:
1- haces una consulta adoquery1 (tabla semma)
2- haces una insersion a la tabla adoquery1. (tabla duplica)
3- Tienes un adoTable enlazado a la tabla (duplica) en el form1 // no me queda claro
4- haces una consulta a ese adotable1 del form1 ???.
5- presentas los datos de la tabla duplica. ???

Si es asi, yo pondria un adotable en el from 2 directamente y lo enlazaría a la tabla.
y en el boton 1 del from 2 solamente lo activaria.

A ver como nos va.
Saludos
Responder Con Cita
  #15  
Antiguo 29-03-2008
aanil aanil is offline
Miembro
 
Registrado: abr 2006
Posts: 155
Poder: 19
aanil Va por buen camino
Consulta de una tabla1 para agregar en otra tabla2

Caral, si le es posible mandeme su direccion al a mi correo para mandarle todo adjunto no es muy grande solo pesa 1.5 mb, y asi lo corre y me comprendera que es lo que quiero.
Saludos
Responder Con Cita
  #16  
Antiguo 29-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Ya te envie mi email, revisalo.
Saludos
Responder Con Cita
  #17  
Antiguo 30-03-2008
aanil aanil is offline
Miembro
 
Registrado: abr 2006
Posts: 155
Poder: 19
aanil Va por buen camino
Consulta de una tabla1 para agregar a otra tabla2

Bueno Carlos le estoy agradecido, la aplicacion me funciona.

Bien, mi inquietud va por lo siguiente ( mi aplicacion tambien funciona, ya que copio los registros en la tabla aunque no lo vea en el DBgrid, tambien puedo hacer un Qreport, yo ee que estan ahi, la prueba esta cuando uno entra a la tabla se ven fisicamente), pues bien lo que pasa es que una vez hace algun tiempo creo que 2 o 3 años, en la universidad cuando me estaba introducciendo al OPP, yo hice una aplicacion mas o menos como la que estoy halciendo ahora y no recuerdo que pasaba, yo podia ver los registros copiados en la otra tabla mediante la DBGRid. No recuerdo si habia un boton que listaba los registos mediante el adotable, no se..., Tendre que desempolvar algunos folletos viejos.

Si tienes alguna idea me la comunica.

Gracias..


AAnil
Responder Con Cita
  #18  
Antiguo 30-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No entiendo muy bien.
Tienes dos tablas.
En el form1 actualizas, tanto la primera como la segunda.
El dbgrid del form1 solo ve la tabla1.
En el form 2 se ven las dos tablas, presionando uno u otro boton.
Si quieres ver las dos en el form1, solo tienes que seguir los pasos del from2.
No se si esto es lo que preguntas.
Saludos
Responder Con Cita
  #19  
Antiguo 30-03-2008
aanil aanil is offline
Miembro
 
Registrado: abr 2006
Posts: 155
Poder: 19
aanil Va por buen camino
Caral te voy a mandar una fotografia de la aplicacion en MSWORD a tu correo
Responder Con Cita
  #20  
Antiguo 30-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Veo que seguiste con tu proyecto, me parece bien.
No se complicado lo que quieres hacer, lo que es un poco dificil es entender el concepto general de lo que pretendes.
Revisa aqui, veras varios ejemplos que he puesto, son de todo tipo, te van a servir como muestra, ahí veras muchas alternativas que podrás seguir, revisalos.
Creo que deberias darle un vistazo al 2 y al 4, te van a guiar mejor que yo en este momento.
Revisalo y veremos que pasa.
Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Agregar y eliminar usuarios desde otra Pc trohan API de Windows 12 31-01-2008 16:20:06
Realizar una consulta sobre los registros que devuelve otra consulta Borjaserrano Firebird e Interbase 12 01-10-2007 23:19:44
pasar de una tabla1 a una tabla2 la misma info el_barto Conexión con bases de datos 7 31-08-2005 18:58:44
Consulta SQL para datos ordenados en otra tabla cotoprix SQL 8 26-01-2004 23:54:53
Como agregar una banda en tiempo de ejecucion en otra pagina edo Impresión 2 29-07-2003 01:07:12


La franja horaria es GMT +2. Ahora son las 13:16:44.


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
Copyright 1996-2007 Club Delphi