Ver Mensaje Individual
  #5  
Antiguo 20-05-2011
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.610
Reputación: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por oscarac Ver Mensaje
podrias darme alguna sugerencia?
Veo en tu código que limpias las definiciones de campos (FieldDefs.Clear), mas no las definiciones de índices. Eso explicaría el mensaje de error que nos comentabas al principio.

Por otro lado, no me queda claro si el conjunto de datos tendrá en todo momento los mismos campos. Si esto es así, te aconsejo emplear el evento OnCreate del formulario para colocar ahí el código que prepara el conjunto de datos. De tal suerte que en el evento OnClick del botón Aceptar tengas solamente lo que corresponda a la operación en turno. Así no tendrás que definir los campos e índices cada vez.

En el código del botón Aceptar sólo necesitarías llamar al método CreateDataSet, realizar la operación que necesitas y luego llamar al método Close:
Código Delphi [-]
procedure TForm1.btAceptarClick(Sender: TObject);
begin
  CDSFacturacion.CreateDataSet;

  // Código de la operación a realizar con CDSFacturacion

  CDSFacturacion.Close;
end;

Adicionalmente, si el conjunto de datos fue añadido al formulario en tiempo de diseño, no tienes necesidad de destruirlo (llamada a Free), puesto que todo componente agregado a un formulario es destruido automáticamente cuando el formulario es liberado.

Espero haberme explicado.

Cita:
Empezado por Caral Ver Mensaje
Me alegro que le metas mano a este hilo, ya me conoces, yo seria bueno en el béisbol
Deberíamos formar un equipo entre los colegas Delphi. Podríamos llamarnos los Callbacks de Iberoamérica.

Un abrazo en la tercera base.

Al González.
Responder Con Cita