Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Calculo de média


dcoder

Pergunta

Boa tarde amigos...

Estou precisando fazer um calculo de média onde vou somar 3 valores e dividir o resultado por 3, (100+100+100/3)porém preciso fazer isso de uma forma dinamica para que quando os valores mudarem o calculo mude tambem...olha a imagem:

http://img156.imageshack.us/img156/9775/imghf0.jpg

pensei em capturar esse resultado direto do form que faço o insert no bd, tipo, se eu digitar 10 no campo fevereiro, 10 no campo março e 10 no campo abril automaticamente apareceria o resultado em um campo de texto abaixo, deu pra sacar ?

com isso a pessoa já fazia o insert do valor no banco.

Aguardo a ajuda pessoal...obrigado

Link para o comentário
Compartilhar em outros sites

17 respostass a esta questão

Posts Recomendados

  • 0

Veja se é isso .. Um exemplo:

<% 
Fevereiro = request.form("txtFevereiro")
Marco = request.form("txtMarco")
Abril = request.form("txtAbril")

if Fevereiro <> "" and Marco <> "" and Abril <> "" then

resultado = (Fevereiro+Marco+Abril)/3 

SQL="INSET INTO (media) VALUES ('" & resultado & "')"
Set rs = conexao.execute(SQL)
end if 
%>

<form method="POST">
<table>
<tr>
<td><input type="text" name="txtFevereiro"></td>
</tr>
<tr>
<td><input type="text" name="txtMarco"></td>
</tr>
<tr>
<td><input type="text" name="txtAbril"></td>
</tr>
<tr>
<td><input type="submit" value="Salvar"></td>
</tr>
</table>
</form>

Link para o comentário
Compartilhar em outros sites

  • 0
Veja se é isso .. Um exemplo:

<% 
Fevereiro = request.form("txtFevereiro")
Marco = request.form("txtMarco")
Abril = request.form("txtAbril")

if Fevereiro <> "" and Marco <> "" and Abril <> "" then

resultado = (Fevereiro+Marco+Abril)/3 

SQL="INSET INTO (media) VALUES ('" & resultado & "')"
Set rs = conexao.execute(SQL)
end if 
%>

<form method="POST">
<table>
<tr>
<td><input type="text" name="txtFevereiro"></td>
</tr>
<tr>
<td><input type="text" name="txtMarco"></td>
</tr>
<tr>
<td><input type="text" name="txtAbril"></td>
</tr>
<tr>
<td><input type="submit" value="Salvar"></td>
</tr>
</table>
</form>
E ae cara beleza ? veja bem olha a imagem abaixo oque estou precisando: http://img21.imageshack.us/img21/4810/imgjv1.jpg assim eu consigo inserir os valores da media junto com os outros valores no banco.. Segue meu codigo:
<%@ Language=VBScript %>
<%
if NOT isempty(Request.Form("Insert")) then
    set conn = server.createobject ("adodb.connection")
    conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("../../dados/geral.mdb")
    conn.Execute "insert into TBFIAT (item, janeiro, fevereiro, marco, abril, maio, junho, julho, agosto, setembro, outubro, novembro, dezembro,media90d, media180d) " _
    & "values (" _
    & "'" & Request.Form("item") & "', " _
    & "'" & Request.Form("janeiro") & "', " _
    & "'" & Request.Form("fevereiro") & "', " _
    & "'" & Request.Form("marco") & "', " _
    & "'" & Request.Form("abril") & "', " _
    & "'" & Request.Form("maio") & "', " _
    & "'" & Request.Form("junho") & "', " _
    & "'" & Request.Form("julho") & "', " _
    & "'" & Request.Form("agosto") & "', " _
    & "'" & Request.Form("setembro") & "', " _
    & "'" & Request.Form("outubro") & "', " _
    & "'" & Request.Form("novembro") & "', " _
    & "'" & Request.Form("media90d") & "', " _
    & "'" & Request.Form("media180d") & "', " _
    & "'" & Request.Form("dezembro") & "')"
    response.redirect "./manage_data_menu.asp"
end if


%>

preciso adaptar a esse codigo que criei...

abraços.

Editado por Rafael Spilki
tags code
Link para o comentário
Compartilhar em outros sites

  • 0

Eu faria da seguinte forma!

Criaria um select sum com clausulas de where que preencham essa sua condição, ex:

'set datai 3 meses atras da data atual
datai = dateadd("m", -3, date)
dataf = date
sql = "select sum(seu_campo) as total_trimestre from sua_tabela where data between  #" & (datai) & "# and #" & (dataf) & "# "
set rs...
depois, como já teria essa soma pelo recordset faria a média mensal...
trimestre = rs("total_trimestre")
media = trimestre/3
response.write media

sacou?

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0
Cara eu não consegui abrir a imagem aki na empresa links de imagem não abrem hehehe .... Mas o q eu postei funcionou ???

