Avatar billede pelskee Nybegynder
07. september 2003 - 21:08 Der er 38 kommentarer og
1 løsning

If then else if

jeg har prøvet at få nedenstående til at spille, men det vil ikke lykkes. den skal løbe igennem for Total vægt og så smide den værdi der passer til.


<%If (Sum_Weight.Fields.Item("WeightTotal").Value) <= 50    Then rsShippingrates.Fields.Item("50").Value%>

<% Else If (Sum_Weight.Fields.Item("WeightTotal").Value) <= 100  Then rsShippingrates.Fields.Item("100").Value%>

<%Else If (Sum_Weight.Fields.Item("WeightTotal").Value) <= 250  Then rsShippingrates.Fields.Item("250").Value%>

<%Else If (Sum_Weight.Fields.Item("WeightTotal").Value) <= 500  Then rsShippingrates.Fields.Item("500").Value%>

<%Else If (Sum_Weight.Fields.Item("WeightTotal").Value) <= 1000  Then rsShippingrates.Fields.Item("1000").Value%>

<%Else If (Sum_Weight.Fields.Item("WeightTotal").Value) <= 2000  Then rsShippingrates.Fields.Item("2000").Value%>

<%End If%>
Avatar billede ellebaek Nybegynder
07. september 2003 - 21:09 #1
<%If (Sum_Weight.Fields.Item("WeightTotal").Value) <= 50    Then rsShippingrates.Fields.Item("50").Value%>

<% ElseIf (Sum_Weight.Fields.Item("WeightTotal").Value) <= 100  Then rsShippingrates.Fields.Item("100").Value%>

<%ElseIf (Sum_Weight.Fields.Item("WeightTotal").Value) <= 250  Then rsShippingrates.Fields.Item("250").Value%>

<%ElseIf (Sum_Weight.Fields.Item("WeightTotal").Value) <= 500  Then rsShippingrates.Fields.Item("500").Value%>

<%ElseIf (Sum_Weight.Fields.Item("WeightTotal").Value) <= 1000  Then rsShippingrates.Fields.Item("1000").Value%>

<%ElseIf (Sum_Weight.Fields.Item("WeightTotal").Value) <= 2000  Then rsShippingrates.Fields.Item("2000").Value%>

<%End If%>

Sådan her...!
Avatar billede cpufan Juniormester
07. september 2003 - 21:12 #2
hvis vægten er under 50 bliver alle udsagnene sande.

det skal defineres bedre.
Avatar billede pelskee Nybegynder
07. september 2003 - 21:16 #3
okay - hvordan mener du cpufan ?
Avatar billede pelskee Nybegynder
07. september 2003 - 21:16 #4
tager den ikke bare så den første fordi den løber dem igennem den vej ?
Avatar billede ellebaek Nybegynder
07. september 2003 - 21:17 #5
Den tager bare den første...

Din opstilling skal bare være som den er, så er det ikke noget problem...!
Avatar billede pelskee Nybegynder
07. september 2003 - 21:21 #6
Microsoft VBScript compilation error '800a03ea'

Syntax error

/dk_shoppingbag_faktura.asp, line 704

ElseIf (Sum_Weight.Fields.Item("WeightTotal").Value) <= 100 Then rsShippingrates.Fields.Item("100").Value
^
Avatar billede pelskee Nybegynder
07. september 2003 - 21:22 #7
en fejl modtager jeg når siden køres
Avatar billede ellebaek Nybegynder
07. september 2003 - 21:23 #8
<%If CInt(Sum_Weight.Fields.Item("WeightTotal").Value) <= 50    Then rsShippingrates.Fields.Item("50").Value%>

<% ElseIf CInt(Sum_Weight.Fields.Item("WeightTotal").Value) <= 100  Then rsShippingrates.Fields.Item("100").Value%>

<%ElseIf CInt(Sum_Weight.Fields.Item("WeightTotal").Value) <= 250  Then rsShippingrates.Fields.Item("250").Value%>

<%ElseIf CInt(Sum_Weight.Fields.Item("WeightTotal").Value) <= 500  Then rsShippingrates.Fields.Item("500").Value%>

<%ElseIf CInt(Sum_Weight.Fields.Item("WeightTotal").Value) <= 1000  Then rsShippingrates.Fields.Item("1000").Value%>

<%ElseIf CInt(Sum_Weight.Fields.Item("WeightTotal").Value) <= 2000  Then rsShippingrates.Fields.Item("2000").Value%>

<%End If%>

Prøv sådan her...!
Avatar billede nmh Nybegynder
07. september 2003 - 21:24 #9
og det er jo ikke så undeligt.
Der skalvle være noget der skal udføres det første sted, hvor en if-sætning bliver sand, og der ståre blot

rsShippingrates.Fields.Item("2000").Value
Avatar billede ellebaek Nybegynder
07. september 2003 - 21:25 #10
Antog der ikke var fejl før...

<%If CInt(Sum_Weight.Fields.Item("WeightTotal").Value) <= 50    Then response.write rsShippingrates.Fields.Item("50").Value%>

<% ElseIf CInt(Sum_Weight.Fields.Item("WeightTotal").Value) <= 100  Then  response.write rsShippingrates.Fields.Item("100").Value%>

<%ElseIf CInt(Sum_Weight.Fields.Item("WeightTotal").Value) <= 250  Then response.write rsShippingrates.Fields.Item("250").Value%>

<%ElseIf CInt(Sum_Weight.Fields.Item("WeightTotal").Value) <= 500  Then response.write rsShippingrates.Fields.Item("500").Value%>

<%ElseIf CInt(Sum_Weight.Fields.Item("WeightTotal").Value) <= 1000  Then response.write rsShippingrates.Fields.Item("1000").Value%>

<%ElseIf CInt(Sum_Weight.Fields.Item("WeightTotal").Value) <= 2000  Then response.write rsShippingrates.Fields.Item("2000").Value%>

<%End If%>
Prøv dette--.-
Avatar billede nmh Nybegynder
07. september 2003 - 21:25 #11
hvad skal der ske med denne størrelse?, for det er jo ikke et procedurekald.
Avatar billede nmh Nybegynder
07. september 2003 - 21:27 #12
Det er i øvrigt ikke nødvendigt med alle disse <%...>%, som du indkapsler hver linie med.
Hvorfor ikke blót have <% til start og %> til slut.
Der kommer jo ikke almindelig html-kode ind nogen steder.
Avatar billede nmh Nybegynder
07. september 2003 - 21:29 #13
Det ville i øvrigt være en god ide at gemme udtrykket
Cint(Sum_Weight.Fields.Item("WeightTotal").Value)
i en variabel i begyndelsen.
Så skal det ikke findes frem så mange gange.
Avatar billede squashguy Nybegynder
07. september 2003 - 21:30 #14
undskyld jeg siger det, men dette er slamkode.

value = CInt(Sum_Weight.Fields.Item("WeightTotal").Value

og brug så denne variabel resten af vejen
Avatar billede pelskee Nybegynder
07. september 2003 - 21:30 #15
stadig sådan en syntax fejl:
hvad kan det skyldes ?

Microsoft VBScript compilation error '800a03ea'

Syntax error

/dk_shoppingbag_faktura.asp, line 704

ElseIf CInt(Sum_Weight.Fields.Item("WeightTotal").Value) <= 100  Then  response.write rsShippingrates.Fields.Item("100").Value
^
Avatar billede pelskee Nybegynder
07. september 2003 - 21:31 #16
squashguy ´-. hvis det er slam, vil du så ikke vise lidt mere af hvad du havde forestillet dig :) - thanks
Avatar billede ellebaek Nybegynder
07. september 2003 - 21:33 #17
value = CInt(Sum_Weight.Fields.Item("WeightTotal").Value)
If value <= 50 Then
response.write rsShippingrates.Fields.Item("50").Value

