Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Tablas planas (https://www.clubdelphi.com/foros/forumdisplay.php?f=20)
-   -   Un Solo Formulario De Registros En Delphi 7 (https://www.clubdelphi.com/foros/showthread.php?t=88326)

alexiyordano 20-05-2015 15:35:25

Un Solo Formulario De Registros En Delphi 7
 
Hola Gran comunidad necesito que me ayude con un problemita en delphi 7 y una base de datos hecha access.
Necesito hacer un solo formulario de registros para 3 tablas y que eso resultado se muestren en 3 dbgrid diferentes, lo que no quiero hacer es 3 formulario para la tres tablas ya que el formulario de registros llevan los mismo datos para cada tabla

jafera 20-05-2015 16:00:20

Y esta noticia donde se puede leer?
No la encuentro publicada por ningun lado.

Saludos

Nota: Antes que te lo diga algun moderador, leete la guía de estilo del foro

Neftali [Germán.Estévez] 20-05-2015 16:57:26

Cita:

Empezado por alexiyordano (Mensaje 492320)
Hola Gran comunidad necesito que me ayude con un problemita en delphi 7 y una base de datos hecha access.
Necesito hacer un solo formulario de registros para 3 tablas y que eso resultado se muestren en 3 dbgrid diferentes, lo que no quiero hacer es 3 formulario para la tres tablas ya que el formulario de registros llevan los mismo datos para cada tabla

(1) Crea una propiedad (public) en el formulario donde puedas almacenar el nombre de la tabla.
(2) Después de crear el formulario y antes de hacer el Show, asignas el nombre de la tabla que desees a la propiedad.
(3) En el OnShow del formulario asignas a la tabla (tableName) el nombre de la propiedad.
(4) Luego abres la tabla.

Con esto consigues un sólo formulario que trabaja con 3 tablas diferentes (siempre que sean iguales).

(1)
Código Delphi [-]
...
Type
....

private
  FNombreTabla:string;

public
  property NombreTabla:String read FNombreTabla write FNombreTabla;
...



(2)
Código Delphi [-]
  FormTabla := TFormTabla.Create(Application);
  FormTabla.NombreTabla := 'TABLA1';
  FormTabla.Show;
  ...

(3) y (4)
Código Delphi [-]
...
procedure TFormTabla.OnShow(Sender:TObject);
begin
  ADotable.TableName := Self.FNombreTabla;
  ADoTable.Open;
end;
...

Un saludo.

alexiyordano 20-05-2015 22:21:35

Entiendo Algunos Aspectos Pero En El Caso Del Formulario Los Campos Que Requiero En El Formulario Son Estos
Nombre
Apellido
Dirección
Esos Mismo Campos Van A Ser Insertado En Tres Tablas Diferentes La Cuales La Quiero Mostrar En Tres Dbgrid
Diferentes Pero El Formulario Van Ser El Mismo Para Los Tres

Gracias

ecfisa 20-05-2015 23:26:54

Hola alexiyordano.
Cita:

Empezado por alexiyordano (Mensaje 492320)
Hola Gran comunidad necesito que me ayude con un problemita en delphi 7 y una base de datos hecha access.
Necesito hacer un solo formulario de registros para 3 tablas y que eso resultado se muestren en 3 dbgrid diferentes, ...

Según lo que entendí de lo anterior:
  • File -> New -> DataModule (ej.: DataModule1) y dentro de él, agrega un TADOConnection, tres TADOTables y entabla las relaciones correspondientes.
  • En la unidad del formulario, agrega tres TDataSource y tres TDBGrid.
  • Desde el Object Inspector, asocia cada DBGrid a su DataSource correspondiente mediante su propiedad DataSource (vg: DBGrid1.DataSource = DataSource1).
  • Por último, File -> Use unit ... -> DataModule1 y desde el Object Inspector, asocia cada DataSource con cada ADOTable mediante su propiedad DataSet (vg: DataSource = ADOTable1)
Y ya tenes en un solo formulario tres DBGrids conectados a tres diferentes tablas.

Nota: Para el ejemplo mencioné los componentes ADO ya que son muy usados con Access, pero con mínimas variantes, aplica para cualquiera.

Saludos :)

alexiyordano 21-05-2015 16:19:58

Gracias Por Todo

alexiyordano 23-05-2015 01:55:47

ecfisa toda funciona bien pero hay un problema, los campos dbedit quiero que esten ligados a las tablas lo que quiero es crear los tres dbedit o edit que son nombre apellido y direccion y cuando le de al boton insertar me los mande a la tabla que quiera ya la base de datos la tengo conectada pero eso es lo que me falta para terminar.

AgustinOrtu 23-05-2015 03:09:28

Revisa este tutorial, o bien el de caral para novatos (búsqueda en el foro). Ahí tenés ejemplos de sobra de como insertar datos en base de datos. Otra buena fuente de información con ejemplos muy amigables y fotos es el blog Delphi al límite

AzidRain 24-05-2015 01:01:31

Aún hay quien utiliza Access?? Digo como juguete para trastear esta bien pero para cosas serias??? Y no me salgan conque "es gratis" porque no es cierto en ese caso ahi esta MySQL, Firebird (que creo ya también va directo a hoyo), MariaDB y otras tantas opciones mucho mejores que esa cosa.

Casimiro Notevi 24-05-2015 09:50:05

Cita:

Empezado por AzidRain (Mensaje 492461)
... Firebird (que creo ya también va directo a hoyo) ...

¿Qué quiere decir esa expresión?


La franja horaria es GMT +2. Ahora son las 15:36:57.

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