Microsoft Office Online
Iniciar sessão no Meu Office Online (O que é isto?) | Iniciar sessão

 
 
Microsoft Office Access
Procurar
Procurar
 
 
 
 
Aviso: está a visualizar esta página com um browser não suportado. Este Web site funciona melhor com o Microsoft Internet Explorer 6.0 ou posterior, o Firefox 1.5 ou o Netscape Navigator 8.0 ou posterior. Mais informações sobre browsers suportados.

Função DSoma
 

Pode utilizar a função DSoma para calcular a soma de um conjunto de valores num conjunto de registos especificado (um domínio (domínio: conjunto de registos definido por uma tabela, consulta ou expressão SQL. As funções de agregação de domínio devolvem informações estatísticas sobre um domínio específico ou um conjunto de registos.)). Utilize a função DSoma num módulo do Visual Basic for Applications (VBA), numa macro (macro: acção ou conjunto de acções que podem ser utilizadas para automatizar tarefas. As macros são gravadas na linguagem de programação Visual Basic for Applications.), numa expressão de consulta ou num controlo calculado (controlo calculado: controlo utilizado num formulário, relatório ou página de acesso a dados para apresentar o resultado de uma expressão. O resultado é calculado de novo sempre que houver uma alteração em qualquer dos valores nos quais a expressão se baseia.).

Por exemplo, poderá utilizar a função DSoma numa expressão de campo calculado numa consulta para calcular as vendas totais efectuadas por um empregado específico durante um período de tempo. Ou poderá utilizar a função DSoma num controlo calculado para apresentar uma soma parcial de vendas de um produto específico.

Sintaxe

DSoma(expr, domínio [, critérios] )

A sintaxe da função DSoma tem os seguintes argumentos:

Argumento Descrição
expr Obrigatório. Expressão que identifica o campo numérico cujo valor pretende somar. Pode ser uma expressão de cadeia (expressão de cadeia: expressão que equivale a uma sequência de caracteres contíguos. Os elementos da expressão podem ser: funções que devolvem uma cadeia ou uma Variante de cadeia (VarType 8); uma cadeia literal, uma constante, uma variável ou Variante.) que identifique um campo numa tabela ou consulta ou uma expressão que efectue um cálculo dos dados nesse campo. No argumento expr, é possível incluir o nome de um campo numa tabela, um controlo num formulário, uma constante ou uma função. Se o argumento expr incluir uma função, esta pode ser incorporada ou definida pelo utilizador, mas não outra função de domínio agregado ou de agregação SQL.
domínio Obrigatório. Expressão da cadeia que identifica o conjunto de registos que constituem o domínio. Pode ser o nome de uma tabela ou consulta para uma consulta que não necessite de um parâmetro.
critérios Opcional. Expressão da cadeia utilizada para restringir o intervalo de dados em que a função DSoma é executada. Por exemplo, o argumento critérios é frequentemente equivalente à cláusula WHERE numa expressão SQL, sem a palavra WHERE. Se omitir o argumento critérios, a função DSoma avalia o argumento expr em relação a todo o domínio. Qualquer campo incluído em critérios também tem de ser um campo em domínio; caso contrário, a função DSoma devolve um valor Nulo (Null: valor que pode introduzir num campo ou utilizar em expressões ou consultas para indicar dados em falta ou desconhecidos. No Visual Basic, a palavra-chave Null indica um valor nulo (Null). Alguns campos, tais como campos de chave primária, não podem conter um valor Null.).

Observações

Se nenhum registo corresponder ao argumento critérios ou se o domínio não contiver registos, a função DSoma devolve um valor Nulo.

Se utilizar a função DSoma numa macro, módulo, expressão de consulta ou controlo calculado, terá de construir cuidadosamente o argumento critérios para garantir que o mesmo é avaliado correctamente.

