Fórum Consistência de campos #213338

11/02/2004

0

Ola,
Andando pela web, achei a rotina abaixo, que serve para testar se
determinado campo Requerid esta nulo, so que nao sei como usar
funções no delphi, ou seja, onde eu chamo a função abaixo, e tambem
gostaria de saber esta é a melhor forma para fazer consistência de
campos.
Grato
Luciano
D7
IB
Datamodule : SQLConnection, SimpleDataSet e DataSource
Formulario : TDBEdit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// FUNCAO PARA TESTAR CAMPOS
function CampoObrigatorio(DataSet : TDataSet): Boolean;
var
i : integer;
begin
result := true;
with dados.sdsbanco do
for i := 0 to dados.sdsbanco.FieldCount -1 do
if ((fields[i].required) and (not fields[i].IsBlob)) then
if fields[i].value = ´´ then
begin
showmessage(´O campo ´+fields[i].displayname+´ é
obrigatório.´);
result := false;
fields[i].FocusControl;
exit;
end;
end;
//

Obs.:Tem como fazer a validacao direto no datamodule, para nao ter q ficar codigo para todos forms?


Lucianorw

Lucianorw

Responder

Posts

11/02/2004

Lucas Silva

Faz datamodule (ou form) padão com esta função.
Ai você herda todos os datamodules (ou Forms) deste datamodule (Form) padrao...


Responder

Gostei + 0

11/02/2004

Lucianorw

[quote:42ae558435=´Lucas Alves Silva´]Faz datamodule (ou form) padão com esta função.
Ai você herda todos os datamodules (ou Forms) deste datamodule (Form) padrao...[/quote:42ae558435]
Ola Lucas,
O datamodule estou começando aprender, só não onde colocar aquela função e como chamá-la (executá-la), no datamodule ou no form mesmo.
Desculpe a ignorancia é que iniciante no assunto.
Luciano


Responder

Gostei + 0

18/02/2004

Lucianorw

Ola,
Este codigo funciona perfeitamente em VBA (Access), como passo ele para o delphi?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Function Critica(Cancel As Integer, frm As Form)
Dim ctl As Control
For Each ctl In frm.Controls
If ctl.ControlType = acTextBox Or ctl.ControlType = acComboBox Then
    If ctl.Tag = "1" Then
        If IsNull(ctl) = True Then
            Beep
            MsgBox "O campo " & ctl.Controls(0).Caption & " não pode conter valor nulo!", vbInformation
            Cancel = -1
            DoCmd.GoToControl ctl.Name
            Exit For
        End If
    ElseIf ctl.Tag = "2" Then
        If IsNull(ctl) = True Then
            Beep
            MsgBox "O campo " & ctl.Controls(0).Caption & " está nulo!", vbInformation
        End If
    End If
End If
Next ctl
End Function

A logica é o seguinte:
No evento antes de atualizar do form coloco o código, ele faz um loop por todos os campos do form, e verifica as tag, se alguma obedecer a regra, ou bloqueia o lancamento até q seja informado os valores no campo ou apenas avisa, permitindo o lancamento.
Alguma ideia de como fazer esta ´conversão´.
Grato
Luciano[/b]


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar