Ver Mensaje Individual
  #15  
Antiguo 11-11-2010
agustin173 agustin173 is offline
Miembro
 
Registrado: jun 2010
Posts: 158
Reputación: 17
agustin173 Va por buen camino
Atencion Ecfisa y Marcos

Miren hice unos arreglos de los codigos que ustedes dos me dieron y pude mejor las cosas en un 50%, pero falta algo me explico.

Primero Pondre el codigo para que lo vean Completo:

Código Delphi [-]
 
unit Suplidor;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, Buttons, PngSpeedButton, StdCtrls, Mask, DB,
  ADODB;
type
  TFrmSuplidor = class(TForm)
    Image1: TImage;
    Panel1: TPanel;
    SuplidorNuevo: TPngSpeedButton;
    SuplidorGuardar: TPngSpeedButton;
    SuplidorBuscar: TPngSpeedButton;
    SuplidorAplicar: TPngSpeedButton;
    SuplidorModificar: TPngSpeedButton;
    SuplidorEliminar: TPngSpeedButton;
    SuplidorCancelar: TPngSpeedButton;
    SuplidorCancelarBusqueda: TPngSpeedButton;
    SuplidorAyuda: TPngSpeedButton;
    Panel2: TPanel;
    Label2: TLabel;
    EDCodigo: TEdit;
    Label8: TLabel;
    EDFecha: TEdit;
    Label1: TLabel;
    EDSuplidor: TEdit;
    Label3: TLabel;
    EDContacto: TEdit;
    Label4: TLabel;
    EDDireccion: TEdit;
    Label5: TLabel;
    CBTelefono: TComboBox;
    METelefono: TMaskEdit;
    Label6: TLabel;
    CBFax: TComboBox;
    MEFax: TMaskEdit;
    Label7: TLabel;
    MERnc: TMaskEdit;
    Label9: TLabel;
    CBTerminos: TComboBox;
    Label10: TLabel;
    EDLimite: TEdit;
    Label11: TLabel;
    EDEmail: TEdit;
    ADOSuplidor: TADOQuery;
    Temp: TADOQuery;
    procedure FormActivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure EDFechaClick(Sender: TObject);
    procedure EDCodigoClick(Sender: TObject);
    procedure EDLimiteKeyPress(Sender: TObject; var Key: Char);
    procedure EDLimiteExit(Sender: TObject);
    procedure EDLimiteEnter(Sender: TObject);
    procedure MERncKeyPress(Sender: TObject; var Key: Char);
    procedure EDCodigoEnter(Sender: TObject);
    procedure CBFaxChange(Sender: TObject);
    procedure CBTelefonoChange(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure MERncClick(Sender: TObject);
    procedure EDSuplidorClick(Sender: TObject);
    procedure EDContactoClick(Sender: TObject);
    procedure EDDireccionClick(Sender: TObject);
    procedure CBTerminosClick(Sender: TObject);
    procedure EDLimiteClick(Sender: TObject);
    procedure EDEmailClick(Sender: TObject);
    procedure MERncEnter(Sender: TObject);
    procedure EDSuplidorEnter(Sender: TObject);
    procedure EDContactoEnter(Sender: TObject);
    procedure EDDireccionEnter(Sender: TObject);
    procedure CBFaxEnter(Sender: TObject);
    procedure MEFaxEnter(Sender: TObject);
    procedure CBTerminosEnter(Sender: TObject);
    procedure EDEmailEnter(Sender: TObject);
    procedure CBTelefonoClick(Sender: TObject);
    procedure METelefonoClick(Sender: TObject);
    procedure CBTelefonoEnter(Sender: TObject);
    procedure METelefonoEnter(Sender: TObject);
    procedure SuplidorCancelarClick(Sender: TObject);
    procedure MERncChange(Sender: TObject);
    procedure EDSuplidorChange(Sender: TObject);
    procedure EDContactoChange(Sender: TObject);
    procedure EDDireccionChange(Sender: TObject);
    procedure METelefonoChange(Sender: TObject);
    procedure MEFaxChange(Sender: TObject);
    procedure CBTerminosChange(Sender: TObject);
    procedure EDLimiteChange(Sender: TObject);
    procedure EDEmailChange(Sender: TObject);
    procedure SuplidorGuardarClick(Sender: TObject);
  private
    { Private declarations }

function DatoExiste(Campo, Valor: string): Boolean;

  public
    { Public declarations }
  end;
var
  FrmSuplidor: TFrmSuplidor;

implementation
uses Menu, Login;
{$R *.dfm}
function TFrmSuplidor.DatoExiste(Campo, Valor: string): Boolean;
begin
  with Temp do
  begin
    Close;
    SQL.Text:='SELECT ' + Campo + ' FROM SUPLIDOR WHERE ' + Campo + ' = '+ QuotedStr(Valor);
    Open;
    if IsEmpty then
      Result:= False
    else
    begin
//      ShowMessage('Dato existente, vuelva a ingresarlo');
      Result:= True;
    end;
    Close;
  end;
end;

procedure TFrmSuplidor.SuplidorGuardarClick(Sender: TObject);
var
  Msk: string;
  Msk1: String;
begin
    Msk:= MERnc.EditMask;  // salvar mascara
   if MERnc.EditText <> '_-__-_____-_' then
     MERnc.EditMask:= '';   // borrarla
 if DatoExiste('RNC',MERnc.Text) then
   Begin
     MERnc.EditMask:= Msk; // restaurarla;
     ShowMessage('RNC Existe');
     MERnc.SetFocus;
   End;
 
 if DatoExiste('Suplidor',EDSuplidor.Text) then
   Begin
     ShowMessage('Suplidor Existe');
     EDSuplidor.SetFocus;
   End;
 
 if DatoExiste('Telefono',METelefono.Text) then
   Begin
     Msk1:= METelefono.EditMask;  // salvar mascara
     METelefono.EditMask:= '';   // borrarla
     METelefono.EditMask:= Msk1; // restaurarla;
     ShowMessage('Telefono Existe');
     METelefono.SetFocus;
   End;
 
end;
 
end.

Si miran el "Procedure Guardarclick" fijense en cada uno de los "if DatoExiste"
que hay 3, cada uno de ellos en el Showmessage tienen un letro diferente diciendome cual es el campo que existe en la base de dato si es el "RNC Existe", Si es el "Suplidor Existe" o si es el "Telefono Existe" individualmente eso esta bien.

Pero cuando el encuentra dos campos por Ejemplo:

RNC y Suplidor me tira dos mensajes que dicen "RNC Existe" y "Suplidor Existe" eso para mi esta mal porque debiera decirmelo en un solo mensaje por Ejemplo que diga "RNC y Suplidor Existen", y asi tambien con el campo telefono si lo encuentra debiera decirme en un solo letro tambien Ejemplo:
"RNC, Suplidor y Telefono Existe", igual como si fuera un solo que encuentre que me diga ese solo.

haber si me ayudanme mejor ahora, ya falta poco muchachos cuanto dolor de cabeza le doy pero los considero mis amigos a todos y hablo muy bien del foro con mis amigos en facebook, la universidad y el trabajo.

Nota: Lo que deseo es que me diga en un solo Showmessage cuales son los campos que encontro en la base de dato, si fue RNC, Suplidor, Telefono o Email, si fueron dos campos o tres o los cuatro que me lo diga pero en un solo Showmessage..
Responder Con Cita