Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-07-2006
Avatar de taru
taru taru is offline
Miembro
 
Registrado: jul 2006
Posts: 27
Poder: 0
taru Va por buen camino
Dbgrid para insertar en una tabla pero cogiendo datos de otra tabla

A ver os cuento lo que me pasa, que conste que usado la busqueda y he encontrado algunas soluciones a ciertas dudas mias, os cuento:


Estoy con un terminal venta, ya he conseguido hacer todo solo me faltan los tickets.
Para ello he creado un form con un dbgrid en el que capturo unidades, referencia, descripcion, precio unitario, y precio total.


Unidades | referencia | descripcion |preciounidad|preciototal


Empiezo captutando por las unidades, en el evento onkeypress del dbgrid pongo que si es #13 osea se pulsa enter pase al la siguiente columna:
Código Delphi [-]
procedure Tformticket.ticketgridKeyPress(Sender: TObject; var Key: Char);  
begin   
 if key = #13 then   
 begin     
    if ticketgrid.col 1 then      
    begin        
    ticketgrid.Fields[2].FocusControl;      
end;  ....


Cuando llego a descripcion puedes teclear parte de la descripcion del producto pero cuando pulsas enter te hace visible un listbox con los productos de otra tabla (la tabla productos) que coinciden con la parte escrita en la columna del dbgrid:


Código Delphi [-]
if ticketgrid.col = 3 then      
begin        
tablaproductos.SQL.Text := 'SELECT * FROM ' + bdproductos + ' WHERE descripcion LIKE' + QuotedStr('%' + ticketgrid.Fields[2].Text + '%'); 
tablaproductos.Execute;        
listbox.Visible := true;       
 listbox.SetFocus;




en el evento onkeypress del listbox hago que si es enter el producto seleccionado me pase su precio y sus datos al dbgrid :
Código Delphi [-]
if Key = #13 then   
 begin     
 listbox.Visible := false;     
 ticketgrid.Fields[2].Text := listbox.SelectedItem;//descripcion del producto    
  ticketgrid.Fields[3].Value := tablaproductos.FieldValues['pvp']; //pongo el precio del producto     
 ticketgrid.Fields[3].FocusControl;//pongo focus en el campo precio por si el cliente quiere cambiar el precio


Cuando doy a enter en la columna 4 se prodce el calculo de las unidades * precio unitario y lo pongo en precio total
y doy foco alli:
Código Delphi [-]
if ticketgrid.col = 4 then 
     begin     
   ticketgrid.Fields[5].FocusControl;   
     ticketgrid.Fields[5].Value := ticketgrid.Fields[3].Value * ticketgrid.Fields[1].Value;   
   end;

Si doy a enter estando en la columna 5:
Código Delphi [-]
if ticketgrid.col = 5 then   
   begin      
  tablaticket.Post; //Mando el dato     
   tablaticket.Append; //Preparo para insertar otro    
    ticketgrid.Fields[1].FocusControl; //Me situo en las unidades  
    end;


Por cierto antes de comprobar en que columna estoy pregunto si se ha pulsado enter:
if key = #13

pero no va bien salta donde le da la gana y no hace los calculos.


Necesito ayuda estoy echo un lio llevo 3 dias con esto.




Perdon por el ladrillazo y gracias por adelantado.

Última edición por taru fecha: 27-07-2006 a las 16:41:33.
Responder Con Cita
  #2  
Antiguo 27-07-2006
Avatar de taru
taru taru is offline
Miembro
 
Registrado: jul 2006
Posts: 27
Poder: 0
taru Va por buen camino
por cierto como hoy va la cosa bien hasta el post me sale mal no se que ha pasado que el codigo delphi sale asi de raro .
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
Utilizar un DBGrid para leer de una tabla y escribir en otra taru MySQL 0 25-07-2006 19:31:06
Consultar otra tabla desde un Dbgrdid y traerse los datos al Dbgrid alejandroalba Conexión con bases de datos 2 08-05-2006 19:30:42
insertar datos en una tabla desde otra Giniromero SQL 5 17-06-2004 20:37:16
Consulta SQL para datos ordenados en otra tabla cotoprix SQL 8 27-01-2004 00:54:53
Como insertar datos de una tabla en otra tabla? Salomon Firebird e Interbase 1 28-08-2003 12:29:40


La franja horaria es GMT +2. Ahora son las 01:25:48.


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