Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Facturacion con varias tablas (https://www.clubdelphi.com/foros/showthread.php?t=81330)

Caral 10-11-2012 03:04:32

Hola
El asunto esta en que como sabes no manejo paradox, no lo conozco.
He modificado el form14 ya hace lo que necesitas:
Cuando le das doble click guarda los datos en la tabla7.
Como no se como quitar los datos en este momento hay varios (pruebas).
No pude hacer que me sumara la cantidad ya que no se como cambiar esto en paradox, te lo dejo a ti que te gusta tanto.:D
Saludos

DOS 11-11-2012 20:04:32

Primero muchas gracias por tu ayuda ^\||/, Segundo ya casi lo tengo :D debo ultimar algunos detalles, como actualizar el stock e imprimir la factura, espero llegar al martes.
He encontrado muchas cosas en google espero que me ayuden a solucionarlo, también te dejo el archivo actualizado para ver que opinas, saludos.
https://www.dropbox.com/s/0a3qcadb6l...cional2012.rar

DOS 20-11-2012 02:45:24

Pido disculpas de antemano por revivir este tema y que basicamente lo entiende Caral, pero al intentar recrear lo que el realizo en un nuevo formulario, me tira el siguiente error "List index out of bounds (4)"
cuando cambio el combobox de producto a servicio, agrego la codificacion del combobox, por si esta ahi el error.
Código Delphi [-]
procedure TForm14.ComboBox1Change(Sender: TObject);
begin
 if combobox1.Text = 'Productos' then
  begin
  datasource5.DataSet:= Table4;
  Dbgrid2.Columns[0].FieldName:= 'Cod_prod';
  Dbgrid2.Columns[0].Title.caption:= 'Cod.prod';
  Dbgrid2.Columns[0].Width:= 60;
  Dbgrid2.Columns[2].FieldName:= 'Nombre';
  Dbgrid2.Columns[2].Title.caption:= 'Producto';
  Dbgrid2.Columns[4].Visible:= True;
  Dbgrid2.Columns[5].Visible:= True;
  Dbgrid2.Columns[4].Width:= 180;
  Dbgrid2.Columns[2].Width:= 150;
  Dbgrid2.Columns[4].FieldName:= 'Descripcion';
  Dbgrid2.Columns[4].Title.caption:= 'Descripcion';
  Dbgrid2.Columns[5].FieldName:= 'ImpVent';
  Dbgrid2.Columns[5].Title.caption:= 'Import.Venta';
  end;
  if combobox1.Text = 'Servicios' then
  begin
  datasource5.DataSet:= Table5;
  Dbgrid2.Columns[0].FieldName:= 'Cod_servcio';
  Dbgrid2.Columns[0].Title.caption:= 'Cod.servicio';
  Dbgrid2.Columns[2].FieldName:= 'Servicio';
  Dbgrid2.Columns[2].Title.caption:= 'Servicio';
  Dbgrid2.Columns[3].FieldName:= 'ImpServ';
  Dbgrid2.Columns[3].Title.caption:= 'ImporteServ.';
  Dbgrid2.Columns[4].Visible:= False;
  Dbgrid2.Columns[5].Visible:= False;
  end;
end;
Muchas gracias.

Caral 20-11-2012 02:51:57

Hola
En el dbgrid tienes los campos que se van a ver.
Cuando le das doble click al dbgrid sale una pantallita que es donde colocas esos campos para que se vean.
En tu caso la tabla productos NO tiene los mismos campos que la tabla servicios, por eso el codigo cambia de tabla y muestra los campos necesarios.
Si en la pantalla NO HAY suficientes espacios o campos (aunque sea en blanco) para que se muestren entoces te sale ese error.
Que hice:
Puse en esa pantalla dos campos sin que estubieran conectados a nada y los puse como visible false.
De esta manera no se genera el error ya que SI existe ya definido el espacio para que el dato se presente,
Si tienes alguna duda me dices, espero te quede claro.
Saludos

DOS 20-11-2012 03:12:22

Ok, mas claro que el agua, muchas gracias.^\||/
Saludos


La franja horaria es GMT +2. Ahora son las 02:03:56.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi