Jump to content
Robson Wenzel

Soma no Report Viewer

Recommended Posts

Bom Dia!

 

Estou enfrentando problemas ao realizar somas no report viewer, tenho um dataset configurado com a coluna VALOR do tipo string, e dai no tablix (tabela) eu converto os dados para o tipo monetario pelo código SQL "=FormatCurrency(Fields!Valor.Value,2)", até ai tudo certo. Mas quando eu vou somar o valor total da coluna na tabela da erro, eu uso a função "=Sum(Fields!Valor.Value)". Vocês poderiam me ajudar, gostaria de somar o total do valor e sempre da erro...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Javã JaRLEs
      Olá, boma dia!
      Estou tendo dificuldades em acrescentar mais 1 à variável da tabela no banco de dados
      Tenho a variável $num = 11111111111111111111111. Esse valor será gravado no BD.
      Essa variável têm 23 caracteres e quero somar mais 1. Isso vai ficar em loop.
      O problema é que o sistema está apresentando esse resultado:
      1.1111111111111E+22
      1.1111111111111E+22
      1.1111111111111E+22
       
      O que estou fazendo de errado?
    • By Daniel Talian
      Gostaria de agradecer a ajuda desde já!
       
      Estou com a seguinte dificuldade, estou gerando uma matriz aleatoriamente, na hora de mostrar os números gerados gostaria de fazer uma operação aritmética (soma), e mostrar somente os 8 números que fechem o resultado dessa soma, no exemplo estou procurando o resultado 500
       
      #include <stdlib.h>
      #include <time.h>
      #define N 1000
      #define L 8
      #define F 100

      int main (){
          int freq[F]; 
          int jogo[N][L], jogo1[N][L], i, j, k, aux, soma, somacont;
          char ja_consta;
          for (i=0; i<F; i++)
              freq = 0;
          srand (time(NULL));
          
          for (i=0; i<N; i++){ 
              for (j=0; j<L; j++){
                  do{
                      jogo[j] = rand() % F + 1; 
                      ja_consta = 'N';
                      for (k=0; k<j; k++) 
                          if (jogo[j] == jogo[k])
                              ja_consta = 'S';
                  }while (ja_consta == 'S'); 
                  jogo1[j] = jogo[j]; 
                  freq[jogo[j]-1]++; 
              }
          }
          printf("Jogos sorteados\n"); \\AQUI EM VEZ DE MOSTRAR TUDO, GOSTARIA DE REALIZAR A SOMA E MOSTRAR SOMENTE OS QUE BATEM COM OS 500
          somacont=0;
          for(i=0;i<N;i++){ 
              soma=0;
              printf("Jogo %d:    ", i+1);
              for(j=0;j<L;j++){
                  soma += jogo[j]; 
             printf("%d ", jogo[j]);
                  if(soma == 500){
                      printf(" Soma: %d ", soma);
                      printf("%d ", jogo[j]); //AQUI ESTA IMPRIMINDO SOMENTE O ULTIMO NUMERO DA LINHA,E NÃO TODA LINHA
                      somacont++;
                      }       
                  }printf("\n");        
              }
          printf("\n");
          printf("Vezes que a media Saiu:%d ", somacont);
          printf("\n");
          
          return 0;
      }
    • By AnotherSunset
      Boa noite/dia gente. Preciso de ajuda aqui. Tenho um exercício no qual tenho de fazer um programa em pascal com o seguinte enunciado:
      Considere a soma S dos termo da série infinita apresentada abaixo:

      Fazer um programa em Free Pascal que calcule o valor aproximado da soma S dos termos da série até o momento em que a diferença das normas (módulo) de 2 termos consecutivos for menor que 0,000001 ({i.e.}, norma da diferença das normas de dois termos consecutivos).
       
      Segue meu algoritmos/programa:
       
      program calcserie;
      var
         soma, a1, a2, an  : real;
         sinal                : longint;
         cont, n, fat         : integer;
      begin
         n := 0;
         a1 := 1;
         a2 := 0;
         soma := 0;
         cont := 1;
         fat := 1;
         an := 1;
         sinal := 1;
         while (an) > 0.000001 do
            begin
            n := n + 2;
              while cont <= n do
                  begin
                  fat := fat * cont;
                  cont := cont + 1;
              end;
           soma := (soma + (a1 * sinal));
           sinal := sinal * -1;
           a2 := a1;
           a1 := ((1/fat));
              if (a2 < 0) then
              an := (a2 * -1) - a1
              else if (a1 < 0) then
              an := (a2) - (a1 * -1);
              end;
         write (soma:0:15);
      end.
       
      Meu erro está sendo a partir da 3 casa decimal

    • By eduardohaag
      Olá,
      Mais uma vez aqui estou eu com uma duvida que não estou conseguindo resolver.
      Estou desenvolvendo um ERP para a grafica da minha esposa. Nesse sistema existe um modulo que registra o tempo trabalhado.
      Para fazer isso existe um botão no formulário principal, que quando é clicado salva a hora na variável entrada, e quando clicado novamente ele registra no banco de dados o intervalo entre a entrada e saida.
      Até ai tudo ok. Porém as vezes a pessoa sai e esquece de clicar para registrar a saida.
       
      Então gostaria de fazer com que a cada 5 minutos fosse verificado se teve alteração na posição do ponteiro do mouse, porém permitindo que o usuário possa usar o programa.
       
      Procurando na internet descobri que para isso o melhor seria usar uma thread para fazer essa verificação da posição do mouse em segundo plano já que seria executado a cada 5 minutos e dessa forma travaria a execução do form principal.
       
      O problema está que quando ele detecta que mouse ficou parado por mais de 5 minutos e executa o codigo que salvo o intervalo no banco de dados acontece esse erro quando chega na linha "btEntrada.Text = "Registrar Entrada"" : "System.InvalidOperationException: 'Operação entre threads inválida: controle 'ToolStrip1' acessado de um thread que não é aquele no qual foi criado.'
       
      Li que tenho que usar algo como invoke e delegate, mas mesmo estudando não consegui entender como implementar.
      meu codigo é o seguinte:
       
      Imports System.ComponentModel Public Class Principal_content Dim saida As DateTime Dim tempo As TimeSpan Dim entrada As DateTime Dim ponteiro As Point Sub GerPonto() Do Threading.Thread.Sleep(5000) If ponteiro = Cursor.Position Then Call registraponto() End If ponteiro = Cursor.Position Loop End Sub Private Sub btEntrada_Click(sender As Object, e As EventArgs) Handles btEntrada.Click Call registraponto End Sub Sub registraponto() Dim trd = New Threading.Thread(AddressOf GerPonto) If btEntrada.Text = "Registrar Entrada" Then entrada = FormatDateTime(Now) btEntrada.Text = "Registrar Saida" btEntrada.ToolTipText = "Registrar Saida" btEntrada.Image = My.Resources.appointment_new_Ativo btEntrada.ForeColor = Color.Lime trd.Start() Else trd.Abort() saida = Now tempo = saida.Subtract(entrada) sql = "INSERT INTO ponto (Data, Entrada, Saida, Segundos) VALUES (#" & Format(entrada, "MM/dd/yyyy") & "#, #" & Format(entrada, "hh:mm:ss") & "#, #" & Format(saida, "hh:mm:ss") & "#, " & Replace(FormatNumber(tempo.TotalSeconds, 0, TriState.False, TriState.False, TriState.False), ",", ".") & ")" btEntrada.Text = "Registrar Entrada" btEntrada.Text = "Registrar Entrada" btEntrada.Image = My.Resources.appointment_new_desativo btEntrada.ForeColor = Color.Red AcessoDB.ExecutarComando(sql, CommandType.Text, Nothing, AcessoDB.TipoDeComando.ExecuteNonQuey) End If End Sub End Class  
    • By Jhonata Candido
      Bom dia amigos,
       
      Não consigo imprimir na tela o resultado da consulta. Direto no banco o resultado é exibido, porém com o código abaixo não consigo exibir na tela. O que estou fazendo de errado?
       
              <?php                $sql_pagamento = "SELECT SUM(montante_pago) AS valor from dados INNER JOIN agenda ON 'dados.fornecedor' = '$fornecedor' AND 'dados.dt_execucao_prog' > '$lancamento'";                $query_pagamento = mysql_query($sql_pagamento);                while ($exibir = mysql_fetch_array($query_pagamento)){                    echo $exibir['valor'];                 }         ?>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.