Hola a todos, estoy haciendo una aplicacion con Delphi 5 y base de datos Acces.
Hice el siguiente procedimiento para que me llene de datos la tabla TblComprobantes para lo cual uso dos tablas mas: TblSocios y TblPeriodos.
El error que me da cuando corro el procedimiento mediantes un boton es que me dice que el campo "Numero" no puede ser modificado.
La estrcutura de la tabla TblComprobantes es la siguiente:
Numero (Numero)
Cod_socio (Numero)
Cod_periodo (Numero)
Importe (Moneda)
Estado (texto)
fecha_pago (Fecha/hora)
fecha (Fecha/hora)
Nota (Memo)
el Procedimeinto del boton Generar es:
Código:
procedure TForm17.generarClick(Sender: TObject);
var
Periodo: Integer;
Codigo: Integer;
Fecha: Variant;
cont:Integer;
Numero:Integer;
begin
Modulodatos.ADOConnection1.Open;
ModuloDatos.TblSocios.Active:=True;
ModuloDatos.TblPeriodos.Active:=True;
ModuloDatos.TblComprobantes.Active:=True;
ModuloDatos.TblSocios.First;
cont:= ModuloDatos.TblSocios.RecordCount;
Form17.ProgressBar1.Max:=cont;//Establezco el valor maximo.
Form17.ProgressBar1.Cursor:=crHourGlass; //Establezco el cursor de espera.
Numero:=StrToInt(Form17.Ultimo_em.Text); //Inicializo la vble. NUMERO.-
Fecha:=Form17.fecha_em.Text;
Periodo:=StrToInt(Form17.txtPeriodo.Text);
ShowMessage (IntToStr(Numero));
While Not ModuloDatos.TblSocios.EOF do
begin
Codigo:= ModuloDatos.TblSocios.FieldValues['Codigo'];
ModuloDatos.TblComprobantes.Append;
ModuloDatos.TblComprobantes.FieldValues['Numero']:=Numero+1;
ModuloDatos.TblComprobantes.FieldValues['Cod_socio']:= Codigo;
ModuloDatos.TblComprobantes.FieldValues['Cod_periodo']:=Periodo;
ModuloDatos.TblComprobantes.FieldValues['Importe']:=6.00;
ModuloDatos.TblComprobantes.FieldValues['Fecha']:=Fecha;
ModuloDatos.TblComprobantes.Post;
Form17.ProgressBar1.StepIt; //Actualizo la barra de progreso.
Numero:= ModuloDatos.TblComprobantes.FieldValues['Numero'];
ModuloDatos.TblSocios.Next;
end;
ShowMessage('El proceso a terminado correctamente');
end;
Como puedo solucionar este problema?
Gracias a todos ,saludos.