É possível utilizar a função DSoma para especificar critérios na linha Critérios de uma consulta, num campo calculado de uma expressão de consulta ou na linha Actualizar Para de uma consulta de actualização (consulta Actualizar: consulta de acção (instrução SQL) que altera um conjunto de registos de acordo com os critérios (condições de procura) especificados pelo utilizador.).

 Nota   Pode utilizar a função DSoma ou Soma numa expressão de campo calculado numa consulta de totais (consulta de totais: consulta que apresenta um cálculo sumário, tal como uma média ou uma soma, para valores existentes em vários campos de uma ou mais tabelas. Uma consulta de totais não é um tipo separado de consulta; pelo contrário, pois permite expandir a flexibilidade das consultas de selecção.). Se utilizar a função DSoma, os valores são calculados antes de os dados serem agrupados. Se utilizar a função Soma, os dados são agrupados antes de os valores na expressão do campo serem avaliados.

É aconselhável utilizar a função DSoma quando necessitar de apresentar a soma de um conjunto de valores de um campo que não se encontre na origem do registo do formulário ou relatório. Por exemplo, imagine que tem um formulário que apresenta informações sobre um produto específico. Poderá utilizar a função DSoma para manter um total parcial das vendas desse produto num controlo calculado.

MostrarSugestão

Se necessitar de manter um total parcial num controlo de um relatório, pode utilizar a propriedade SomaParcial desse controlo se o campo em que se baseia estiver incluído na origem do registo do relatório. Utilize a função DSoma para manter uma soma parcial num formulário.

 Nota   As alterações não guardadas de registos no domínio não são incluídas quando utilizar esta função. Se pretender que a função DSoma se baseie nos valores alterados, primeiro tem de guardar as alterações clicando em Guardar Registo no grupo Registos do separador Base, movendo o foco para outro registo, ou utilizando o método Actualizar.

Exemplos

Utilizar a função DSoma numa expressão  É possível utilizar uma função de domínio (tal como DSoma) na linha Actualizar Para de uma consulta de actualização. Por exemplo, imagine que pretende controlar as vendas actuais por produto numa tabela Produtos. Poderá adicionar um novo campo designado VendasAtéAgora à tabela Produtos e executar uma consulta de actualização para calcular os valores correctos e actualizar os registos. Para tal, crie uma nova consulta baseada na tabela Produtos e, no separador Estrutura, no grupo Tipo de Consulta, clique em Actualizar. Adicione o campo VendasAtéAgora à grelha da consulta e escreva o seguinte na linha Actualizar Para:

DSoma("[Quantidade]*[PreçoUnitário]", "Detalhes da Encomenda", _
    "[CódigoDoProduto] = "& [CódigoDoProduto])
		

Quando a consulta é executada, o Microsoft Office Access 2007 calcula a quantia total de vendas de cada produto, com base nas informações de uma tabela Detalhes da Encomenda. A soma de vendas de cada produto é adicionada à tabela Produtos.

Utilizar DSoma em código VBA  

 Nota   Os exemplos que se seguem demonstram a utilização desta função num módulo do Visual Basic for Applications (VBA). Para mais informações sobre como trabalhar com VBA, seleccione Referência para Programadores na lista pendente junto a Procurar e introduza um ou mais termos na caixa de procura.

O exemplo seguinte soma os valores do campo Frete para encomendas expedidas para o Reino Unido. O domínio é uma tabela Encomendas. O argumento critérios restringe o conjunto resultante de registos a registos em que o PaísRegiãoDeDestino seja igual a RU.

Dim curX As Currency
curX = DSoma("[Frete]", "Encomendas", _
    "[PaísRegiãoDeDestino] = 'RU'")
		

O exemplo seguinte calcula um total utilizando dois critérios separados. Note que são incluídas aspas simples (') e sinais de cardinal (#) na expressão da cadeia, de forma a que, quando as cadeias forem concatenadas, a cadeia literal seja incluída entre aspas simples e a data seja incluída entre sinais de cardinal.

Dim curX As Currency
curX = DSoma("[Frete]", "Encomendas", _
    "[PaísRegiãoDeDestino] = 'RU' AND _
    [DataDeEnvio] > #1-1-95#")
		
Consulte também
anúncio