Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-01-2007
josejose josejose is offline
Miembro
 
Registrado: jul 2006
Posts: 13
Poder: 0
josejose Va por buen camino
Problemas Ordenando Una Grilla


Tengo la siguiente inquietud tengo un programa que emite una factura

En dicho programa tengo una relación maestro detalle con los siguientes campos


Tabla Maestro
Código _ maestro
Factura
Fecha
Cliente


Tabla detalle
Código _ detalle
Código _ maestro
Código _ articulo
Descripción
Precio


La relación esta clara
Tengo un Dbgrid en la parte del detalle y cuando hago clic en la parte del código _ articulo me llama el articulo y trae su descripción y el precio
Lo que me gustaría poder hacer es controlar que el usuario no pueda meter un articulo si esta dentro de la factura y poder ordenar los para que queden agrupados

Aquí esta el ejemplo del código que utilizo para introducir el articulo en la factura


var ls_cuenta: string;
begin
tbl_detallecotizacion.Edit;
ls_cuenta := Tbl_Detallecotizacion.FieldbyName('Codigo_Articulos').AsString;
Qry_Articulos.Close;
with qry_Articulos do begin
with sql do begin
clear;
add ('select * from Articulos');
add ('where Codigo_Articulos = ');
add (''''+ls_cuenta+'''');
prepared;
open;
if recordcount = 0 then
begin
ShowMessage('Cuenta no existe en Catalogo de cuentas');
Abort;

end;
if Dts_DetalleOrden.State in [dsinsert,dsedit] then
Tbl_Detallecotizacion.FieldByName('Descripcion_Articulos').Asstring := Qry_Articulos.FieldByname('Descripcion_Articulos').Value;

Estoy trabajando en delphi7 y access 2003
Recuerden por favor explicar me con algo de código no tengo tantos conocimientos como ustedes pero espero aprender cada día mas gracias a esta gran comunidad
Responder Con Cita
  #2  
Antiguo 26-01-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Puedes usar la misma consulta qry_Articulos para ver si el que está introduciendo ya existe:
Código Delphi [-]
var ls_cuenta: string;
begin
  tbl_detallecotizacion.Edit;
  ls_cuenta := Tbl_Detallecotizacion.FieldbyName('Codigo_Articulos').AsString;
  Qry_Articulos.Close;
  with qry_Articulos do begin
 with sql do 
  begin
    text := ' select * from articulos where codigo_articulos = '+ quotedstr(ls_cuenta) + ' and codigo_maestro = ' + quotedstr(Codigo_maestro_de_la_tabla_detalle);
    Open;
    if qry_articulos.isempty then
    begin 
       // vamos bien, en esta factura no existe ese artículo
      Close; // cerramos la consulta:
      clear;
      add ('select * from Articulos');
      add ('where Codigo_Articulos = ');
      add (''''+ls_cuenta+'''');
      prepare; // sobraba una letra "d"
      open;
      if recordcount = 0 then
      begin
        ShowMessage('Cuenta no existe en Catalogo de cuentas');
      end
    end
    else 
       raise exception.create('el artículo ' + lscuenta + ' ya existe en la factura');
end;
if Dts_DetalleOrden.State in [dsinsert,dsedit] then
Tbl_Detallecotizacion.FieldByName('Descripcion_Articulos').Asstring := Qry_Articulos.FieldByname('Descripcion_Articulos').Value;


Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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
Grilla :-( AndyLupa Varios 0 20-04-2006 15:51:18
clientdataset+grilla gustavoh Conexión con bases de datos 0 06-12-2005 00:23:13
bandas en grilla Andrea Martinez Varios 0 10-07-2004 06:42:22
Grilla en QReport Celta777 Impresión 3 16-02-2004 13:53:36
grilla con Mayusculas osvrom Varios 2 09-10-2003 17:05:14


La franja horaria es GMT +2. Ahora son las 08:34:55.


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