Avatar billede Slettet bruger
29. juli 2002 - 16:22 Der er 8 kommentarer og
1 løsning

sql left Join virker ikke ?

Jeg har nogle tabeller

Groups
-GroupID
-Groupname

Security
-SecurityID
-AllowPost

Categories
-CategoryID
-title

Disse 3 tabeller har jeg så en tabel der samler

Authorization
-AuthID
-CategoryID
-GroupID
-SecurityID

de 3 af felterne linker til en post i hver af de andre 3 tabeller. Nu vil jeg lave en SQL der for hver kategori hvor jeg kender groupname skal have fundet ud at hvad man må (tabel security).
Det gør jeg med følgende SQL

SELECT C.Title, G.Groupname, S.AllowPost FROM (((Categories C LEFT JOIN Authorizations A ON C.CategoryID = A.CategoryID) LEFT JOIN Groups G ON A.GroupID = G.GroupID) LEFT JOIN Securities S ON A.SecurityID = S.SecurityID) WHERE G.Groupname ='etgruppenavn'

jeg får fejlen:
Microsoft JET Database Engine (0x80004005)
Tabellen "Groups" er allerede åbnet med udelt adgang af en anden bruger, eller den er allerede åben via brugerfladen og kan ikke manipuleres ved hjælp af programkode.

Fejlen sker på den linie hvor jeg åbner databasen.
Avatar billede Slettet bruger
29. juli 2002 - 16:23 #1
jeg vil mene at den SQL virkede inden jeg begyndte at udfylde i databasen men så er der et eller andet som laver den fejl - muligvis i databasen, det forstår jeg bare ikke?
Avatar billede a1a1 Novice
29. juli 2002 - 16:36 #2
har du ikke access åben (med en tabel i design view) ?

;o)
Avatar billede Slettet bruger
29. juli 2002 - 16:38 #3
nej jeg har lige prøvet uden at have access åbent.
Avatar billede Slettet bruger
29. juli 2002 - 16:40 #4
argh jeg får da lige set at jeg har posted den forkerte fejl meddelse den rigtige kommer her:

Microsoft JET Database Engine (0x80040E10)
Der er ikke angivet nogen værdi for en eller flere krævede parametre.
Avatar billede a1a1 Novice
29. juli 2002 - 16:43 #5
jeg vil tro at det så er et af dine feltnavne der er stavet forkert.....
Avatar billede eagleeye Praktikant
29. juli 2002 - 17:12 #6
Prøv at starte Access og kør SQL der indefra, så får de at vide hvilken kolonne den ikke kan finde en parameter for.


Men i spørgsmpålet har du skrevet følgende kolonne navne:

- Security
- Authorization

I SQL'en står de samme som (altså i fleretal)

- Securities
- Authorizations
Avatar billede eagleeye Praktikant
29. juli 2002 - 17:13 #7
Så virker den fint hvis du retter de to navne.
Avatar billede Slettet bruger
29. juli 2002 - 18:16 #8
De fejl du nævner er ikke i det rigtige eksempel - det var bare fordi jeg har skrevet det lidt hurtigt. Feltnavne og tabeller er jeg 99,9% sikker på er korrekte, det er altid noget jeg tester først.

Jeg lavede i stedet en SQL sætning med Access og det virkede.

Hvordan afprøver man en SQL i Access laver man en forspørgsel.
Avatar billede eagleeye Praktikant
29. juli 2002 - 20:15 #9
Ja det gør man.
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