ElseIf value <= 100 Then
response.write rsShippingrates.Fields.Item("100").Value

ElseIf value <= 250 Then
response.write rsShippingrates.Fields.Item("250").Value

ElseIf value <= 500
Then response.write rsShippingrates.Fields.Item("500").Value

ElseIf value <= 1000 Then
response.write rsShippingrates.Fields.Item("1000").Value

ElseIf value <= 2000 Then
response.write rsShippingrates.Fields.Item("2000").Value

End If
%>

Sådan her..-.!
Avatar billede pelskee Nybegynder
07. september 2003 - 21:34 #18
Sum_Weight recordset ser sådan ud:
SELECT SUM(Weight) AS WeightTotal
FROM shoppingcart, product
WHERE sessionID = "+ Session.SessionID + "  AND ProductID = IDproduct
Avatar billede ellebaek Nybegynder
07. september 2003 - 21:34 #19
og med en <% for den første linie..!
Avatar billede pelskee Nybegynder
07. september 2003 - 21:35 #20
elle - jeg får denne fejl:

Microsoft VBScript compilation error '800a03f9'
Expected 'Then'
/dk_shoppingbag_faktura.asp, line 712
ElseIf value <= 500
-------------------^
Avatar billede pelskee Nybegynder
07. september 2003 - 21:36 #21
det er den værdi jeg ved den skal have fat i. min weight er nemlig 500
Avatar billede ellebaek Nybegynder
07. september 2003 - 21:36 #22
<%
value = CInt(Sum_Weight.Fields.Item("WeightTotal").Value)
If value <= 50 Then
response.write rsShippingrates.Fields.Item("50").Value

ElseIf value <= 100 Then
response.write rsShippingrates.Fields.Item("100").Value

ElseIf value <= 250 Then
response.write rsShippingrates.Fields.Item("250").Value

ElseIf value <= 500 Then
response.write rsShippingrates.Fields.Item("500").Value

ElseIf value <= 1000 Then
response.write rsShippingrates.Fields.Item("1000").Value

ElseIf value <= 2000 Then
response.write rsShippingrates.Fields.Item("2000").Value

End If
%>

Glemte lige den ene then...
Nu bør den være der..!
Avatar billede nmh Nybegynder
07. september 2003 - 21:37 #23
Ja nu ligner det det, jeg har foreslået tidligere.
Avatar billede pelskee Nybegynder
07. september 2003 - 21:38 #24
freaking A - nu virker det - TAK!!!!!!
Avatar billede pelskee Nybegynder
07. september 2003 - 21:38 #25
elle u the man
Avatar billede ellebaek Nybegynder
07. september 2003 - 21:38 #26
anytime!

Takker for pointz...

..Ellebæk!
Avatar billede nmh Nybegynder
07. september 2003 - 21:38 #27
pelskee:
ElseIf value <= 500 then
.....
Then skal være der!
Avatar billede pelskee Nybegynder
07. september 2003 - 21:45 #28
lige en sidste ting - er det muligt at formattere resultatet så der kommer med 2 decimaler ?
Avatar billede ellebaek Nybegynder
07. september 2003 - 21:49 #29
formatNumber(dittal,2)
Avatar billede pelskee Nybegynder
07. september 2003 - 21:52 #30
hehe - last one for the road :)

jeg laver en total hvor jeg skal plusse det tal der ud af ovenstående med:
hvordan ligger jeg det tal til dette:

