Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-01-2006
judoboy judoboy is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 139
Poder: 21
judoboy Va por buen camino
Al insertar un registro me salta a otro anterior

Me explico mejor.
Tengo una aplicación diseñada con Delphi 6 y utilizo interbase 6 ( a la espera de migrar a firebird).
El problema me viene a la hora de hacer facturas. Para ello utilizo 3 tablas. Factura, Partidas_factura y lineas_partida. Cuando voy a crear una factura nueva a veces a la hora de insertar la primera partida el registro me cambia y se me situa en una factura anterior por lo que me es imposible hacer esa factura.

Os pongo el código para que me digais que hago mal
Código Delphi [-]
procedure TFrmFacturas.BtnAnyadirPartidaClick(Sender: TObject);
var codigof,factura:string;
    HoraInsercion:TTime;
    prueba,FacturaInsert:string;
begin

FacturaInsert:=FrmFacturas.DBEditCodigo.Text;

if DBEditPartida.Text=''then
   begin
   ShowMessage(' Introduce un nombre de partida');
   DBEditPartida.SetFocus;
   Exit;
   end
   else
   begin

 HoraInsercion:=now;
UModuloDatos.Facturas.DataSet.Post;
UModuloDatos.Facturas.DataSet.DisableControls;

UModuloDatos.PARTIDAS_FACTURA.DataSet.Append;{inserta al final de la tabla}

ControlPartidas.ActivePage.Caption:=DBEditPartida.Text;
DBEditNombrePartida1.Text:=DBEditPartida.Text;
UModuloDatos.TPARTIDAS_FACTURANOMBRE_PARTIDA.AsString:=DBEditPartida.Text;
UModuloDatos.Partidas_Factura.DataSet.FieldByName
('HORAINSERCION').AsDateTime:=HoraInsercion;


          //inicializo prueba
     factura:=DBEditCodigo.Text;
        codigof:=factura+'01';
          // fin prueba

{generamos el código de la partida}
if  (UModuloDatos.Partidas_Factura.DataSet.RecordCount=0) then
    begin
        factura:=DBEditCodigo.Text;
        codigof:=factura+'01';
        DBEditCodigoPartida.Text:=codigof;

    end
    else
      begin

            NumeroPartida;
                  if DBGNumeroPartida.Fields[0].AsString=''then
                       NumeroPartida
                  else
                     codigof:=DBGNumeroPartida.Fields[0].Value+3;


                        DBEditCodigoPartida.Text:=codigof;


      end;
  UModuloDatos.TPARTIDAS_FACTURACODIGO_PARTIDA.AsString:=codigof;
  UModuloDatos.TPartidas_FacturaORDEN.AsString:=codigof;//Este campo lo podemos modificar para ordenar
                                                //las partidas
 // UModuloDatos.TPARTIDAS_FACTURAFACTURA.AsString:=DBEditCodigo.Text;
   {Añadidas estas dos líneas y quitada la anterior para que no salte de factura
   al insertar una partida pero NO FUNCIONA }
    UModuloDatos.TPARTIDAS_FACTURAFACTURA.AsString:=FacturaInsert;
    FrmFacturas.DBEditCodigo.Text:=FacturaInsert;



LineasFactura_EnBlanco;
{habilito los controles de concepto}
 BtnAnyadirLinea.Enabled:=True;
        BtnEliminarLinea.Enabled:=True;
        EditConcepto.Enabled:=True;
        EditDescripcionConcepto.Enabled:=True;
        BtnConcepto.Enabled:=True;
        EditCantidad.Enabled:=True;
        EditPrecio.Enabled:=True;
        EditConcepto.Color:=ClWindow;
        EditDEscripcionConcepto.Color:=ClWindow;
        EditCantidad.Color:=ClWindow;
        EditPrecio.Color:=ClWindow;

    EditConcepto.SetFocus;
    {Quitar el control 23/02/04}
   // UModuloDatos.Facturas.DataSet.EnableControls;

  {habilito el DBGPartida}

       DBGPartida.Enabled:=True;
       DBGPartida.Color:=clWindow;

    end;
       UModuloDatos.Facturas.DataSet.EnableControls;{Añadido 23/02/04}
    
end;

{******************************************************************************}
Responder Con Cita
  #2  
Antiguo 31-01-2006
judoboy judoboy is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 139
Poder: 21
judoboy Va por buen camino
Necesitais algo más de información??.
Es que no se porque puede pasar.
Cuando meto una partida de la factura me salta a otra factura anterior.
Responder Con Cita
  #3  
Antiguo 31-01-2006
Avatar de kalimero
kalimero kalimero is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 288
Poder: 21
kalimero Va por buen camino
Hola.
En primer lugar, comentar que es dificil seguir la traza a un código tan desordenado como este. Después ¿Donde haces el POST para:
Código Delphi [-]
UModuloDatos.PARTIDAS_FACTURA.DataSet.Append;

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
insertar o modificar un registro completo a otro osvrom SQL 10 23-01-2013 20:10:14
Insertar Nuevo Registro perillan Conexión con bases de datos 3 24-04-2005 14:30:23
problema al insertar registro en el dbgrid Yoli OOP 1 09-04-2005 14:54:23
Insertar registro en tabla jzk Conexión con bases de datos 15 26-05-2004 18:58:19
No me inserta un registro nuevo, me modifica el anterior vhirginia Conexión con bases de datos 10 11-05-2004 13:04:38


La franja horaria es GMT +2. Ahora son las 14:32: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
Copyright 1996-2007 Club Delphi