Expressões são usadas em seguintes situações:
|
Uso de expressões |
Objectivos |
|
Propriedades |
Definir regras de validação, valores por omissão, valores para controlos. |
|
Queries e filtros |
Definir critérios, campos calculados, actualizar registos. |
|
Macros |
Estabelecer condições para executar acções. Especificar argumentos. |
|
Funções |
Especificar argumentos. Atribuir valores a variáveis. |
Elementos constituintes de uma expressão:
Constantes: True, False, Yes, No, Null
Literais: 100; #1-Jan-92#; "António Costa"
Variáveis: Identificadas pelo nome
Objectos: Forms, Reports, DynaSet
Um objecto é constituido por conjunto de elementos separados por operador ! ou . (dot):
|
Forms! [ livros] ![ titulo] |
Valor do controlo "Titulo" do formulário "livros". |
|
Forms! [ livros] ![ titulo] .Enabled |
Valor da propriedade "Enabled" do controlo "Titulo" " do formulário "Livros". |
|
Forms![ requisicao] ![ requisicao subform] . Form![ cota] |
Valor do controlo "Cota" do subformulário "requisicao subform" do formulário "requisicao". |
Exemplos de Expressões:
|
[ pergunta 1] +[ pergunta 2] +[ pergunta 3] |
|
[ data] +5 |
|
[ salario] *1.1 |
|
IsNull(Forms![ livros] ![ cota] ) |
Operadores Aritmeticos
|
* |
Multiplicação |
|
+ |
Adição |
|
- |
Subtração |
|
/ |
Divisão |
|
\ |
Divisão inteira |
|
^ |
Exponenciação |
|
Mod |
Resto da divisão inteira |
Operadores Relacionais:
|
< |
Menor que |
|
<= |
Menor ou |
|
> |
Maior que |
|
>= |
Maior ou igual |
|
= |
Igual |
|
<> |
Diferente |
Operadores para Cadeias de Caracteres ("Strings"):
|
& |
Concatenação |
|
Like |
Comparação (*, ?,#) |
Operadores lógicos:
|
And |
Conjunção |
|
Eqv |
Equivalencia |
|
Imp |
Implicação |
|
Not |
Negação |
|
Or |
Disjunção (inclusive Or) |
|
Xor |
Exclusão (exclusive Or) |
Outros operadores:
|
! |
Separar elementos num identificador. Precede o nome de um objecto definido pelo utilizador. |
|
.(dot) |
Separar elementos num identificador. Precede o nome de um objecto definido pelo Access. |
|
Between...And |
Definir intervalos |
|
In |
Definir conjuntos |
Exemplos: (em regras de validação ou critérios em "Queries")
|
Like "??###" |
[ LastName] & "," & [ FirstName] |
|
Between 0 And 20 |
In ("Porto", "Lisboa","Coimbra") |
Funções matemáticas:
|
abs(x) |
Valor absoluto |
|
rnd() |
nrº aleatório |
|
int(x) |
Parte inteira |
|
sin(x) |
Seno(x) |
|
tan(x) |
Tangente(x) |
|
sqr(x) |
Raiz quadrada |
|
exp(x) |
e^x |
|
log(x) |
Logaritmo base e |
|
cos(x) |
Cos(x) |
Funções para cadeias de caracteres:
|
len(str) |
Retorna o nr. de caracteres em str |
|
mid$(str,inicio[ ,tamanho] ) |
Retorna a substring de str a partir da posição indicada pelo 2º argumento e de tamanho especificado pelo 3ºargumento |
|
InStr(str1, str2) |
Retorna a posição da ocurrência da str1 em str2 |
Funções para datas:
|
date(), now() |
Retorna a data do sistema |
|
Year(data), month(data) |
Retornam respectivamente, o ano, mes correspondente a uma data |
|
day(data), weekday(data) |
retornam o dia da semana |
Algumas operações com datas:
now()+1 a data correspondente ao dia de amanha
now()-#1-jan-94# o nr.de dias desde o inicio do ano
Outras funções:
|
iif(condicao;expr1;expr2) |
Se condição é verdadeira avalia expr1, caso contrário avalia expr2 |
|
IsNull(x) |
retorna TRUE se x não tem valor atribuido |
|
Choose(nr; lista de valores) |
retorna o n-esimo valor da lista de valores |
Funções Estatisticas sobre a Bases de Dados
Operações sobre campos de registos selecionados por "Query", "Formulários" (em controles calculados) ou "Relatórios":
|
Sum(exp) |
Soma |
|
Count(exp) |
Número de elementos |
|
Avg(exp) |
Média |
|
First(exp) |
Valor da expressão calculado no 1º registo |
|
Last(exp) |
Valor da expressão calculado no último registo |
|
Min(exp) |
Menor valor |
|
Max(exp) |
Maior valor |
|
Var(exp) |
Variância |
|
StDev(exp) |
Desvio Padrão |
Exemplo: =Avg([ nota] )
Funções com Dominio Agregado:
Operações, usualmente utilizadas em Macros, que permitem escolher a fonte de registos onde actuam, e um critério para selecionar os registos.
Dnome(expressão,dominio[ ,critério] )
Efectuam a operação indicada pela função sobre o campo indicado pelo 1ºargumento, sobre o conjunto de registos indicado pelo 2º argumento restringidos á condição indicada pelo 3º argumento.
|
Davg |
média |
|
Dsum |
soma |
|
DStDev, DStDevP |
desvio padrão |
|
Dvar, DVarP |
variância |
|
Dcount |
número de registos |
|
Dmin, Dmax |
menor e maior valor |
Exemplo:
=Davg([ nota ] , "Alunos"," [ turma] = ‘TP01’ ")
|
DLookup |
Retorna o valor do campo (1º argumento) do 1º registo que satisfaz a condição |
|
DFirst, DLast |
retorna o valor do campo (1º argumento) para o 1º (ultimo) registo que satisfaz a condição |
Eventos em Formulários ou Registos:
|
Evento |
Executa Quando |
Exemplos de utilização |
|
OnOpen |
Quando a forma é aberta mas antes de mostrar o registo |
Abre ou fecha outros formulários quando este é aberto |
|
OnClose |
Antes de fechar o formulário |
Pergunta ao utilizador se confirma |
|
OnCurrent |
Antes de um registo se tornar corrente ou ser mostrado |
Move o foco para um control específico sempre que um registo é actualizado |
|
OnInsert |
Quando começa a digitar dados num registo |
Mostra informação necessária |
|
OnDelete |
Quando um registo é eliminado mas antes de eliminar |
Pergunta ao utilizador se confirma |
|
BeforeUpdate |
Depois de deixar o registo mas antes de actualizar a Base de Dados |
Validação de dados. Pergunta por confirmação sobre a actualização do registo |
|
AfterUpdate |
Depois de deixar o registo e depois de actualizar a Base de Dados |
Validação de dados. Actualiza outros formulários usando os novos dados |
Eventos em Controlos:
|
OnEnter |
Quando o foco é movido para o con- trolo mas antes do control ter o foco |
Pergunta ao utilizador por password para este campo ou mostra informação de como usar |
|
OnExit |
Quando se move para outro control, mas antes de passar o foco para o novo control |
Usa o GoToControl para mover o foco para um control especifico; usa diferentes condições para mover para diferentes controls |
|
OnPush |
Quando o control é clicado |
Abrir formulários, imprimir relatorios ou actualizar registos |
|
OnDoubleClick |
Quando um duplo click é executado |
Mostra informação de Help |
|
BeforeUpdate |
Depois de deixar o control mas antes de alterar o control |
Validar a informação para este control |
|
AfterUpdate |
Depois de deixar o control e depois de alterar o control |
Actualiza outros controls dependentes do valor deste |
|
Acção |
Argumentos |
Função |
|
AddMenu |
MenuName MenuMacroName Status Bar Text |
Cria uma barra de menus contendo drop-down menus. A barra aparece quando o formulário para o qual AddMenu foi assignado é activado |
|
ApplyFilter |
Filter Name Where Condiction |
Filtra os dados disponiveis para um formulário ou relatório usando um filtro, "Query", ou "SQL where" clausula |
|
Beep |
||
|
CancelEvent |
Cancela um evento. Usado quando são digitados dados incorrectos | |
|
Close |
Object Type ObjectName |
Fecha a janela activa (formulário, tabelas, etc) ou especifica. |
|
DoMenuItem |
MenuBar MenuName Command SubCommand |
Executa um comando da barra de menus standard: desfazer acções, eliminar registos em formulários, etc. |
|
Echo |
EchoOn StatusBarText |
Põe On/Off o "refresh" do ecran durante a execução de macros |
|
FindNext |
Encontra o próximo registo especificado pela acção "FindRecord" | |
|
FindRecord |
FindWhat Where MatchCase Direction Search as Formatted SearchIn FindFirst |
Encontra o próximo registo que satisfaz o critério |
|
GoToControl |
ControlName |
Usado para selecionar um control ou campo quando o formulário é aberto |
|
GoToRecord |
ObjectType ObjectName Record Offset |
Posicionar em registos (anterior, seguinte, primeiro, ultimo). Inserir novos registos |
|
HourGlass |
||
|
MsgBox |
Message Beep Type Title |
Mostrar informação (erros, avisos,...) ao utilizador |
|
Acção |
Argumentos |
Função |
|
OpenForm |
FormName View FilterName Where Condition DataMode Window Mode |
Abrir formulários |
|
OpenQuery |
QueryName View DataMode |
Executar "Queries" |
|
OpenReport |
ReportName View FilterName WhereCondition |
Abrir Relatórios |
|
OpenTable |
TableName View DataMode |
Abrir Tabelas |
|
|
||
|
Quit |
Options |
Abandonar o Access |
|
RepaintObject |
ObjectType ObjectName |
Completa o calculo para controles e actualiza o objecto especificado ou activo |
|
Requery |
ControlName |
Actualiza o control especificado repetindo a "query" da fonte do control |
|
RunApp |
Command Line |
Executar aplicações externas |
|
RunCode |
Function Name |
Executa funções definidas pelo utilizador |
|
RunMacro |
MacroName RepeatCount RepeatExpression |
Executa macro |
|
SendKeys |
Keystrokes Wait |
|
|
SetValue |
Item Expression |
Atribuir valores a controles ou propriedades |
|
ShowAllRecords |
Remove Filtros | |
|
StopAllMacros |
Termina a execução de todas as macros | |
|
StopMacro |
Termina a execução da macro |