Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Renan Setrini

[Resolvido] Erro : Tipo incompatível

Recommended Posts

Olá.

 

Estou tentando somar valores de uma consulta SQL. Esses valores surgem de um select sum(campo numeric).

Minha consulta é representada desta maneira.

 

Ex:

Código do Cliente - Fantasia - Data Reativação - Valor total do Pedido

15 - Renan - 15/12/2009 - 1487,00

12 - João - 20/12/2009 - 1000,00

 

Ao final desse código quero fazer uma soma desses valores. Valor total: R$ 2487,00

 

 

Segue abaixo parte do código e o mesmo retorna erro TIPO INCOMPATÍVEL. O que fazer?

 

 

 


<%@LANGUAGE="VBSCRIPT"%>

'Abrindo a tabela(recordset1) 
Set rs=cn.execute(SQL1)

'While
While not rs.eof
Set rs1 = cn.execute("SELECT c.cod_emp, c.fantasia, C.DT_REATIVADO, isnull(Sum(i.VR_TOT_SAIDA),0) as 'V_R' " &_
"FROM ITENS_SAIDA as i " &_
"inner join ped_saida as p " &_
"on i.cod_ped = p.cod_ped " &_
"inner join clientes as c " &_
"on p.cod_emp = c.cod_emp " &_
"where (i.cod_stat_item = 3) and (i.cod_ped = '"&rs("numero_pedido")&"') " &_
"group by c.cod_emp, c.fantasia, C.DT_REATIVADO " &_

" order by c.dt_reativado, c.cod_emp asc")

if not rs1.eof Then %>

<table align='center' border=0 cellspacing=0 cellpadding=0 width="90%" style='width:90.36%;
 border-collapse:collapse;mso-padding-alt:0cm 3.5pt 0cm 3.5pt'>
 <tr style='height:7.95pt'>
  <td width=131 valign=top style='width:98.55pt;padding:0cm 3.5pt 0cm 3.5pt;
  height:7.95pt'>
  <p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
  mso-line-height-alt:7.95pt'><u1:p></u1:p><span style='font-family:Arial;
  color:black'>PED.: <b><%=rs("numero_pedido")%></b><u1:p></u1:p></span></p>
  </td>
   </tr>
</table>

<!-- inicio da subtabela -->

<table align='center' border=0 cellspacing=0 cellpadding=0 width="90%" style='width:90.36%; border-collapse:collapse;mso-padding-alt:0cm 3.5pt 0cm 3.5pt'>
 <tr style='height:7.95pt'>

  <td valign=top style='width:66.45pt;border:solid windowtext .5pt;
  padding:0cm 3.5pt 0cm 3.5pt'>
  <p class=MsoNormal align=center style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
  auto;text-align:center'><b><span style='font-size:11.0pt;mso-bidi-font-size:
  12.0pt;font-family:Arial'>COD_EMP<u1:p></u1:p><u2:p></u2:p></span></b></p>
  </td>
 
  <td valign=top style='width:288.0pt;border:solid windowtext .5pt;
  border-left:none;mso-border-left-alt:solid windowtext .5pt;padding:0cm 3.5pt 0cm 3.5pt'>
  <p class=MsoNormal align=center style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
  auto;text-align:center'><b><span style='font-size:11.0pt;mso-bidi-font-size:
  12.0pt;font-family:Arial'>FANTASIA<u1:p></u1:p><u2:p></u2:p></span></b></p>
  </td>

  <td valign=top style='width:288.0pt;border:solid windowtext .5pt;
  border-left:none;mso-border-left-alt:solid windowtext .5pt;padding:0cm 3.5pt 0cm 3.5pt'>
  <p class=MsoNormal align=center style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
  auto;text-align:center'><b><span style='font-size:11.0pt;mso-bidi-font-size:
  12.0pt;font-family:Arial'>DATA REATIVADO<u1:p></u1:p><u2:p></u2:p></span></b></p>
  </td>

  <td valign=top style='width:288.0pt;border:solid windowtext .5pt;
  border-left:none;mso-border-left-alt:solid windowtext .5pt;padding:0cm 3.5pt 0cm 3.5pt'>
  <p class=MsoNormal align=center style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
  auto;text-align:center'><b><span style='font-size:11.0pt;mso-bidi-font-size:
  12.0pt;font-family:Arial'>VALOR PEDIDO (R$)<u1:p></u1:p><u2:p></u2:p></span></b></p>
  </td>
  </tr>

<%
TotalProdutos = 0