<%= FormatNumber((Sum_Price.Fields.Item("Price_Total").Value), 2, -2, -2, -2)%>
Avatar billede ellebaek Nybegynder
07. september 2003 - 21:58 #31
hvad mener du..??
Avatar billede mvk Nybegynder
08. september 2003 - 08:26 #32
hvordan tager jeg resultatet af value = CInt(Sum_Weight.Fields.Item("WeightTotal").Value)
og ligger det til <%= FormatNumber((Sum_Price.Fields.Item("Price_Total").Value), 2, -2, -2, -2)%>
så jeg får en Total Total pris ?
Avatar billede mvk Nybegynder
08. september 2003 - 09:35 #33
er der nogen måde jeg kan smide den beregning på et hidden field:
dette vil den ikke æde:

<input name="Freight" type="hidden" id="Freight6" value="<%
value = CInt(Sum_Weight.Fields.Item("WeightTotal").Value)
If value <= 50 Then
response.write formatNumber(rsShippingrates.Fields.Item("50").Value,2)

ElseIf value <= 100 Then
response.write formatNumber(rsShippingrates.Fields.Item("100").Value,2)

ElseIf value <= 250 Then
response.write formatNumber(rsShippingrates.Fields.Item("250").Value,2)

ElseIf value <= 500 Then
response.write formatNumber(rsShippingrates.Fields.Item("500").Value,2)

ElseIf value <= 1000 Then
response.write formatNumber(rsShippingrates.Fields.Item("1000").Value,2)

ElseIf value <= 2000 Then
response.write formatNumber(rsShippingrates.Fields.Item("2000").Value,2)

End If
%>">
Avatar billede nmh Nybegynder
08. september 2003 - 09:43 #34
gem resultatet i if-then-elseif strukturen i en variabel.
F.eks. således
<%
If value <= 50 Then
R=formatNumber(rsShippingrates.Fields.Item("50").Value,2)
elseif ....
R=....
.....

%>
Nu kan du skrive resultatet ud i den skjulte inputfelt:

<input name="Freight" type="hidden" id="Freight6" value="<%=R%>>
Avatar billede nmh Nybegynder
08. september 2003 - 09:45 #35
rettelse:
<input name="Freight" type="hidden" id="Freight6" value="<%=R%>">
Avatar billede mvk Nybegynder
08. september 2003 - 10:02 #36
dette virker ikke:

<%
value = CInt(Sum_Weight.Fields.Item("WeightTotal").Value)
If value <= 50 Then
FreightCost=response.write formatNumber(rsShippingrates.Fields.Item("50").Value,2)

ElseIf value <= 100 Then
FreightCost=response.write formatNumber(rsShippingrates.Fields.Item("100").Value,2)

ElseIf value <= 250 Then
FreightCost=response.write formatNumber(rsShippingrates.Fields.Item("250").Value,2)

ElseIf value <= 500 Then
FreightCost=response.write formatNumber(rsShippingrates.Fields.Item("500").Value,2)

ElseIf value <= 1000 Then
FreightCost=response.write formatNumber(rsShippingrates.Fields.Item("1000").Value,2)

ElseIf value <= 2000 Then
FreightCost=response.write formatNumber(rsShippingrates.Fields.Item("2000").Value,2)

End If
%>

jeg vil gerne oprette et nyt ? så du kan få point...
Avatar billede nmh Nybegynder
08. september 2003 - 10:08 #37
Nej det virker ikke, fordi du har skrevet
FreightCost=response.write formatNumber(rsShippingrates.Fields.Item("50").Value,2)
og du skulle have skrevet
FreightCost=formatNumber(rsShippingrates.Fields.Item("50").Value,2)
Men jeg vil da gerne have point hvis du synes.
Så du kan da oprette et spørgmål.
Avatar billede mvk Nybegynder
08. september 2003 - 10:15 #38
jeg opretter et nyt ?
hvis det er ok smider jeg lige endnu en på :)
.
vi sidder 2 og arbejder på dette projekt. Michael er logget på nu, men det er egentlig mit domæne med dette, så jeg opretter med mit eget login = pelskee.
Avatar billede pelskee Nybegynder
08. september 2003 - 10:20 #39
Eksperten : Programmering : Script : ASP : hidden field value :)
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