---
title: "Once more unto the breach"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/11099-once-more-unto-the-breach"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "His Divine Shadow"
published: "2001-08-10T10:07:00.000Z"
updated: "2001-08-14T09:50:00.000Z"
replies: 8
views: 199
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/11099-once-more-unto-the-breach"
---

# Once more unto the breach

## #1 — His Divine Shadow, 2001-08-10T10:07Z

Hej igen, ännu mera frågor 

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.

Permalänk: https://www.webforum.nu/p/11099

## #2 — LarsG, 2001-08-10T16:30Z

```
<%
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.

Permalänk: https://www.webforum.nu/p/283586

## #3 — His Divine Shadow, 2001-08-13T09:42Z

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...

Permalänk: https://www.webforum.nu/p/283587

## #4 — LarsG, 2001-08-13T17:30Z

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?

Permalänk: https://www.webforum.nu/p/283588

## #5 — His Divine Shadow, 2001-08-14T06:12Z

Nå ett exempel:
alla_produkt.asp?produkt=A&B&C

Felmeddelandet är nog samma än.

Permalänk: https://www.webforum.nu/p/283589

## #6 — LarsG, 2001-08-14T08:24Z

Jag tror nog att du får skriv din quereystring annorlunda.

```

  <a href='sida.asp?produkt=AA&produkt=BB'>Hej hopp</a>
```

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)
%>
```

Permalänk: https://www.webforum.nu/p/283590

## #7 — His Divine Shadow, 2001-08-14T09:13Z

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?

Permalänk: https://www.webforum.nu/p/283591

## #8 — LarsG, 2001-08-14T09:22Z

Nej, jag skrev = istf \<\> vid if addon. Så här då

```
<%
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)
%>
```

Permalänk: https://www.webforum.nu/p/283592

## #9 — His Divine Shadow, 2001-08-14T09:50Z

super! tack!

Permalänk: https://www.webforum.nu/p/283593

---

Tråden på webben: https://www.webforum.nu/amne/asp/11099-once-more-unto-the-breach