while not rs1.eof%>

 <tr>
   <td valign=top style='width:66.45pt;border:solid windowtext .5pt;
  border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0cm 3.5pt 0cm 3.5pt'>
  <p class=MsoNormal align=center style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
  auto;text-align:center'><u1:p></u1:p><span lang=EN-US style='font-family:
  Arial;mso-ansi-language:EN-US'><%=rs1("COD_EMP")%><u5:p></u5:p><u2:p></u2:p></span><span
  lang=EN-US style='mso-ansi-language:EN-US'><u3:p></u3:p><u4:p></u4:p><o:p></o:p></span></p>
  </td>

  <td valign=top style='width:288.0pt;border:solid windowtext .5pt;
  border-left:none;mso-border-left-alt:solid windowtext .5pt;padding:0cm 3.5pt 0cm 3.5pt'>
  <p class=MsoNormal align=center style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
  auto;text-align:center'><span style='font-size:11.0pt;mso-bidi-font-size:
  12.0pt;font-family:Arial'><%=rs1("FANTASIA")%><u1:p></u1:p><u2:p></u2:p></span></p>
  </td>

  <td valign=top style='width:288.0pt;border-top:none;border-left:
  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
  mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
  padding:0cm 3.5pt 0cm 3.5pt'>
  <p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><u1:p></u1:p><span
  lang=EN-US style='font-family:Arial;mso-ansi-language:EN-US'><%=rs1("DT_REATIVADO")%><u2:p></u2:p></span><span
  lang=EN-US style='mso-ansi-language:EN-US'><u3:p></u3:p><u4:p></u4:p><o:p></o:p></span></p>
  </td>

  <td valign=top style='width:288.0pt;border-top:none;border-left:
  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
  mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
  padding:0cm 3.5pt 0cm 3.5pt'>
  <p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><u1:p></u1:p><span
  lang=EN-US style='font-family:Arial;mso-ansi-language:EN-US'>R$ <%=formatcurrency(rs1("V_R"))%><u2:p></u2:p></span><span
  lang=EN-US style='mso-ansi-language:EN-US'><u3:p></u3:p><u4:p></u4:p><o:p></o:p></span></p>
  </td>
 </tr>

<%TotalProdutos = TotalProdutos + rs1("V_R")%>
	
<%rs1.movenext
Wend
end if%>

</table>

<p class=MsoNormal><u1:p></u1:p><u5:p></u5:p><u3:p></u3:p><u4:p></u4:p><![if !supportEmptyParas]> <![endif]><o:p></o:p></p>

<%rs.movenext
Wend%>


Valor Total em R$: <%=totalProdutos%>


'Fechando RecordSet
rs.close
rs1.close

'Fechando Include File
Call FechaConexao()

'Fechando Nothing
Set rs=Nothing
Set rs1=Nothing

</body>
</html>

 

 

Reparem nas seguintes linhas do código acima:

 

Eu declaro uma variável

TotalProdutos = 0

 

O loop caminha pelos registros, então cada vez que ele passar adicione o valor do registro atual à variavel criada.

Quando o loop terminar o valor agregado às variáveis será o total somado a cada um dos valores dos registros.

 

<%TotalProdutos = TotalProdutos + rs1("V_R")%>

 

 

Aguardo auxilio.

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poste somente a linha do erro e o Select que você está fazendo.

 

 

 

Esse select contém o select SUM.

 


Set rs1 = cn.execute("SELECT c.cod_emp, c.fantasia, C.DT_REATIVADO, isnull(Sum(i.VR_TOT_SAIDA),0) as 'V_R' " &_"FROM ITENS_SAIDA as i " &_"inner join ped_saida as p " &_"on i.cod_ped = p.cod_ped " &_"inner join clientes as c " &_"on p.cod_emp = c.cod_emp " &_"where (i.cod_stat_item = 3) and (i.cod_ped = '"&rs("numero_pedido")&"') " &_"group by c.cod_emp, c.fantasia, C.DT_REATIVADO " &_" order by c.dt_reativado, c.cod_emp asc")if not rs1.eof Then %>

Abaixo esta a linha que retorna o erro (tipo incompatível).

p.s. (depois do WHILE e antes do MOVENEXT)

 


<%TotalProdutos = TotalProdutos + rs1("V_R")%>

Já tentei formatar o valor com formatnumber(variavel,2), Formatcurrenty entre outros, porém todos sem sucesso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A variável TotalProdutos deve ser do mesmo tipo que está retornando o SUM.

Formate a variável TotalProdutos antes de somar. Com FormatNumeric, 2 ou FormatCurrency

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora em negrito:

 

A variável TotalProdutos deve ser do mesmo tipo que está retornando o SUM.

