Avatar billede fun22 Nybegynder
09. juni 2005 - 20:32 Der er 20 kommentarer og
1 løsning

Type mismatch

Hej,

Er der nogen der kan se hvad fejlen er her?

tmpVarer = left(tmpVarer, len(tmpVarer) - 1)

tmpVarer indeholder tal..
Avatar billede nielle Nybegynder
09. juni 2005 - 20:36 #1
len og left operere på strenge og har det derfor ikke så godt med tal. Lav om til streng først:

tmpVarer = left("" & tmpVarer, len("" & tmpVarer) - 1)
Avatar billede fun22 Nybegynder
09. juni 2005 - 20:40 #2
stadig den samme fejl :(
Avatar billede nielle Nybegynder
09. juni 2005 - 20:49 #3
Sikker på at det er i den linje det fejler? Det fungerer faktisk uden problemer hos mig.
Avatar billede snowball Novice
09. juni 2005 - 20:53 #4
Det virker også hos mig, men ellers prøv med nedenstående:

tmpVarer = left(Cstr(tmpVarer), len(Cstr(tmpVarer)) - 1)
Avatar billede fun22 Nybegynder
09. juni 2005 - 20:54 #5
okay.. Er der en af jer der har tid til at løbe en kode i gennem for mig? Nu har jeg siddet i 2 timer og prøvet med en masse forskellige ting men kan ikke få det til at virke..
Avatar billede nielle Nybegynder
09. juni 2005 - 21:05 #6
Du kan jo poste en klump kode som dækker fejlstedet.
Avatar billede fun22 Nybegynder
09. juni 2005 - 21:07 #7
Det drejer sig om at jeg er ved at lave en indkøbskurv, men jeg kan ikke helt få det til at virke.. Der er blevet lavet en funktion som gør at den ikke laver dubletter og den virker heller ikke helt:

id = Vare nummer
Request.Form("count") = Antallet af den vare man tilføjer

            dim output
            dim NyKode, j, ex

                  arrVarerIKurven = split(Session("Varenr"), "|")

                  arrAntalAfVaren = split(Session("Antal"), "|")


            NyKode = id ' brugeren har lige tilføjet "bil" til kurven

            if Ubound(arrVarerIKurven) = -1 then
           
                Session("Varenr") = Session("Varenr") & "|" & id
                Session("Antal") = Session("Antal") & "|" & Request.Form("count")
               
            end if
           
            ex = ""
           
            for j = 0 to Ubound(arrVarerIKurven)
                  if NyKode = arrVarerIKurven(j) then
                ' NyKode var lig med "næværende kode i arrVarerIKurven" = findes allerede
                    arrAntalAfVaren(j) = CInt(arrAntalAfVaren(j)) + Request.Form("count")
                    ex = "true"
                    exit for
                  end if
            next
           
            if ex = "" AND Ubound(arrVarerIKurven) <> -1 then
                Session("Varenr") = Session("Varenr") & "|" & id
                Session("Antal") = Session("Antal") & "|" & Request.Form("count")
               
                arrVarerIKurven = split(Session("Varenr"), "|")

                  arrAntalAfVaren = split(Session("Antal"), "|")
              end if
       
        dim tmpVarer, tmpAntal, left

        tmpVarer = ""
        tmpAntal = ""

        for i = 0 to ubound(arrVarerIKurven)
          tmpVarer = tmpVarer & arrVarerIKurven(i) & "|"
          tmpAntal = tmpAntal & arrAntalAfVaren(i) & "|"
        next

        ' man skal huske at fjerne de sidste auto-genererede "|"
        tmpVarer = left("" & tmpVarer, len("" & tmpVarer) - 1)
        tmpAntal = left(tmpAntal, len(tmpAntal) - 1)

        session("Varenr") = tmpVarer
        session("Antal") = tmpAntal
Avatar billede nielle Nybegynder
09. juni 2005 - 21:15 #8
Hvordan ser din fejlbesked ud? Og hvorfor mente du at det lige var den linje som fejlede?
Avatar billede fun22 Nybegynder
09. juni 2005 - 21:21 #9
Microsoft VBScript runtime error '800a000d'

Type mismatch

/item.asp, line 86

og linie 86 er tmpVarer = left("" & tmpVarer, len("" & tmpVarer) - 1)..
Avatar billede nielle Nybegynder
09. juni 2005 - 21:30 #10
Prøv med dette:

tmpVarer = ""
tmpAntal = ""

for i = 0 to ubound(arrVarerIKurven)
    if (tmpVarer <> "") then
        tmpVarer = tmpVarer & "|"
        tmpAntal = tmpAntal & "|"
    end if

    tmpVarer = tmpVarer & arrVarerIKurven(i)
    tmpAntal = tmpAntal & arrAntalAfVaren(i)
next

session("Varenr") = tmpVarer
session("Antal") = tmpAntal
Avatar billede fun22 Nybegynder
09. juni 2005 - 21:33 #11
nu tømmer den session'ne hele tiden så der bliver aldrig tilføjet noget :(
Avatar billede ksoren Nybegynder
09. juni 2005 - 21:34 #12
dim tmpVarer, tmpAntal, left

hvad laver left her?
Avatar billede nielle Nybegynder
09. juni 2005 - 21:36 #13
Det var nok det som var fejlen i første omgang tmpVarer var simpelthen tom allerede da du kom ned i:

tmpVarer = left("" & tmpVarer, len("" & tmpVarer) - 1)

Dermed kom der -1 ind på 2. plads i kaldet til left.
Avatar billede nielle Nybegynder
09. juni 2005 - 21:39 #14
Din allerførste kodelinje ser meget underlig ud:

id = Vare nummer
Avatar billede ksoren Nybegynder
09. juni 2005 - 21:44 #15
Sagens kerne er, at når du dimmer 'left', vil left ikke længere blive genkendt som en indbygget funktion, men en brugerdefineret variabel

Du kunne lige så godt skrive

tmpVarer = tmpVarer("hello world", 3)

det giver også type mismatch
Avatar billede nielle Nybegynder
09. juni 2005 - 22:02 #16
' id = Vare nummer
' Request.Form("count") = Antallet af den vare man tilføjer


dim NyKode, Antal

arrVarerIKurven = split(Session("Varenr"), "|")
arrAntalAfVaren = split(Session("Antal"), "|")

NyKode = id  ' brugeren har lige tilføjet "bil" til kurven
Antal = Request.Form("count")

if Ubound(arrVarerIKurven) = -1 then
    ' Indkøbskurven var helt tom

    Session("Varenr") = NyKode
    Session("Antal") = Antal
else
    ' Der er allerede noget i indkøbskurven

    dim NyKodeFundet
    NyKodeFundet = "NEJ"

    for j = 0 to Ubound(arrVarerIKurven)
        if arrVarerIKurven(j) NyKode then
            ' NyKode var lig med "næværende kode i arrVarerIKurven" = findes allerede

            arrAntalAfVaren(j) = CInt(arrAntalAfVaren(j)) + Antal

            NyKodeFundet = "JA"
            exit for
        end if
    next
           
    if NyKodeFundet = "NEJ" then
        Session("Varenr") = Session("Varenr") & "|" & NyKode
        Session("Antal") = Session("Antal") & "|" & Antal

        arrVarerIKurven = split(Session("Varenr"), "|")
        arrAntalAfVaren = split(Session("Antal"), "|")
    end if
end if
       
dim tmpVarer, tmpAntal

tmpVarer = ""
tmpAntal = ""

for i = 0 to ubound(arrVarerIKurven)
    if (tmpVarer <> "") then
        tmpVarer = tmpVarer & "|"
        tmpAntal = tmpAntal & "|"
    end if

    tmpVarer = tmpVarer & arrVarerIKurven(i)
    tmpAntal = tmpAntal & arrAntalAfVaren(i)
next

session("Varenr") = tmpVarer
session("Antal") = tmpAntal
Avatar billede nielle Nybegynder
09. juni 2005 - 22:07 #17
Nej, sådan:

' id = Vare nummer
' Request.Form("count") = Antallet af den vare man tilføjer


dim NyKode, Antal

arrVarerIKurven = split(Session("Varenr"), "|")
arrAntalAfVaren = split(Session("Antal"), "|")

NyKode = id  ' brugeren har lige tilføjet "bil" til kurven
Antal = Request.Form("count")

if Ubound(arrVarerIKurven) = -1 then
    ' Indkøbskurven var helt tom

    Session("Varenr") = NyKode
    Session("Antal") = Antal
else
    ' Der er allerede noget i indkøbskurven

    dim NyKodeFundet
    NyKodeFundet = "NEJ"

    for j = 0 to Ubound(arrVarerIKurven)
        if arrVarerIKurven(j) NyKode then
            ' NyKode var lig med "næværende kode i arrVarerIKurven" = findes allerede

            arrAntalAfVaren(j) = CInt(arrAntalAfVaren(j)) + Antal

            NyKodeFundet = "JA"
            exit for
        end if
    next
           
    if NyKodeFundet = "NEJ" then
        Session("Varenr") = Session("Varenr") & "|" & NyKode
        Session("Antal") = Session("Antal") & "|" & Antal

        arrVarerIKurven = split(Session("Varenr"), "|")
        arrAntalAfVaren = split(Session("Antal"), "|")
    end if

    session("Varenr") = join(arrVarerIKurven, "|")
    session("Antal") = join(arrAntalAfVaren, "|")
end if
Avatar billede thesurfer Nybegynder
14. juni 2005 - 20:45 #18
fun22> Vi er ikke færdige her: http://www.eksperten.dk/spm/620995

Jeg har rettet koden, og omskrevet noget af din kode.. så nu skulle http://www.eksperten.dk/spm/620995 gerne virke..

/theSurfer
Avatar billede nielle Nybegynder
24. juni 2005 - 18:26 #19
Lukketid?
Avatar billede fun22 Nybegynder
05. juli 2005 - 14:46 #20
nielle >> Smidder du lige et svar?
Avatar billede nielle Nybegynder
06. juli 2005 - 17:28 #21
... ville helst vente med at smide et svar til at jeg var sikker på at problemet er løst. Sååe, funker det?

... nå men her kommer der så et svar i mellemtiden.
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