Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   2 Inquietudes (https://www.clubdelphi.com/foros/showthread.php?t=31611)

judit25 12-05-2006 01:08:34

2 Inquietudes
 
Buenas noches

Mis inquietudes son las siguientes

1. Estoy trabajando con un formulario de facturación y estoy utilizando 2 clientdataset uno para el encabezado de la factura y el otro para el detalle de la factura, para el detalle estoy trabajando con un dbgrid para mostrar e insertar los datos mediante este, lo que quiero es que cuando este consultando los registros, solo me muestre en el dbgrid los datos correspondientes al numero de factura del encabezado que esta actualmente

hay alguna forma de hacer esto?



2. Otra pregunta, cuando estoy insertando en el dbgrid a veces cuando se esta haciendo tab se abre una linea en blanco y se queda ahi, no se borra, y cuando grabo por ende me da el error de clave nula, como hago para controlar cuando vaya a grabar que si hay una linea en el grid en blanco se elimine antes de dar el applyupdates en el clientedataset?



Gracias anticipadas

Saludos

Miguelius 12-05-2006 07:56:00

Respuesta
 
Hola judit::

En relación a la inquietud N°1, una solución sencilla seria utilizar una tabla temporaria para mostrar los datos de la factura actual. Entonces cuando llamás al evento que da por terminada la factura( Ya sea un boton para imprimirla o guardarla, por ejemplo) anexas la base de datos temporal a la base de datos general.

Espero te sirva de algo.
y con la segunda pregunta tendria que fijarme en algun codigo, lo tengo que tener solucionado. condo lo encuentre te lo paso
/I,,,/I
( 'v' )
<(''''''')>
:confused:CHIAO:confused: '' ''

FNADALO 12-05-2006 09:04:04

Modo de realizarlo
 
Hola Judit

Tengo una facturación realizada además hay un vinculo entre la cabecera
y detalle que es la siguiente cabecera Serie y Factura, Detalle Serie Factura
y linea de este modo la relacion cabecera detalle está realizada, y para
la edicion utilizo un memdata antes de guardar la factura, es lo mismo que
te respondieron con anterioridad pero te indico el componente, espero te sirva.

judit25 12-05-2006 18:54:51

Gracias
voy a probar de esa manera a ver q tal me va

judit25 13-05-2006 21:30:08

con relacion al primer punto lo logré solucionar cambiando en tiempo de ejecucion cada uno de los dataset de las tablas que tengo en el formulario, y asi cuando me muevo de una factura a otra me aparece su respectivo detalle.

Gracias por nuevamente

judit25 18-05-2006 20:55:36

Cita:

Empezado por judit25
Buenas noches

2. Otra pregunta, cuando estoy insertando en el dbgrid a veces cuando se esta haciendo tab se abre una linea en blanco y se queda ahi, no se borra, y cuando grabo por ende me da el error de clave nula, como hago para controlar cuando vaya a grabar que si hay una linea en el grid en blanco se elimine antes de dar el applyupdates en el clientedataset?



Gracias anticipadas

Saludos



Con relación al punto No 2 por el momento lo he resuelto con:
Código Delphi [-]
CDS2.First;
while not CDS2.Eof do
       begin
            IF CDS2Cod_Prod.IsNull then
                begin
                    CDS2.Delete;
                    CDS2.Next;
                end;

Este código lo he puesto en el evento BeforeApplyUpdates del CDS2 (ClientdataSet del detalle), donde CDS2Cod_Prod es el campo clave que me da el error si se deja vacío.


Por ahora lo he probado y me ha funcionado.

Saludos

jachguate 19-05-2006 02:04:37

Hola Judith. Por favor, apegate a la guia de estilo. Si la lees verás que el título de este hilo no es adecuado.

Si un moderador te pilla con un título inadecuado otra vez, seguro tu hilo será cerrado.

Saludos.

judit25 19-05-2006 16:07:18

si gracias, la lei pero ya era demasiado tarde, ya habia puesto el mensaje :o

Perdon

Gracias por el consejo :)


La franja horaria es GMT +2. Ahora son las 11:24:13.

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