Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-10-2006
Avatar de Stravinsky
Stravinsky Stravinsky is offline
Registrado
 
Registrado: oct 2006
Posts: 3
Poder: 0
Stravinsky Va por buen camino
Exclamation Factura

Oks señores tengo un pequeño problemas para hacer una factura soy new en la programacion yo nesecito que alguien me ayude con esto Yo tengo una factura que debe cuando escriba el codigo dentro de una celda de un dgrid me llame la descripcion del producto y el precio de este, ademas tengo problema para hacer que ese dbgrid nadamas lea pero que no se vea me explico po ejemplo

cuando ella abra la ventana de factura el dbgrid debe aparecer en blanco para introduccir en en la columana codigo " ejemplo 001" esto llame a descripcion " ejemplo zapatos" y eso llame a la columna precio por unidad " ejemplo 1050"
ademas nesecito que la columna subtotal del dbgrid cuando columna cantida * columna precio por unidad. y nesecito nadamas eso y como hacer que eso se imprima yo en el delphi 6 encuentro QREport pero en el delphi 7 no si tiene otro nombre esa ficha tambien nesecito que me ayuden en eso Gracias porfacor respondame lo mas pronto posible Gracias
Responder Con Cita
  #2  
Antiguo 09-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola Stravinsky
Normalmente por aqui lo que se hace es consultar una cosa a la vez, con relacion a dudas, sobre todo de codigo, en realidad lo que estas pidiendo es un programa completo y esto sin conocer ni siquiera un poco de codigo o por donde empezar suena un poco dificil.
Creo que deberias enfocar tus preguntas.
1- necesito hacer esto y lo hago asi......
2- Como hago esto......
3- Etc.....
Asi se podra ayudar mejor, inicia con una pregunta a la vez y si es posible incluye un ejemplo de como lo quieres hacer o haces.
Saludos
Responder Con Cita
  #3  
Antiguo 10-10-2006
Avatar de Stravinsky
Stravinsky Stravinsky is offline
Registrado
 
Registrado: oct 2006
Posts: 3
Poder: 0
Stravinsky Va por buen camino
Perdon como soy new no sabia eso bueno voy a dar unas foto a ver si entiendes
oks


OK nesecito lo siquiente

1- nesecito que en un dbgrid yo pueda introducir Datos pero que guarde nadamas una sola columna pues tiene 5 columnas que son codigo, cantidad, descripción, precio por unidad, sub total. Ok yo tengo una base de dato de access dentro tiene 2 tabla una factura y otra producto
2- oks en fin nesecito hacer que el dbgrid nadamas lea los codigo descripción precio por unidad. Ya hice que sub total me diera para hacer esto use
Adotable1subtotal.value:= adotable1cantidad.value * adotable1precioporunidad.value;
en fin lo que me falta que codigo haga un tipo de búsqueda y que esta llame a descripción y precio por unidad como en la siquiente foto me escusan porque como veran a ese dbgrid le falta cantidad es porque donde estoy ahora no esta delphi y no le puse ese dbgird

Última edición por Stravinsky fecha: 10-10-2006 a las 15:18:36.
Responder Con Cita
  #4  
Antiguo 10-10-2006
nemesio nemesio is offline
Miembro
 
Registrado: nov 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 377
Poder: 19
nemesio Va por buen camino
Para hacer lo que dices tienes que en primer lugar conocer los eventos que tiene el Grid que estas utilizando y de las tablas que usas. Te recomiendo que puedes usar un campo calculado para la descripción. En ese campo calculado haces una búsqueda del código que a lo mejor lo tienes en otra tabla y lo mandas a desplegar asi como el precio.
Lee un poco sobre los campos calculados y el evento OnCalcFields, eso te va a ayudar bastante.

Saludos
Responder Con Cita
  #5  
Antiguo 10-10-2006
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Poder: 21
lucasarts_18 Va por buen camino
Hola:

No recomiendo éstas practicas, en realidad programar toda la lógica dentro de un Grid es para que al final ni siquieras tú entiendas tú código, yo te recomiendo que la búsqueda la hagas en otra pantalla, donde pidas el código del producto, luego de esto haces la busqueda para traer la descripción y el precio unitario, también te recomiendo que a parte de buscar por un código específico tengas la opción de buscar en una lista de productos, ya que muchas veces el usuario no sabe el código de producto o bien no tenga a la mano dicho código, por lo tanto es recomendable que tenga la opción de buscar en una lista mediante la descripción de ese producto...

