Avatar billede dp2001 Juniormester
27. juni 2001 - 19:46 Der er 8 kommentarer og
1 løsning

SQL-statements fra MS Access forespørgsel -> ASP

Hvordan og hvorledes med sql-statements ifb. med ASP?

Jeg har en Access DB, hvor jeg har følgende forespørgsels-DB:

SELECT RABATKODE_KATEGORI_RAS_TBL.RABATKODE, RABATKODE_KATEGORI_RAS_TBL.KATEGORI, RABATKODE_KATEGORI_TOT_TBL.AKTIV_KATEGORI, RABATKODE_KATEGORI_TOT_TBL.AKTIV_RABATKODE, RABATKODE_KATEGORI_RAS_TBL.RABAT_MARKERING, PRODUKT_RAS_TBL.PRODUKT, PRODUKT_RAS_TBL.PRODUKT_BETEGNELSE, PRODUKT_RAS_TBL.HENV_PRODUKT
FROM (PRODUKT_RAS_TBL INNER JOIN (RABATKODE_KATEGORI_TOT_TBL INNER JOIN RABATKODE_KATEGORI_RAS_TBL ON RABATKODE_KATEGORI_TOT_TBL.RABATKODEKATEGORI = RABATKODE_KATEGORI_RAS_TBL.RABATKODEKATEGORI) ON PRODUKT_RAS_TBL.PRODUKT = RABATKODE_KATEGORI_RAS_TBL.RABATPRODUKT) INNER JOIN PRODUKT_RAS_TBL AS PRODUKT_RAS_TBL_1 ON PRODUKT_RAS_TBL.HENV_PRODUKT = PRODUKT_RAS_TBL_1.PRODUKT
WHERE (((RABATKODE_KATEGORI_TOT_TBL.AKTIV_KATEGORI)=\"J\") AND ((RABATKODE_KATEGORI_TOT_TBL.AKTIV_RABATKODE)=\"J\"));

(Jeg ved godt, at den ser uoverskuelig ud!)

Den kører sføli fint i Access, meeeen.....

er det overhovedet muligt at overføre/omsætte ovenstående til ASP-kode i strSQL?
Avatar billede keysersoze Ekspert
27. juni 2001 - 19:49 #1
ja...

SQL = \"dit_fra_access\"
Avatar billede keysersoze Ekspert
27. juni 2001 - 19:50 #2
fx:

    Set Conn = Server.CreateObject(\"ADODB.Connection\")
    conn.Open \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\" & Server.MapPath(\"../bog.mdb\")
    SQL = \"SELECT RABATKODE_KATEGORI_RAS_TBL.RABATKODE, RABATKODE_KATEGORI_RAS_TBL.KATEGORI, RABATKODE_KATEGORI_TOT_TBL.AKTIV_KATEGORI, RABATKODE_KATEGORI_TOT_TBL.AKTIV_RABATKODE, RABATKODE_KATEGORI_RAS_TBL.RABAT_MARKERING, PRODUKT_RAS_TBL.PRODUKT, PRODUKT_RAS_TBL.PRODUKT_BETEGNELSE, PRODUKT_RAS_TBL.HENV_PRODUKT
FROM (PRODUKT_RAS_TBL INNER JOIN (RABATKODE_KATEGORI_TOT_TBL INNER JOIN RABATKODE_KATEGORI_RAS_TBL ON RABATKODE_KATEGORI_TOT_TBL.RABATKODEKATEGORI = RABATKODE_KATEGORI_RAS_TBL.RABATKODEKATEGORI) ON PRODUKT_RAS_TBL.PRODUKT = RABATKODE_KATEGORI_RAS_TBL.RABATPRODUKT) INNER JOIN PRODUKT_RAS_TBL AS PRODUKT_RAS_TBL_1 ON PRODUKT_RAS_TBL.HENV_PRODUKT = PRODUKT_RAS_TBL_1.PRODUKT
WHERE (((RABATKODE_KATEGORI_TOT_TBL.AKTIV_KATEGORI)=\"J\") AND ((RABATKODE_KATEGORI_TOT_TBL.AKTIV_RABATKODE)=\"J\"));\"
    Set rs = Conn.Execute(SQL)
Avatar billede dp2001 Juniormester
27. juni 2001 - 19:53 #3
Nope, får fejlen:

Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A0401)
Slut på sætning var ventet
/trafik.asp, line 14, column 736
SQL = \"SELECT RABATKODE_KATEGORI_RAS_TBL.RABATKODE, RABATKODE_KATEGORI_RAS_TBL.KATEGORI, RABATKODE_KATEGORI_TOT_TBL.AKTIV_KATEGORI, RABATKODE_KATEGORI_TOT_TBL.AKTIV_RABATKODE, RABATKODE_KATEGORI_RAS_TBL.RABAT_MARKERING, PRODUKT_RAS_TBL.PRODUKT, PRODUKT_RAS_TBL.PRODUKT_BETEGNELSE, PRODUKT_RAS_TBL.HENV_PRODUKT FROM (PRODUKT_RAS_TBL INNER JOIN (RABATKODE_KATEGORI_TOT_TBL INNER JOIN RABATKODE_KATEGORI_RAS_TBL ON RABATKODE_KATEGORI_TOT_TBL.RABATKODEKATEGORI = RABATKODE_KATEGORI_RAS_TBL.RABATKODEKATEGORI) ON PRODUKT_RAS_TBL.PRODUKT = RABATKODE_KATEGORI_RAS_TBL.RABATPRODUKT) INNER JOIN PRODUKT_RAS_TBL AS PRODUKT_RAS_TBL_1 ON PRODUKT_RAS_TBL.HENV_PRODUKT = PRODUKT_RAS_TBL_1.PRODUKT WHERE (((RABATKODE_KATEGORI_TOT_TBL.AKTIV_KATEGORI)=\"J\") AND ((RABATKODE_KATEGORI_TOT_TBL.AKTIV_RABATKODE)=\"J\"));\"
Avatar billede dp2001 Juniormester
27. juni 2001 - 19:56 #4
Når følgende er tabeller:

RABATKODE_KATEGORI_RAS_TBL
RABATKODE_KATEGORI_TOT_TBL
PRODUKT_RAS_TBL

Kan jeg så overhovedet select\'e et felt (på denne måde) ved f.eks at angive RABATKODE_KATEGORI_RAS_TBL.RABATKODE

-Hvor RABATKODE er feltet???

(If you catch my drift)
Avatar billede whatever Nybegynder
27. juni 2001 - 20:01 #5
Du kan sagtens selecte feltet på den måde.
Avatar billede dp2001 Juniormester
27. juni 2001 - 20:02 #6
OK, men som sagt virker det ikke!

Nogle, der har en idé om, hvad der kan være galt med ovenstående?
Avatar billede whatever Nybegynder
27. juni 2001 - 20:08 #7
Prøv det her, jeg tror det går galt med dine \":

SQL = \"SELECT RABATKODE_KATEGORI_RAS_TBL.RABATKODE, RABATKODE_KATEGORI_RAS_TBL.KATEGORI, RABATKODE_KATEGORI_TOT_TBL.AKTIV_KATEGORI, RABATKODE_KATEGORI_TOT_TBL.AKTIV_RABATKODE, RABATKODE_KATEGORI_RAS_TBL.RABAT_MARKERING, PRODUKT_RAS_TBL.PRODUKT, PRODUKT_RAS_TBL.PRODUKT_BETEGNELSE, PRODUKT_RAS_TBL.HENV_PRODUKT FROM (PRODUKT_RAS_TBL INNER JOIN (RABATKODE_KATEGORI_TOT_TBL INNER JOIN RABATKODE_KATEGORI_RAS_TBL ON RABATKODE_KATEGORI_TOT_TBL.RABATKODEKATEGORI = RABATKODE_KATEGORI_RAS_TBL.RABATKODEKATEGORI) ON PRODUKT_RAS_TBL.PRODUKT = RABATKODE_KATEGORI_RAS_TBL.RABATPRODUKT) INNER JOIN PRODUKT_RAS_TBL AS PRODUKT_RAS_TBL_1 ON PRODUKT_RAS_TBL.HENV_PRODUKT = PRODUKT_RAS_TBL_1.PRODUKT WHERE (((RABATKODE_KATEGORI_TOT_TBL.AKTIV_KATEGORI)=\'J\') AND ((RABATKODE_KATEGORI_TOT_TBL.AKTIV_RABATKODE)=\'J\'));\"
Avatar billede prof2 Nybegynder
27. juni 2001 - 22:41 #8
Hvad med dette: Test det!

Set Conn = Server.CreateObject(\"ADODB.Connection\")
    conn.Open \"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\" & Server.MapPath(\"../bog.mdb\")
    SQL = \"SELECT RABATKODE_KATEGORI_RAS_TBL.RABATKODE, RABATKODE_KATEGORI_RAS_TBL.KATEGORI, RABATKODE_KATEGORI_TOT_TBL.AKTIV_KATEGORI, RABATKODE_KATEGORI_TOT_TBL.AKTIV_RABATKODE, RABATKODE_KATEGORI_RAS_TBL.RABAT_MARKERING, PRODUKT_RAS_TBL.PRODUKT, PRODUKT_RAS_TBL.PRODUKT_BETEGNELSE, PRODUKT_RAS_TBL.HENV_PRODUKT
FROM (PRODUKT_RAS_TBL INNER JOIN (RABATKODE_KATEGORI_TOT_TBL INNER JOIN RABATKODE_KATEGORI_RAS_TBL ON RABATKODE_KATEGORI_TOT_TBL.RABATKODEKATEGORI = RABATKODE_KATEGORI_RAS_TBL.RABATKODEKATEGORI) ON PRODUKT_RAS_TBL.PRODUKT = RABATKODE_KATEGORI_RAS_TBL.RABATPRODUKT) INNER JOIN PRODUKT_RAS_TBL AS PRODUKT_RAS_TBL_1 ON PRODUKT_RAS_TBL.HENV_PRODUKT = PRODUKT_RAS_TBL_1.PRODUKT
WHERE (((RABATKODE_KATEGORI_TOT_TBL.AKTIV_KATEGORI)=\'J\') AND ((RABATKODE_KATEGORI_TOT_TBL.AKTIV_RABATKODE)=\'J\'));\"
    Set rs = Conn.Execute(SQL)
Avatar billede dp2001 Juniormester
02. juli 2001 - 10:34 #9
Fik ikke noget af det ovennævnte til at køre.

Lavede i stedet en forespørgsel i Access og kaldte denne i stedet (på den måde undgik jeg at lave joins i ASP-koden).
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