Formate a variável TotalProdutos antes de somar. Com FormatNumeric, 2 ou FormatCurrency

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora em negrito:

 

A variável TotalProdutos deve ser do mesmo tipo que está retornando o SUM.

Formate a variável TotalProdutos antes de somar. Com FormatNumeric, 2 ou FormatCurrency

 

 

Dee,

Fiz desta maneira, por favor verifique se esta correto.

 

TotalProdutos = 0
<%FormatNumber(TotalProdutos,2) = FormatNumber(TotalProdutos,2) + rs1("V_R")%>

Se estiver correto, ainda esta retornando o erro TIPO INCOMPATÍVEL.

Compartilhar este post


Link para o post
Compartilhar em outros sites


<%

Dim Total_Tudo = 0

Total_Tudo = FormatNumber(TotalProdutos,2) + FormatNumber(rs1("V_R"))

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah acho que é porque eu esqueci o 2 aqui:

Total_Tudo = FormatNumber(TotalProdutos,2) +  FormatNumber(rs1("V_R"), 2) // aqui eu esqueci

Compartilhar este post


Link para o post
Compartilhar em outros sites
FormatCurrency(TotalProdutos,2)

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá um CInt nele antes

Compartilhar este post


Link para o post
Compartilhar em outros sites

converte assim:

 

Total_Tudo = FormatNumber(cDbl(TotalProdutos),2) + FormatNumber(cdbl("0" & rs1("V_R")), 2)

Compartilhar este post


Link para o post
Compartilhar em outros sites

converte assim:

 

Total_Tudo = FormatNumber(cDbl(TotalProdutos),2) + FormatNumber(cdbl("0" & rs1("V_R")), 2)

 

Mesmo assim ele esta juntando os valores:

 

0,001.078,20

 

 


<%Dim TotalProdutos : TotalProdutos = 0
while not rs1.eof%>

 <tr>
   <td valign=top style='width:66.45pt;border:solid windowtext .5pt;
  border-top:none;mso-border-top-alt:solid windowtext .5pt;padding:0cm 3.5pt 0cm 3.5pt'>
  <p class=MsoNormal align=center style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
  auto;text-align:center'><u1:p></u1:p><span lang=EN-US style='font-family:
  Arial;mso-ansi-language:EN-US'><%=rs1("COD_EMP")%><u5:p></u5:p><u2:p></u2:p></span><span
  lang=EN-US style='mso-ansi-language:EN-US'><u3:p></u3:p><u4:p></u4:p><o:p></o:p></span></p>
  </td>

  <td valign=top style='width:288.0pt;border:solid windowtext .5pt;
  border-left:none;mso-border-left-alt:solid windowtext .5pt;padding:0cm 3.5pt 0cm 3.5pt'>
  <p class=MsoNormal align=center style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
  auto;text-align:center'><span style='font-size:11.0pt;mso-bidi-font-size:
  12.0pt;font-family:Arial'><%=rs1("FANTASIA")%><u1:p></u1:p><u2:p></u2:p></span></p>
  </td>

  <td valign=top style='width:288.0pt;border-top:none;border-left:
  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
  mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
  padding:0cm 3.5pt 0cm 3.5pt'>
  <p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><u1:p></u1:p><span
  lang=EN-US style='font-family:Arial;mso-ansi-language:EN-US'><%=rs1("DT_REATIVADO")%><u2:p></u2:p></span><span
  lang=EN-US style='mso-ansi-language:EN-US'><u3:p></u3:p><u4:p></u4:p><o:p></o:p></span></p>
  </td>

  <td valign=top style='width:288.0pt;border-top:none;border-left:
  none;border-bottom:solid windowtext .5pt;border-right:solid windowtext .5pt;
  mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
  padding:0cm 3.5pt 0cm 3.5pt'>
  <p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><u1:p></u1:p><span
  lang=EN-US style='font-family:Arial;mso-ansi-language:EN-US'>R$ <%=FormatNumber(rs1("V_R"),2)%><u2:p></u2:p></span><span
  lang=EN-US style='mso-ansi-language:EN-US'><u3:p></u3:p><u4:p></u4:p><o:p></o:p></span></p>
  </td>
 </tr>

<%Total_Tudo = FormatNumber(cDbl(TotalProdutos),2) + FormatNumber(cdbl("0" & rs1("V_R")), 2)%> 


<%rs1.movenext
Wend
end if%>

</table>

<%rs.movenext
Wend

response.write Total_Tudo

Compartilhar este post


Link para o post
Compartilhar em outros sites
Total_Tudo = FormatNumber(CInt(TotalProdutos),2) + FormatNumber(CInt("0" & rs1("V_R")), 2)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.