Ver Mensaje Individual
  #5  
Antiguo 16-10-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Reputación: 25
Caral Va por buen camino
Hola
A ver si lo entienden mejor
1- 5 tablas, cuatro en uso un a consulta.
2- tabla ordenprod, esta revisa si la orden esta repetida.
Código Delphi [-]
OrdenCompra.Active := False;
   OrdenCompra.SQL.Text := 'Select OrdenCompra From OrdenProd WHERE OrdenCompra ='+QuotedStr(Edit7.Text);
   OrdenCompra.Active := True;
3- hace una comparacion con un edit y envia un mensaje
Código Delphi [-]
 If Edit7.Text = OrdenCompra.Fields[0].Value then
   MessageDlg('La orden de Compra ya Existe',mtError,[mbOK],0)
4- revisa si el numero de recibo esta en la tabla ordenprod
Código Delphi [-]
ReciboOrden.Active := False;
   ReciboOrden.SQL.Text := 'Select NumRecibo From OrdenProd WHERE NumRecibo ='+Edit10.Text;
   ReciboOrden.Active := True;
5-hace una comparacion u envia un mensaje
Código Delphi [-]
If Edit10.Text = ReciboOrden.Fields[0].AsString then
   MessageDlg('Este recibo ya se uso en otra orden',mtError,[mbOK],0)
6- verifica las tablas de los bancos
Código Delphi [-]
BN.Active := False;
   BN.SQL.Text := 'Select NumRecibo From BancoNac WHERE NumRecibo ='+Edit10.Text;
   BN.Active := True;
   BSJC.Active := False;
   BSJC.SQL.Text := 'Select NumRecibo From BancoSanJoseco WHERE NumRecibo ='+Edit10.Text;
   BSJC.Active := True;
   BSJD.Active := False;
   BSJD.SQL.Text := 'Select NumRecibo From BancoSanJosedol WHERE NumRecibo ='+Edit10.Text;
   BSJD.Active := True;
7- indica una condicion, si es de contado entonces revisa los bancos de lo contrario, sigue.
Aqui es donde esta el asunto, si es de contado y no esta en los bancos entonces envia un mensaje.
Código Delphi [-]
If Edit9.Text = 'Contado' then
   begin
       If Edit10.Text = BN.Fields[0].AsString then
       begin
       ShowMessage('esta en el banco nacional');
       end;
       If Edit10.Text = BSJC.Fields[0].AsString then
       begin
       ShowMessage('esta en el banco San Jose Colones');
       end;
       If Edit10.Text = BSJD.Fields[0].AsString then
       begin
       ShowMessage('esta en el banco San Jose dolares');
       end
   else
   MessageDlg('El recibo no esta en ningun banco, REVISE',mtError,[mbOK],0)
   end
Lo demas sirve, asi que ni para que lo enseño de nuevo.
Espero se entienda ahora, tratare de explicarme mejor la proxima vez.
Saludos
Responder Con Cita