E ae jow consegui com seu codigo sim, deu certo porém o resultado não esta dando certo tipo:

se eu digito 100 em fevereiro

100 em março

100 em abril o resultado da 33366,6666666667

a logica do codigo esta certa que é fevereiro+marco+abril/3 = 100 'era pra acontecer isso né....

não entendi esse resultado maluco.. olha o codigo:

Set conexao = Server.CreateObject("ADODB.Connection")

conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("dados/banco.mdb")

Fevereiro = request.form("fevereiro")
Marco = request.form("marco")
Abril = request.form("abril")

if fevereiro <> "" and marco <> "" and abril <> "" then

media = (fevereiro+marco+bril)/3 

SQL="INSERT INTO itens (MEDIA)" & "VALUES ('" & media & "')"
Set rs = conexao.execute(SQL)
end if 
%>

abraços

Editado por Rafael Spilki
tags code
Link para o comentário
Compartilhar em outros sites

  • 0

não funfou cara, o resultado esta retornando assim:

10+10+10/3 = 33.670,00

Codigo:

<% 

Set conexao = Server.CreateObject("ADODB.Connection")
conexao.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath("dados/banco.mdb")



Fevereiro = request.form("fevereiro")
Marco = request.form("marco")
Abril = request.form("abril")

if fevereiro <> "" and marco <> "" and abril <> "" then

media = (fevereiro+marco+bril)/3 

SQL="INSERT INTO items (MEDIA)" & "VALUES ('" & media & "')"
Set rs = conexao.execute(SQL)

resultado = (Fevereiro+Marco+Abril)/3 
response.write FormatNumber(resultado,2)

end if 
%>

Obrigado brother.

Link para o comentário
Compartilhar em outros sites

  • 0

Que estranho o meu retorna isso 303.030,00 se eu digitar 30+30+30

Fevereiro = request.form("fevereiro")
Marco = request.form("marco")
Abril = request.form("abril")

if fevereiro <> "" and marco <> "" and abril <> "" then

media = (fevereiro+marco+bril)

SQL="INSERT INTO items (MEDIA)" & "VALUES ('" & media & "')"
Set rs = conexao.execute(SQL)

resultado = (Fevereiro+Marco+Abril)
response.write FormatNumber(resultado,2)

end if

Link para o comentário
Compartilhar em outros sites

  • 0

Cara está acontecendo um seguinte está apenas concatenando o q você digitou .... exemplo se você digitou 30, 30, 30

Fevereiro = request.form("fevereiro")
Marco = request.form("marco")
Abril = request.form("abril")

media = (fevereiro+marco+bril)

o retorno será 303030
o q você deve fazer
Fevereiro = FormatNumber(request.form("fevereiro"))
Marco = FormatNumber(request.form("marco"))
Abril = FormatNumber(request.form("abril"))
ou
Fevereiro = CINT(request.form("fevereiro"))
Marco = CINT(request.form("marco"))
Abril = CINT(request.form("abril"))

Editado por jow
Link para o comentário
Compartilhar em outros sites

  • 0

dcoder, acho que o jow matou a charada! deve ser isso sim!

Após testar poste aqui os resultados, se o problema persistir debugue os meses para que possamos ver com mais clareza!

Lembre-se de usar as tags Code sempre que fores postar um código ou trecho de código, assim:

  • Quando precisar postar algum código, utilize as tags específicas, como [html] [/html] para códigos em HTML ou [code] [/code] para outros códigos.

    Existe também o [codebox] [/codebox] para códigos muito extensos, mas muitas vezes ele acaba atrapalhando a interpretação do mesmo em vez de ajudar.

    Se precisar postar o código de mais de um arquivo, escreva o nome do mesmo em negrito, logo antes da caixa de código, assim eles poderão ser identificados pelos outros usuários.

    Este simples recurso facilita incrivelmente na hora de ler ou analisar um código.

leia mais em: http://scriptbrasil.com.br/forum/index.php?showtopic=131728

[]'s Rafael Spilki

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia spilk.

Matou a charada sim cara, deu certo aqui. Obrigado mais uma vez pela ajuda de todos ae...

Fevereiro = cint(request.form("fevereiro"))
Marco = cint(request.form("marco"))
Abril = cint(request.form("abril"))



media = (fevereiro+marco+bril)/3

SQL="INSERT INTO items (MEDIA)" & "VALUES ('" & media & "')"
Set rs = conexao.execute(SQL)

resultado = (Fevereiro+Marco+Abril)/3
response.write FormatNumber(resultado,2)


%>

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

hehehe ensinando kkkkkk ... Cara como eu apreendi muito nesse e em outros forúns eu tento ajudar a galera sempre qd eu posso ...

Uma coisa q eu apreendi e sempre levo comigo é q você apreendendo com seus erros você não esquece mais ... abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...