---
title: "SQL sats & datum frågor"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/11015-sql-sats-datum-frågor"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "His Divine Shadow"
published: "2001-08-08T10:16:00.000Z"
updated: "2001-08-09T11:56:00.000Z"
replies: 5
views: 176
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/11015-sql-sats-datum-frågor"
---

# SQL sats & datum frågor

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

Jag har ett problem, i en SQL sats som tar fram priser beroende på kundens inställningar, han kan ha fått special pris enligt en annan prislista, satsen fungerar bra nu men, det är en sak, i vissa kunders fall så gäller specialpriserna bara mellan eller efter ett datum, ibland står det inget i datumfälten(fromdatum, todatum) vilket betyder att special priset gäller hela tiden.
Här är en bit av koden:

Do While Not RS_Prod.EOF
ordpris = Empty
pris = RS_Prod("aPris")

SQL= "SELECT Kundpris.KundNr, KundPris.ArtikelNr, Art.Artikelnr, KundPris.aPris FROM Art, ArtPris, Kund, Kundpris " &\_
"WHERE ('" & Session("user") & "'= kundpris.KundNr) AND " &\_
"(Art.ArtikelNr = KundPris.ArtikelNr) AND " &\_
"(Art.ArtikelNr = ArtPris.ArtikelNr) AND " &\_
"(Art.ArtikelNr = '" & RS_Prod("ArtikelNr") &\_
"') AND (Art.Extra_7 LIKE 'J') ORDER BY Art.Extra_9 " 
Set RS_slist = Conn.Execute(SQL)

if NOT RS_slist.EOF Then
pris = RS_slist("aPris")
else 
' If different price lists are used for different customers
SQL= "SELECT Art.Extra_8, Art.Benämning_10, Art.Övrigt, Art.Artikelnr, ArtPris.aPris FROM Art, ArtPris " &\_
"WHERE (Art.ArtikelNr = ArtPris.ArtikelNr) AND " &\_
"(Art.ArtikelNr = '" & RS_Prod("ArtikelNr") &\_
"') AND (Art.Extra_7 LIKE 'J') AND " &\_
"(ArtPris.PrisLista = " & prislista & ") ORDER BY Art.Extra_9"
Set RS_plist = Conn.Execute(SQL)

if NOT RS_plist.EOF Then
pris = RS_plist("aPris")
else
' If special offer (can not be used together with price lists)
SQL= "SELECT Art.aPris AS pris1, ArtPris.aPris AS pris2, KundPris.aPris AS pris3 FROM KundPris, Art, ArtPris " &\_
"WHERE Art.ArtikelNr = ArtPris.Artikelnr AND " &\_
"(Art.ArtikelNr = '" & RS_Prod("ArtikelNr") &\_
"') AND (Art.Extra_7 LIKE 'J') AND " &\_
"(ArtPris.PrisLista = 1) ORDER BY Art.Extra_9"
Set RS_offer = Conn.Execute(SQL)
if NOT RS_offer.EOF then

ordpris = RS_offer("pris1")
pris = RS_offer("pris2")
specialpris = RS_offer("pris3")
end if
end if
end if

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

## #2 — LarsG, 2001-08-08T14:44Z

Fromdatum och todatum finns alltså i kundpristabellen?

```
SQL= "SELECT Kundpris.KundNr, KundPris.ArtikelNr, Art.Artikelnr, KundPris.aPris FROM Art, ArtPris, Kund, Kundpris " &_
"WHERE ('" & Session("user") & "'= kundpris.KundNr) AND " &_
"(Art.ArtikelNr = KundPris.ArtikelNr) AND " &_
"(Art.ArtikelNr = ArtPris.ArtikelNr) AND " &_
"(Art.ArtikelNr = '" & RS_Prod("ArtikelNr") &_
"') AND (Art.Extra_7 LIKE 'J')" & _
" AND ((FROMDATUM is NULL and TODATUM is NULL )" & _
" or (FROMDATUM is null and TODATUM > date )" & _
" or (FROMDATUM < date and TODATUM is null)" & _
" or date between FROMDATUM and TODATUM)" & _
" ORDER BY Art.Extra_9 "
```

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

## #3 — His Divine Shadow, 2001-08-09T05:56Z

Jo men när jag prövade din kod fick jag detta:

Microsoft JET Database Engine error '80004005' 
The specified field 'FROMDAG' could refer to more than one table listed in the FROM clause of your SQL statement. 

/main/swe/order.asp, line 84 

Ja och fälterna hette visst FromDag och TomDag, men det fixar man nu enkelt.

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

## #4 — LarsG, 2001-08-09T11:02Z

Det verkar alltså som det finns kolumner med samma namn i en annan tabell som också ingår i frågan. Då får man kvalificera kolummreferenserna

```

SQL= "SELECT Kundpris.KundNr, KundPris.ArtikelNr, Art.Artikelnr, KundPris.aPris FROM Art, ArtPris, Kund, Kundpris " &_
"WHERE ('" & Session("user") & "'= kundpris.KundNr) AND " &_
"(Art.ArtikelNr = KundPris.ArtikelNr) AND " &_
"(Art.ArtikelNr = ArtPris.ArtikelNr) AND " &_
"(Art.ArtikelNr = '" & RS_Prod("ArtikelNr") &_
"') AND (Art.Extra_7 LIKE 'J')" & _
" AND ((kundpris.FROMDAg is NULL and kundpris.TODAG is NULL )" & _
" or (kundpris.FROMDAG is null and KUNDPRIS.TODAG > date )" & _
" or (KUNDPRIS.FROMDAG < date and KUNDPRIS.TODAG is null)" & _
" or date between KUNDPRIS.FROMDAG and KUNDPRIS.TODAG)" & _
" ORDER BY Art.Extra_9 "
```

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

## #5 — His Divine Shadow, 2001-08-09T11:55Z

Microsoft JET Database Engine error '80040e10' 
No value given for one or more required parameters. 

/main/swe/order.asp, line 84 

Försöker hitta problemet but no luck so far.

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

## #6 — LarsG, 2001-08-09T11:56Z

Det felet brukar uppstå om man har angett ett felaktigt kolumnnamn.

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/11015-sql-sats-datum-frågor
