Här har vi den underbara SQL koden som ni hjälpte mig med:) :
<%
Set Conn = Server.CreateObject("ADODB.Connection")
SQL= "SELECT * FROM Art " &_
"WHERE (EXTRA_9 LIKE '" & Produkt & Produkt & "%[0-9]') AND " &_
"(Extra_7 LIKE 'J') ORDER BY LagerPlats, Extra_9"
Conn.Open Session("GB_ConnectionString")
Set RS_prod = Conn.Execute(SQL)
%>
Här är en exempel länk:
produkt.asp?Produkt=A
denna länk kommer att visa upp alla produkter som har i EXTRA_9 2st A+siffra efter sig.
Det tillåter också att efter AA det kommer mera bokstäver men dom visas icke om dom inte har siffor efter sig, vilket är precis vad jag ville ha sista gången jag var här.
Nu skulle jag vilja ha lite hjälp med att göra det så att man kan ha mer än bara gruppen AA* utan också AA* oc BB* osv.
Jag tänkte att en string som denna i länken kanske skulle funka:
produkt.asp?Produkt=A&C&D
Men icke, det behövs nog en ny SQL sats, men riktig hur vet jag inte.
------------------
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning.
<%
Set Conn = Server.CreateObject("ADODB.Connection")
SQL= "SELECT * FROM Art Where ("
addon = ""
for each produkt in request.querystring
if addon = "" then
addon = addon & " or "
end if
addon = addon & " (EXTRA_9 LIKE '" & Produkt & Produkt & "%[0-9]') "
next
sql = sql & addon & ") AND (Extra_7 LIKE 'J') ORDER BY LagerPlats, Extra_9"
Conn.Open Session("GB_ConnectionString")
Set RS_prod = Conn.Execute(SQL)
%>
Något sådant.
------------------ essentitia preter non sans multiplicandum
Microsoft JET Database Engine error '80040e14'
Syntax error (missing operator) in query expression '( or (EXTRA_9 LIKE 'produktprodukt%[0-9]') (EXTRA_9 LIKE 'BB%[0-9]') ) AND (Extra_7 LIKE 'J')'.
Fattar inte vad som kan saknas här...
------------------
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning.
Nu blir jag lite osäker på hur et fungerar, men kan du testa så här
<%
Set Conn = Server.CreateObject("ADODB.Connection")
SQL= "SELECT * FROM Art Where ("
addon = ""
for each produkt in request.querystring
if addon = "" then
addon = addon & " or "
end if
[b]p = request.querystring(produkt)[/b]
addon = addon & " (EXTRA_9 LIKE '" & p & p & "%[0-9]') "
next
sql = sql & addon & ") AND (Extra_7 LIKE 'J') ORDER BY LagerPlats, Extra_9"
Conn.Open Session("GB_ConnectionString")
Set RS_prod = Conn.Execute(SQL)
%>
Om det inte blir bättre så kan du väl lägga in lite traceutskrifter på variabeln p. Eller så får vi vänta på någon som kan hur dessa samlingar fungerar med for each.
En fråga, hur ser din querystring ut nu?
------------------ essentitia preter non sans multiplicandum
------------------
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning.
och då borde det gå att få varje enskilt värde för produkt med
for each produkt in request.querystring("produkt")
'gör något
next
Alltså om man slår ihop det hela
<%
Set Conn = Server.CreateObject("ADODB.Connection")
SQL= "SELECT * FROM Art Where ("
addon = ""
for each p in request.querystring("produkt")
if addon = "" then
addon = addon & " or "
end if
addon = addon & " (EXTRA_9 LIKE '" & p & p & "%[0-9]') "
next
sql = sql & addon & ") AND (Extra_7 LIKE 'J') ORDER BY LagerPlats, Extra_9"
Conn.Open Session("GB_ConnectionString")
Set RS_prod = Conn.Execute(SQL)
%>
------------------ essentitia preter non sans multiplicandum
Tänker en stund nu och så flyger samma meddelande fram igen.
Syntax error (missing operator) in query expression '( or (EXTRA_9 LIKE 'AA%[0-9]') (EXTRA_9 LIKE 'BB%[0-9]') ) AND (Extra_7 LIKE 'J')'.
Kanske det borde vara AND eller ',' mellan dom där 2 stringarna?
------------------
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning.
<%
Set Conn = Server.CreateObject("ADODB.Connection")
SQL= "SELECT * FROM Art Where ("
addon = ""
for each p in request.querystring("produkt")
if addon [b]<>[/b] "" then
addon = addon & " or "
end if
addon = addon & " (EXTRA_9 LIKE '" & p & p & "%[0-9]') "
next
sql = sql & addon & ") AND (Extra_7 LIKE 'J') ORDER BY LagerPlats, Extra_9"
Conn.Open Session("GB_ConnectionString")
Set RS_prod = Conn.Execute(SQL)
%>
------------------ essentitia preter non sans multiplicandum
------------------
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots.
So far, the Universe is winning.
390 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849