disculpen la demora estaba trabajando en otros temas, bien, vuelvo con este asunto, intenté hacerlo como rudi me lo sugirio:
Código Delphi
[-]procedure TFFactura.BitBtn1Click(Sender: TObject);
begin
if MessageDlg('¿Está seguro que desea Guardar?', mtConfirmation,
[mbYes, mbNo], 0) = mrYes then
if CheckBox1.Checked = True then
begin
if (DBEdit1.Text = '') or (DBEdit20.Text = '') then
MessageDlg('Debes ingresar un número de O/C o Casa Comercial',mtError,[mbOK],0)
else
if ZFactura.State in [dsedit,dsinsert] then
begin
if ZPedido.FieldByName('oc_no_sigef').Value=null then
begin
ZRegPed.SQL.Clear;
ZRegPed.SQL.Add('UPDATE reg_pedidos SET oc_no_sigef_2='+Quotedstr('Sí')+', oc_no_sigef='+Quotedstr(DBEdit1.Text)+'');
ZRegPed.SQL.Add(' WHERE no = '+Quotedstr(DBEdit15.Text)+' ');
ZRegPed.ExecSQL;
ZFactura.Post;
ZFactura.Insert;
MessageDlg('Los Datos se grabaron exitosamente!',mtConfirmation,[mbOK],0);
end;
if (ZPedido.FieldByName('oc_no_sigef').Value <> null) and (ZPedido.FieldByName('oc_no_sigef2').Value=null)then
begin
ZRegPed.SQL.Clear;
ZRegPed.SQL.Add('UPDATE reg_pedidos SET oc_no_sigef1='+Quotedstr(DBEdit1.Text)+'');
ZRegPed.SQL.Add(' WHERE no = '+Quotedstr(DBEdit15.Text)+' ');
ZRegPed.ExecSQL;
ZFactura.Post;
ZFactura.Insert;
MessageDlg('Los Datos se grabaron exitosamente!',mtConfirmation,[mbOK],0);
end;
if (ZPedido.FieldByName('oc_no_sigef').Value <> null) and (ZPedido.FieldByName('oc_no_sigef1').Value <> null) then
begin
ZRegPed.SQL.Clear;
ZRegPed.SQL.Add('UPDATE reg_pedidos SET oc_no_sigef2='+Quotedstr(DBEdit1.Text)+'');
ZRegPed.SQL.Add(' WHERE no = '+Quotedstr(DBEdit15.Text)+' ');
ZRegPed.ExecSQL;
ZFactura.Post;
ZFactura.Insert;
MessageDlg('Los Datos se grabaron exitosamente!',mtConfirmation,[mbOK],0);
end;
end;
end else begin
if (DBEdit20.Text = '') or
(DBEdit21.Text = '') or
(DBCheckBox1.Checked = False) then
MessageDlg('Debes cotejar Compras por el fondo, ingresar Casa Comercial o No. de Recibo!',mtError,[mbOK],0)
else
if ZFactura.State in [dsedit,dsinsert] then
begin
ZFactura.Post;
ZFactura.Insert;
MessageDlg('Los Datos se grabaron exitosamente!',mtConfirmation,[mbOK],0);
end;
end;
DBCheckBox1.Checked:=False;
CheckBox1.Checked:=False;
end;
esta es la parte que me da problemas:
Código Delphi
[-] if ZPedido.FieldByName('oc_no_sigef').Value=null then
begin
ZRegPed.SQL.Clear;
ZRegPed.SQL.Add('UPDATE reg_pedidos SET oc_no_sigef_2='+Quotedstr('Sí')+', oc_no_sigef='+Quotedstr(DBEdit1.Text)+'');
ZRegPed.SQL.Add(' WHERE no = '+Quotedstr(DBEdit15.Text)+' ');
ZRegPed.ExecSQL;
ZFactura.Post;
ZFactura.Insert;
MessageDlg('Los Datos se grabaron exitosamente!',mtConfirmation,[mbOK],0);
end;
if (ZPedido.FieldByName('oc_no_sigef').Value <> null) and (ZPedido.FieldByName('oc_no_sigef2').Value=null)then
begin
ZRegPed.SQL.Clear;
ZRegPed.SQL.Add('UPDATE reg_pedidos SET oc_no_sigef1='+Quotedstr(DBEdit1.Text)+'');
ZRegPed.SQL.Add(' WHERE no = '+Quotedstr(DBEdit15.Text)+' ');
ZRegPed.ExecSQL;
ZFactura.Post;
ZFactura.Insert;
MessageDlg('Los Datos se grabaron exitosamente!',mtConfirmation,[mbOK],0);
end;
if (ZPedido.FieldByName('oc_no_sigef').Value <> null) and (ZPedido.FieldByName('oc_no_sigef1').Value <> null) then
begin
ZRegPed.SQL.Clear;
ZRegPed.SQL.Add('UPDATE reg_pedidos SET oc_no_sigef2='+Quotedstr(DBEdit1.Text)+'');
ZRegPed.SQL.Add(' WHERE no = '+Quotedstr(DBEdit15.Text)+' ');
ZRegPed.ExecSQL;
ZFactura.Post;
ZFactura.Insert;
el campo oc_no_sigef contiene datos que esta en el primer if, lo mas logico es que me execute el segundo if pero no lo hace aun teniendo datos me sobreescribe el campo, no se mas nada que hacer, me dan ganas de estrellarme contra el monitor!!!!
Saludos