![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Cita:
// Saludos |
|
#2
|
|||
|
|||
|
no hay ningun evento de la tabla q se llame dataset,solo hay del tipo:
after... before... on... El unico sitio donde aparece dataset es en la pestaña events del datasource |
|
#3
|
||||
|
||||
|
Dataset es el nombre genérico para componentes tipo Table, Query, etc. (todos desciende de él) Por el momento no te preocupes de eso, donde dije DataSet cámbialo por Tabla. Lo que te digo es si hay algún otro evento como el AfterPost que tienes asociado a la tabla y que quizá pudiera estar metiendo ruido.
// Saludos |
|
#4
|
|||
|
|||
|
No, no tenemos nada más que el afterpost, y en él hacemos:tabla.FlushBuffers
|
|
#5
|
||||
|
||||
|
Sí bueno, pero nos quedamos en los eventos y ya no nos escribiste el código. Por favor escribe el código que estás usando para ver si de ahí podemos ver qué pasa.
// Saludos |
|
#6
|
|||
|
|||
|
Este es el codigo de la unidad en la que estan incluidos los botones para insertar,modificar ,mostrar y eliminar(un cliente)que representan a 4 unidades distintas.
[code] unit Unit9; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, DBCtrls, Db, DBTables, Grids, DBGrids, jpeg, StdCtrls, Menus, Buttons; type TForm9 = class(TForm) Label1: TLabel; Image1: TImage; BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; BitBtn4: TBitBtn; MainMenu1: TMainMenu; Archivo1: TMenuItem; Nuevo1: TMenuItem; Modificar1: TMenuItem; Eliminar1: TMenuItem; Mostrar1: TMenuItem; Salir1: TMenuItem; Ayuda1: TMenuItem; Acercade1: TMenuItem; BitBtn5: TBitBtn; Tabla_clientes: TTable; DataSourceclientes: TDataSource; procedure Acercade1Click(Sender: TObject); procedure Salir1Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); procedure Nuevo1Click(Sender: TObject); procedure BitBtn4Click(Sender: TObject); procedure Mostrar1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure Modificar1Click(Sender: TObject); procedure BitBtn3Click(Sender: TObject); procedure Eliminar1Click(Sender: TObject); procedure BitBtn5Click(Sender: TObject); procedure Tabla_clientesAfterPost(DataSet: TDataSet); private { Private declarations } public { Public declarations } end; var Form9: TForm9; implementation {$R *.DFM} uses Unit4, Unit3, Unit23, Unit25, Unit26, Unit27; procedure TForm9.Acercade1Click(Sender: TObject); begin Form4.Visible:=True; end; procedure TForm9.Salir1Click(Sender: TObject); begin Form9.Visible:=False; end; procedure TForm9.Button1Click(Sender: TObject); begin Form3.Visible:=True; Form9.Visible:=False; end; procedure TForm9.BitBtn1Click(Sender: TObject); begin Form23.Visible:=true; Form9.Visible:=False; Tabla_clientes.Insert; end; procedure TForm9.Nuevo1Click(Sender: TObject); begin Form23.Visible:=true; end; procedure TForm9.BitBtn4Click(Sender: TObject); begin Form25.Visible:=true; Form9.Visible:=false; end; procedure TForm9.Mostrar1Click(Sender: TObject); begin Form25.Visible:=true; Form9.Visible:=false; end; procedure TForm9.BitBtn2Click(Sender: TObject); begin Form26.Visible:=true; Form9.Visible:=false; Tabla_clientes.Edit; end; procedure TForm9.Modificar1Click(Sender: TObject); begin Form26.Visible:=true; Form9.Visible:=false; end; procedure TForm9.BitBtn3Click(Sender: TObject); begin Form27.Visible:=true; Form9.Visible:=false; Tabla_clientes.Delete; end; procedure TForm9.Eliminar1Click(Sender: TObject); begin Form27.Visible:=true; Form9.Visible:=false; end; procedure TForm9.BitBtn5Click(Sender: TObject); begin Form9.Visible:=False; Form3.Visible:=True; end; procedure TForm9.Tabla_clientesAfterPost(DataSet: TDataSet); begin Tabla_clientes.Insert; end; end. [code] Lo siguiente es el codigo de la unidad de dar de alta un nuevo cliente: [code] unit Unit23; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Db, DBTables, DBCtrls, Mask; type TForm23 = class(TForm) Label1: TLabel; Image1: TImage; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Button1: TButton; Button2: TButton; Label9: TLabel; DataSourceclientes: TDataSource; Tabla_clientes: TTable; Tabla_edificios: TTable; DataSourceedificios: TDataSource; GroupBox1: TGroupBox; Label10: TLabel; Label11: TLabel; Label12: TLabel; DBEdit1: TDBEdit; DBEdit2: TDBEdit; DBEdit3: TDBEdit; DBEdit4: TDBEdit; DBEdit5: TDBEdit; Tipo: TDBRadioGroup; DBEdit6: TDBEdit; DBEdit7: TDBEdit; DBEdit8: TDBEdit; DBLookupComboBox1: TDBLookupComboBox; DBLookupComboBox2: TDBLookupComboBox; DBLookupComboBox3: TDBLookupComboBox; procedure Button2Click(Sender: TObject); procedure Button1Click(Sender: TObject); procedure Tabla_clientesAfterPost(DataSet: TDataSet); procedure Tabla_edificiosAfterPost(DataSet: TDataSet); private { Private declarations } public { Public declarations } end; var Form23: TForm23; implementation {$R *.DFM} uses Unit9, Unit24; procedure TForm23.Button2Click(Sender: TObject); begin Form23.Visible:=false; Form9.Visible:=true; end; procedure TForm23.Button1Click(Sender: TObject); begin Tabla_clientes.Post; Form23.Visible:=false; Form24.Visible:=true; end; procedure TForm23.Tabla_clientesAfterPost(DataSet: TDataSet); begin Tabla_clientes.FlushBuffers; end; procedure TForm23.Tabla_edificiosAfterPost(DataSet: TDataSet); begin Tabla_edificios.FlushBuffers; end; end. [code] |
|
#7
|
||||
|
||||
|
Visto por encima hay algo raro: tanto en Form9 como en Form23 tienes una componente llamada Tabla_clientes. Cuando abres Form23 el Tabla_clientes es el del Form9 mientras que el Post que haces en Form23 es el de su propia Tabla_clientes. Esto no está bien, tienes que usar la misma componente.
Si este es el error, y creo que así es, te recomiendo el uso de módulos de datos (DataModule) para colocar tus componentes TTable que vayas a usar desde distintos formularios. // Saludos |
|
#8
|
||||
|
||||
|
Hola vhirginia. Tu intento de poner las etiquetas code ha sido bueno... pero te faltó la barra para cerrarlas:
[ code] [ /code] (sin el espacio). Creo que te has excedido al poner todo el código de las unidades, y aún asi, me he esforzado yo por leerlo y encuentro que: Código:
procedure TForm9.BitBtn1Click(Sender: TObject); begin Form23.Visible:=true; Form9.Visible:=False; Tabla_clientes.Insert; // Esto pone en modo de inserción la tabla_clientes que está //colgada del Form9 end; procedure TForm23.Button1Click(Sender: TObject); begin Tabla_clientes.Post; // Esto hace post a la tabla_clientes que está colgada // del Form23 (que no es la misma que se puso en inserción)!! Form23.Visible:=false; Form24.Visible:=true; end; Veo que el mensaje durmió en una de las pestañas de mi mozilla durante un buen rato antes de contestarlo... con lo que ya tuvo movimiento que no había visto (y la conclusión de román es la misma a la que yo llego... ) Hasta luego. ![]()
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|