Avatar billede kometen79 Nybegynder
26. marts 2010 - 12:15 Der er 5 kommentarer og
1 løsning

Int ikke muligt

Hej Eksperter,

Sidder med en MEGA irriterende fejl.

        Call opentbl1("SELECT * FROM shop_order WHERE orderID = "&Session("orderID")&"", rs)
            if not rs.eof then
%>
              <tr>
                <td><strong>Product:</strong></td>
                <td><strong>Price:</strong></td>
              </tr>
            <%do while not rs.eof
              subtotal1 = rs("pris") * rs("antal")                   
              totalsubtotal1 = int(subtotal1 + totalsubtotal1)
            %>
              <tr>
                <td style="font-size:11px;"><%=Left(rs("Produkt"), 19)%></td>
                <td style="font-size:11px;" align="right"><%=subtotal1%> EUR</td>
              </tr>
            <%
                    rs.movenext
                        loop
            %>
              <tr>
                <td><strong>Total:</strong></td>
                <td align="right"><%=totalsubtotal1%></td>
              </tr>
            <%
            end if
        Call closetbl1(rs)


Både rs("pris") og rs("antal") er numerisk, men jeg kan hverken lave formatnumber og totalprisen kan ikke skrives ud, den er blank....

Hvad er galt?
Avatar billede softspot Forsker
26. marts 2010 - 12:28 #1
Har du kontrolleret at der er gyldige data i felterne pris og antal?

Hvis der er, kan du evt. prøve at lave en eksplicit konvertering til numerisk værdier allerede idet du aflæser felterne:

subtotal1 = cdbl(rs("pris")) * clng(rs("antal"))
totalsubtotal1 = subtotal1 + totalsubtotal1

Dette burde gøre variablerne subtotal1 og totalsubtotal1's underliggende typer til double og dermed lettere for VBScript at håndtere. Det kræver dog at indholdet i felterne pris og antal rent faktisk indeholder gyldige værdier, ellers vil konveteringerne nok fejle...
Avatar billede kometen79 Nybegynder
26. marts 2010 - 13:05 #2
Hej,

Der var ingen data i antal på en post, men det er der nu og jeg får stadigvæk fejlen?

Jeg har prøvet at sætte din kode ind og det hjælper ikke. Det skal lige siges at den beregner prisen (subtotal1) korrekt, men den laver ikke totalsubtotal
Avatar billede softspot Forsker
26. marts 2010 - 13:22 #3
Prøv inden din do while-sætning, at sætte totalsubtotal = 0, så du også får initieret subtypen af den variabel inden du tager den i brug i en beregning.

<%
totalsubtotal1 = 0
do while not rs.eof
  subtotal1 = cdbl(rs("pris")) * clng(rs("antal"))
  totalsubtotal1 = subtotal1 + totalsubtotal1
%>
Avatar billede kometen79 Nybegynder
26. marts 2010 - 13:37 #4
Det virker! Perfekt og tusind tak - smid et svar
Avatar billede softspot Forsker
26. marts 2010 - 13:44 #5
Velbekomme :-)
Avatar billede softspot Forsker
27. marts 2010 - 10:43 #6
Tak for point :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



Seneste spørgsmål Seneste aktivitet
I går 23:37 Poe strøm Af lurup i LAN/WAN
I går 14:46 GIF-EDITOR Af snestrup2000 i Billedbehandling
I går 14:03 Logge ind Af Bob i PC
I går 12:12 2 skærme - 1 virker - den anden siger No signal Af eksmojo i Skærme
I går 10:33 openvpn projekt Af dcedata1977 i Windows