Hola Rudi, Lamentablemente no funciona de la manera que quiero:
Código Delphi
[-]procedure TFFactura.BitBtn1Click(Sender: TObject);
begin
if MessageDlg('¿Está seguro que desea Guardar?', mtConfirmation,
[mbYes, mbNo], 0) = mrYes then
begin
if ZPedido.Fields[19].Value=Null then
if ZFactura.State in [dsedit,dsinsert] 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)+' ');
ShowMessage(ZRegPed.SQL.Text);
ZRegPed.ExecSQL;
ZFactura.Post;
ZFactura.Insert;
end
else
if ZPedido.fields[19].Value=Null then
if ZFactura.State in [dsedit,dsinsert] 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)+' ');
ShowMessage(ZRegPed.SQL.Text);
ZRegPed.ExecSQL;
ZFactura.Post;
ZFactura.Insert;
end
else
if ZPedido.Fields[42].Value=Null then
if ZFactura.State in [dsedit,dsinsert] 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)+' ');
ShowMessage(ZRegPed.SQL.Text);
ZRegPed.ExecSQL;
ZFactura.Post;
ZFactura.Insert;
end;
end else
showmessage('No hago nada, no estoy editando');
end;
por ejemplo, en el primer If cuando el campo tipo1 no tiene datos executa la consulta de lo contrario me debe executar el segundo if, no? si en el segundo if el campo tipo1 y tipo2 tienen datos entonces me deberia executar el tercer if llenar el campo tipo3, no se si me hice entender, porque aunque el campo tipo1 tenga datos me excuta el primer if cuando me deberia executar el segundo if.