Jag har en tabell som heter Produkter, en av kolumnerna heter Pris(valuta, långt heltal).
Sedan har jag en tabell som heter Kunder som innehåller en kolumn med namnet Rabatt(valuta, procent)
Hur gör jag för att kunna visa Pris minus Rabatt, dvs om priset är 100 kr och den inloggade kunden har 30% rabatt, så ska priset visas 70 kr?
Det här är för att visa priset för produkten på produktsidan, varje kund som loggar in har en specifik rabatt som gäller över alla produkter ex:
Ulla som jobbar för Företaget AB loggar in, Ulla har 30% rabatt på hela sortimentet. När Ulla tittar på dom olika produkterna står priset på varje produkt med rabatten redan avdragen.
Hur visar man då priset med rabatten redan avdragen?
Jo matten är det inget fel på(hade 5:a ) men asp-koden är det värre med
Är säkert helt ute och cyklar!
Provade på en sida och satte redan förutbestämda ID på objekten, dvs jag tog ID från en befintlig Produkt(Produkter.ID=74) och från en befintlig kund(Kunder.ID=2) för att få fram den kundens pris!
<%
Set rs =conn.Execute("Select (Produkter.Pris* Kunder.Rabatt) AS tot_pris Where Produkter.ID=74 AND Kunder.ID=2")
%>
<%=rs("tot_pris")%>
<%
rs.close
conn.close
%>
Fel:
Error Type:
Microsoft JET Database Engine (0x80040E14)
SELECT-uttrycket innehåller ett reserverat ord eller argument som antingen är felstavat eller utelämnat, eller så är skiljetecknen felaktigt använda.
/unisafe/test2.asp, line 115
<%
Set rs =conn.Execute("Select (Produkter.Pris* Kunder.Rabatt) AS tot_pris From Produkter Where ID=74 AND From Kunder Where ID=2")
%>
<%=rs("tot_pris")%>
<%
rs.close
conn.close
%>
Error Type:
Microsoft JET Database Engine (0x80040E14)
Syntaxfel (operator saknas) i frågeuttrycket 'ID=74 AND From Kunder Where ID=2'.
/unisafe/test2.asp, line 115
'#######Kolla om pris finns IF1
<%
If len(rs("Pris"))> 0 Then
%>
'#######Finns det skriv ut
<table width=100% border=0 cellspacing=0 cellpadding=0><td width=40% class=vit valign=top>Pris: </td><td width=60% class=vit><b>
'#######Kolla om personen är inloggad, IF2
<%
If len(Session("Username"))<=0 then
%>
'#######Ej inloggad skriv ut
<%=rs("Pris")%>
<% Else %>
'#######Om inloggad, kolla vilken produkt och kolla rabatt den inloggade har
<%
Set prrs =conn.Execute("Select (Produkter.Pris* Kunder.Rabatt) AS tot_pris From Produkter,Kunder Where Produkter.Artnr="&Request.QueryString("Artnr")&" AND Kunder.Username="&Session("Username")&"")
%>
'#######Skriv ut för den inloggade
<%=prrs("tot_pris")%>
'#######Stäng recset
<%
prrs.close
%>
'#######Avsluta IF2
<% End If %>
</b></td></table>
'#######Avsluta IF1
<% End If %>
Vet inte om man kan använa en if sats i en annan if sats?
Den ska först känna av om det finns nått pris i databasen, om det finns så ska den känna av om personen är inloggad eller bara gäst!
Fel
Error Type:
Microsoft JET Database Engine (0x80040E14)
Syntaxfel (operator saknas) i frågeuttrycket 'Produkter.Artnr=1003HT AND Kunder.Username=anderzzo'.
/unisafe/prod1.asp, line 201
Du kan nästla IF godtyckligt.
I och för sig kan det vara fel i IF (det har jag inte tittat efter) men
ett fel finns det i din select-sats
<%
Set prrs =conn.Execute("Select (Produkter.Pris* Kunder.Rabatt) AS tot_pris From Produkter,Kunder Where Produkter.Artnr="&Request.QueryString("Artnr")&" AND Kunder.Username='"&Session("Username")&"'")
%>