Creo que esta es la mejor práctica en cuanto a programación y a diseño de interfaces....


Hasta Luego .-
__________________
No todo es como parece ser...
Responder Con Cita
  #6  
Antiguo 10-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola Stravinsky
Si copias este pequeño codigo y cambias los nombres de las tablas tendras un buscador de articulos completo:
Código Delphi [-]
unit UFBuscaArticulos;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, StdCtrls, Buttons, DBCtrls, Grids, DBGrids, ExtCtrls, UDM1;

type
  TFBuscaArticulo = class(TForm)
    Panel1: TPanel;
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    CBFiltro: TComboBox;
    DBGrid1: TDBGrid;
    Panel2: TPanel;
    DBText1: TDBText;
    DBText2: TDBText;
    Label3: TLabel;
    DBText3: TDBText;
    Label4: TLabel;
    Label7: TLabel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    ATArticulos: TADOTable;
    ATArticulosCodParte: TWideStringField;
    ATArticulosDescripcion: TWideStringField;
    ATArticulosCosto: TFloatField;
    ATArticulosUltCosto: TFloatField;
    ATArticulosPrecio1: TFloatField;
    ATArticulosPrecio2: TFloatField;
    ATArticulosPrecio3: TFloatField;
    ATArticulosCategoria: TWideStringField;
    ATArticulosSubCategoria: TWideStringField;
    ATArticulosUbicacion: TWideStringField;
    ATArticulosUnidad: TWideStringField;
    ATArticulosDisponible: TFloatField;
    ATArticulosEnProduccion: TFloatField;
    ATArticulosNotas: TMemoField;
    DSArticulos: TDataSource;
    Label5: TLabel;
    DBText4: TDBText;
    Label6: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    DBText5: TDBText;
    DBText6: TDBText;
    DBText7: TDBText;
    ATArticulosPrecio4: TFloatField;
    ATArticulosPrecio5: TFloatField;
    ATArticulosPrecio6: TFloatField;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    DBText8: TDBText;
    DBText9: TDBText;
    DBText10: TDBText;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    Cod_Parte : String;    
  end;

var
  FBuscaArticulo: TFBuscaArticulo;

implementation

{$R *.dfm}

procedure TFBuscaArticulo.FormCreate(Sender: TObject);
begin
   ATArticulos.Open;
end;

procedure TFBuscaArticulo.FormDestroy(Sender: TObject);
begin
   ATArticulos.Close;
end;

procedure TFBuscaArticulo.Edit1Change(Sender: TObject);
var   Filtro : String;
begin
   If (Edit1.Text <> '') then
   begin
      ATArticulos.Filtered := False;
      If CBFiltro.Text = 'Código' then Filtro := 'CodParte Like '''+Edit1.Text + '*'''
         else If CBFiltro.Text = 'Descripción' then Filtro := 'Descripcion Like '''+ Edit1.Text + '*'''
            else If CBFiltro.Text = 'Categoría' then Filtro := 'Categoria Like '''+ Edit1.Text + '*''';
      ATArticulos.Filter := Filtro;
      ATArticulos.Filtered := True
   end
   else ATArticulos.Filtered := False;
end;

procedure TFBuscaArticulo.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   IF Key = VK_DOWN then
   DbGrid1.SetFocus;
end;

procedure TFBuscaArticulo.BitBtn1Click(Sender: TObject);
begin
   CodParte := ATArticulosCodParte.AsString;
   Cod_Parte := ATArticulosCodParte.AsString;
   Close;
end;

procedure TFBuscaArticulo.BitBtn2Click(Sender: TObject);
begin
   CodParte := '';
   Cod_Parte := '';   
   Close;
end;

procedure TFBuscaArticulo.DBGrid1DblClick(Sender: TObject);
begin
   BitBtn1Click(DBGrid1);
end;

end.
Espero que con este pequeño ejemplo puedas hacer lo que quieres.
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
imprimir factura Genner Impresión 3 23-05-2006 17:07:30
Fallo Nº Factura y Linea Factura CarmaZone Tablas planas 5 26-05-2005 11:17:19
Factura -> Detalle nicolasdom Varios 1 17-11-2004 15:39:57
Nº factura silviodp Conexión con bases de datos 9 21-06-2004 20:01:30
Ticket & Factura mosorio Varios 0 14-08-2003 18:25:53


La franja horaria es GMT +2. Ahora son las 15:21: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