Avatar billede frederikschack Nybegynder
01. juli 2010 - 13:20 Der er 7 kommentarer og
1 løsning

Begrænsning af opslag

Hej,

Hvordan begrænser jeg et opslag til poster der er relateret til den pågældende tabel?

http://www.6k.dk/Opslagsbegraensning.bmp

Opslaget sker når jeg skal vælge feltet Måleserie i tabelle PælObservation. Så skal jeg benytte kæden Måleserie-Dæmning-Målepunkt-Pæl-PælObservation til at filtrere de relevante måleserier ud med. Grundlæggende handler det om hvilken dæmning måleserierne og pælobservationerne er knyttet til.

Her er et forsøg, men det giver alle måleserierne og begrænser det ikke:
SELECT Måleserie.MåleserieId, Måleserie.MåleserieDato, Måleserie.MåleserieUdførtAf, Måleserie.MåleserieSted FROM (((Måleserie INNER JOIN Dæmning ON Måleserie.MåleserieSted=Dæmning.DæmningId) INNER JOIN Målepunkt ON Dæmning.DæmningId=Målepunkt.Dæmning) INNER JOIN Pæl ON Målepunkt.MålepunktId=Pæl.Målepunkt) INNER JOIN PælObservation ON Pæl.PælId=PælObservation.Pæl GROUP BY Måleserie.MåleserieId, Måleserie.MåleserieDato, Måleserie.MåleserieUdførtAf, Måleserie.MåleserieSted ORDER BY Måleserie.MåleserieDato, Måleserie.MåleserieUdførtAf, Måleserie.MåleserieSted;

På en eller anden måde mangler jeg at kunne sammenligne med den tabel jeg står og vælger fra?

Nogen der har en idé?
Avatar billede jensen363 Forsker
01. juli 2010 - 13:28 #1
Uden at have sat mig dybere ind i problemstillingen, men kan det skyldes din relation er een til mange hele vejen igennem ???
Avatar billede frederikschack Nybegynder
01. juli 2010 - 13:46 #2
Jeg er ikke så stærk i SQL, men det er kun i database-designet at jeg bruger en til mange, i SQL koden bruger jeg INNER JOIN.
Avatar billede frederikschack Nybegynder
01. juli 2010 - 13:49 #3
Det er selvfølgelig stadig en-til-mange relationer....
Avatar billede frederikschack Nybegynder
01. juli 2010 - 13:52 #4
Et eller andet sted, så burde man kunne finde alle de Måleserier der er knyttet til en dæmning, som er knyttet til den pågældende Pælobservation. Eller rettere, begge er knyttet til dæmning og derfor burde man kunne filtrere ud hvilke der hører sammen.
Avatar billede frederikschack Nybegynder
01. juli 2010 - 13:57 #5
Måske jeg næremere burde bruge LEFT JOIN, men det giver heller ikke noget brugbart resultat:

SELECT Måleserie.MåleserieId, Måleserie.MåleserieDato, Måleserie.MåleserieUdførtAf, Måleserie.MåleserieSted FROM (((Måleserie LEFT JOIN Dæmning ON Måleserie.MåleserieSted=Dæmning.DæmningId) LEFT JOIN Målepunkt ON Dæmning.DæmningId=Målepunkt.Dæmning) LEFT JOIN Pæl ON Målepunkt.MålepunktId=Pæl.Målepunkt) LEFT JOIN PælObservation ON Pæl.PælId=PælObservation.Pæl GROUP BY Måleserie.MåleserieId, Måleserie.MåleserieDato, Måleserie.MåleserieUdførtAf, Måleserie.MåleserieSted ORDER BY Måleserie.MåleserieDato, Måleserie.MåleserieUdførtAf, Måleserie.MåleserieSted;
Avatar billede frederikschack Nybegynder
01. juli 2010 - 14:00 #6
Problemet kan være at der ikke er nogen reference til ".this" hvis man kan tale Java eller "me" i VBA
Avatar billede frederikschack Nybegynder
01. juli 2010 - 14:02 #7
Eller rettere at der ikke er nogen reference til den tabel man vælger udfra.
Avatar billede frederikschack Nybegynder
10. august 2010 - 14:39 #8
Lukket
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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