Me diga uma coisa?
CustoTotal é o campo ou um objeto?
Se for um objeto que já tem um valor, você terá que atribuir o valor dele a uma variável (quantos objetos forem necessários).
Se for um campo você terá que criar uma função que some os campos e retorne o total exemplo:
Public Function Somar (Objeto as Textbox)
......
End Function
ou aindaVocê pode utilizar a função DSum para calcular a soma de um conjunto de valores em um conjunto especificado de registros (um domínio (domínio: um conjunto de registros definidos por uma tabela, consulta ou expressão SQL. As funções agregadas de domínio retornam informações estatísticas sobre um domínio ou conjunto de registros específico.)).
Sintaxe
expressão.DSum(Expr, Domain, Criteria)
expressão Uma variável que representa um objeto Application.
Parâmetros
Nome Obrigatório/Opcional Tipo de dados Descrição
Expr Obrigatório String Uma expressão que identifica o campo numérico cujos valores você deseja totalizar. Pode ser uma expressão de cadeia de caracteres (expressão de seqüência de caracteres: uma expressão avaliada como uma seqüência de caracteres contíguos. Os elementos da expressão podem incluir: funções que retornam uma seqüência ou uma seqüência Variant (VarType
; uma seqüência literal, constante, variável ou Variant.) que identifica um campo em uma tabela ou consulta ou pode ser uma expressão que efetue um cálculo nos dados desse campo. Em expr, você pode incluir o nome de um campo em uma tabela, um controle em um formulário, uma constante ou uma função. Se expr incluir uma função, ela poderá ser tanto interna quanto definida pelo usuário, mas não uma outra função agregada de domínio ou agregada SQL.
Domain Obrigatório String Uma expressão de cadeia de caracteres que identifica o conjunto de registros que constitui o domínio. Pode ser um nome de tabela ou um nome de consulta de uma consulta que não requer um parâmetro.
Criteria Opcional Variant Uma expressão de cadeia de caracteres opcional usada para restringir o intervalo de dados no qual a função DSum é executada. Por exemplo, criteria costuma ser equivalente à cláusula WHERE em uma expressão SQL, sem a palavra WHERE. Se criteria for omitido, a função DSum avaliará expr em relação ao domínio inteiro. Qualquer campo incluído em criteria também deve exitir em domain; caso contrário, a função DSum retornará um Null.
Valor de retorno
Variant
Comentários
Você poderia, por exemplo, utilizar a função DSum em uma expressão de campo calculado de uma consulta para calcular as vendas totais feitas por determinado empregado ao longo de um período de tempo. Também poderia utilizar a função DSum em um controle calculado para exibir uma soma parcial das vendas de determinado produto.
Se nenhum registro satisfizer o argumento criteria ou se o domínio não contiver registros, a função DSum retornará Null.
Quer você utilize a função DSum em uma macro, um módulo, uma expressão de consulta ou um controle calculado, precisará construir cuidadosamente o argumento criteria para garantir que ele seja avaliado corretamente.
Você pode utilizar a função DSum para especificar critérios na linha Critérios de uma consulta, em um campo calculado de uma expressão de consulta ou na linha Atualizar Para de uma consulta atualização (consulta atualização: uma consulta ação (instrução SQL) que altera um conjunto de registros de acordo com critérios (condições de pesquisa) que você especifica.).
Observação
Você pode utilizar a função DSum ou a função Sum em uma expressão de campo calculado de uma consulta de totais (consulta de totais: uma consulta que exibe um cálculo de resumo, como uma média ou soma, para valores em diversos campos de uma ou mais tabelas. A consulta de totais não é um tipo separado de consulta; na verdade, aumenta a flexibilidade de consultas seleção.). Se você utilizar a função DSum, os valores serão calculados antes do agrupamento dos dados. Se você utilizar a função Sum, os dados serão agrupados antes de a expressão do campo ser avaliada.
Convém utilizar a função DSum para exibir a soma de um conjunto de valores de um campo que não esteja na fonte de registros do formulário ou relatório. Suponhamos, por exemplo, que você tenha um formulário que exiba informações sobre determinado produto. Você poderia utilizar a função DSum para manter um total acumulado de vendas desse produto em um controle calculado.
Se precisar manter um total parcial no controle de um relatório, você poderá utilizar a propriedade RunningSum desse controle se o campo no qual ele está baseado estiver incluído na fonte de registros do relatório. Utilize a função DSum para manter uma soma parcial em um formulário.
Exemplo
O exemplo a seguir totaliza os valores do campo Freight de pedidos enviados para o Reino Unido. O domínio é uma tabela Orders. O argumento criteria restringe o conjunto de registros resultante àqueles para os quais ShipCountry é igual a UK.
Visual Basic for Applications
Dim curX As Currency
curX = DSum("[Freight]", "Orders", "[ShipCountry] = 'UK'")
O próximo exemplo calcula um total utilizando dois critério separados. Observe que aspas simples (') e símbolos numéricos (#) são incluídos na expressão de cadeia de caracteres para que, quando as cadeias forem concatenadas, a cadeia de caracteres literal fique entre aspas simples e a data fique entre símbolos numéricos.
Visual Basic for Applications
Dim curX As Currency
curX = DSum("[Freight]", "Orders", _
"[ShipCountry] = 'UK' AND [ShippedDate] > #1-1-95#")