Código
Por: Ricardo S. Belardinuci
e-mail: ri-taqua@ig.com.br
===============================}
///////////////////////////////////////////////////////////////////////
function CampoSemPreencher(Que:TIBQuery):Boolean;
var j:Byte;
Msg:String;
begin
Msg:='';
Result:=False;
with Que do
begin
for j:=0 to FieldCount -1 do
if (
(Fields[j].Required)
and (Fields[j].AsString = '')
and (Fields[j].Tag = 0 )
)
then
begin
if Msg <> '' then
Msg:=Msg+' - ';
Msg:=Msg+Fields[j].FieldName;
end;
end;
if Msg <> '' then
begin
ShowMessage('Atenção, o(s) campo(s) :'+ #13+Msg+#13+'Não pode(m) ficar sem preenchimento');
Abort;
end
else
Result:=True;
end;
///////////////////////////////////////////////////////////////////////
{ MUITO IMPORTANTE:
1- CASO VOCÊ TENHA ALGUM CAMPO AUTOINCREMENTO E QUE SEJA OBRIGATÓRIO (GERALMENTE A CHAVE PRIMARIA - PK - EX: COD_CLIENTE), ENTÃO, DE DOIS CLICKS NA QUERY OU IBQUERY , CARREGUE TODOS OS CAMPOS DA TABELA E NO OBJETO INSPECTOR ALTERE A PROPRIEDADE TAG DO SEU CAMPO AUTOINCREMENTO PARA 1, SENÃO
A FUNÇÃO VAI INFORMAR QUE O CAMPO COD_CLIENTE NÃO FOI PREENCHIDO
SENDO QUE SE ELE É AUTOINCREMENTO SERÁ GRAVADO AUTOMATICAMENTE PELO BANCO QUANDO FOR DADO UM POST NA QUERY OU IBQUERY}
//2- CASO ESTEJA USANDO QUERY MUDE A FUNÇÃO PARA:
function CampoSemPreencher(Que: TQuery):Boolean;
//.... O RESTANTE É TUDO IGUAL
chamada antes de gravar os dados:
procedure TFormCadastraCliente.BtnSalvarClick(Sender: TObject);
begin
CampoSemPreencher(QryCliente);
end;
{dúvidas mande e-mail.
não esqueçam de avaliar, se não como vou saber se está sendo útil né
Falo pessoal!!!!!!}
///////////////////////////////////////////////////////////////////////
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009