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
function DatoExiste(Campo, Valor: string): Boolean;
public
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
Result:= True;
end;
Close;
end;
end;
procedure TFrmSuplidor.SuplidorGuardarClick(Sender: TObject);
var
Msk: string;
Msk1: String;
begin
Msk:= MERnc.EditMask; if MERnc.EditText <> '_-__-_____-_' then
MERnc.EditMask:= ''; if DatoExiste('RNC',MERnc.Text) then
Begin
MERnc.EditMask:= Msk; 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; METelefono.EditMask:= ''; METelefono.EditMask:= Msk1; 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..