13. oktober 2000 - 11:31Der er
7 kommentarer og 1 løsning
Problem med JOIN i db access fra ASP
Hejsa. Jeg har en SQL sætning, taget (næsten) direkte fra Access´ SQL forespørgsels generator/wizard. Den ser sådan ud:
rsKontakt.Source = \"SELECT Kp1.Kt_Medarbejder AS B_ID, Kp1.Kt_Fornavn AS B_For, Kp1.Kt_Efternavn AS B_Eft, Kp2.Kt_Medarbejder AS K_ID, Kp2.Kt_Fornavn AS K_For, Kp2.Kt_Efternavn AS K_Eft FROM Kontaktpersoner AS Kp1 INNER JOIN FirmasBackup ON Kp1.Kt_Medarbejder = FirmasBackup.FB_Backup, Kontaktpersoner AS Kp2 INNER JOIN FirmasKontakt ON Kp2.Kt_Medarbejder = FirmasKontakt.FK_Saelger WHERE FirmasBackup.FB_Konto=\"\"\" & session(\"Firma\") & \"\"\" AND FirmasKontakt.FK_Konto=\"\"\" & session(\"Firma\") & \"\"\";\"
Problemet er vist ikke selv SQL strengen, men at skidtet opfører sig underligt. For at teste selve sætningen lavede jeg en lille testside. Det eneste den gjorde, var at køre SQL sætningen og derefter udskrive resultatet på en helt blank side (ingen html whatsoever) med
Det virkede også fint; outputet var som jeg forventede, så jeg var lykkelig. Jeg smed det fluks ind på den side hvor det skulle bruges. og prøvede at hente data fra rsKontakt. Men så fik jeg smidt den her i hovedet:
Error Type: (0x80020009) Exception occurred. /prototype/profil.asp, line 260
Det er den første linie hvor jeg bruger rsKontakt. Det kan jo mege vel være der er en fejl et eller andet sted som laver rav i det ovenstående. Hvis der er nogen som kan finde den, vil jeg meget gerne høre om det :o) Men det mere mystiske er efter min mening at jeg, når jeg sætter endnu en SQL sætning ind i koden, påstår den sgu at Join sætninger ikke er understøttet! Det er denne SQL sætning jeg sætter ind:
rsBetLev.Source = \"SELECT BT_Tekst, LT_Tekst FROM (Betaling INNER JOIN ((Levering INNER JOIN LeveringTekst ON Lev_RecID = LT_RecID) INNER JOIN Firma ON Lev_RecID = Fir_Levering) ON Bet_RecID = Fir_Betaling) INNER JOIN BetalingTekst ON Bet_RecID = BT_RecID WHERE Fir_Konto=\"\"\" & session(\"Konto\") & \"\"\" AND BT_Sprog=\" & session(\"Sprog\") & \" AND LT_Sprog=\" & session(\"Sprog\") & \";\"
Den skulle ifølge Access være i orden, og hente de rigtige data, men når jeg kører den fra siden får jeg denne fejl:
Error Type: Microsoft JET Database Engine (0x80040E14) Join expression not supported. /prototype/profil.asp, line 85
Hvorfor?! Jeg er totalt i vildrede. Jeg håber der er nogen som kan gennemskue det, da det skal bruges til mit afgangsprojekt (*Klapre tænder* *Bide Negle*).
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Det virker nok med dit forslag til SQL sætningen, men det eg egentlig er interesseret i at videer hvorfor én JOIN sætning accepteres, men laver fejl når jeg henterdata fra den, mens den anden overhovedet ikke kan køres.
Er der eventuel behovfor flere kodestumper for at give en forklaring? Bare spørg løs...Jeg ville bare ikke sendehele koden med, da den er på ca 300 linier, og det meste er irelevant.
At den anden SQL sætning (hvor joinsne fejler) ikke virker er vel ikke så underligt... Du angiver ikke fra hvilke tabeller de enkelte kolonner skal hentes (eller angiver nogle Aliases)
rsBetLev.Source = \"SELECT BT_Tekst, LT_Tekst FROM (Betaling Bet INNER JOIN ((Levering Lev INNER JOIN LeveringTekst LT ON Lev.Lev_RecID = LT.LT_RecID) INNER JOIN Firma Fir ON Lev.Lev_RecID = Fir.Fir_Levering) ON Bet.Bet_RecID = Fir.Fir_Betaling) INNER JOIN BetalingTekst BT ON Bet.Bet_RecID = BT.BT_RecID WHERE Fir.Fir_Konto=\"\"\" & session(\"Konto\") & \"\"\" AND BT.BT_Sprog=\" & session(\"Sprog\") & \" AND LT.LT_Sprog=\" & session(\"Sprog\") & \";\"
Jasgu! Du havde ret tigerdyr. Jeg kan bare ikke forstå hvorfor den ikke kan holde styr på hvilke tabeller det hører til hvor. Det plejer ikke være noget problem når bare alle attributnavne er forskellige. Hvis du vil inkassere din belønning må du lige poste et eller andet som svar. Ellers går de til tonkin...
Men i hvert fald tak for hjælpen til jer begge to. mvh. Michael Ingeman
Jamen her er så et svar :o) Glæder mig at det hjalp!
Synes godt om
Ny brugerNybegynder
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.