[ACCESS] Subform op basis van Meer op Meer relatie

Pagina: 1
Acties:

  • bluesbrother
  • Registratie: Februari 2002
  • Laatst online: 26-01-2025

bluesbrother

Blues Rocks!!!

Topicstarter
Ik ben bezig een database te maken, beetje geinspireerd op IMDB
maar het is alleen om te leren.

Ik heb nu een probleem om een subform te maken die de acteurs laat zien in een subform.
Acteurs kunnen in meerdere films spelen, en films kunnen meerdere acteurs hebben dus
is dit een veel op veel relatie. Ik heb dus een tussentabel gemaakt.

Nu wil ik dus dat subformulier maken, op basis van een één op één relatie is dat geen probleem.
Maar bij veel-op-veel ben ik het kwijt. Ik heb al op basis van deze post geprobeerd het voor elkaar te krijgen. Ook heb ik gezocht en vond ik:
Google

Hier heb ik zeker de eerste 5 pagina's van doorzocht maar ik zie niet wat ik anders moet doen om het voor elkaar te krijgen.


Als ik het op basis doe van de tussentabel krijg ik alleen de ID's van zowel
de film als de acteur, terwijl ik de namen moet hebben.

Als ik het op basis van een query doe dan krijg ik alles of alleen 1

code:
1
2
3
"SELECT tbl_acteur.Voornaam, tbl_acteur.TsnVgsl, tbl_acteur.Achternaam, tbl_acteur.IMDBLink" _
                 & " FROM (tbl_acteur INNER JOIN Tsn_Tbl_Acteur_Film ON tbl_acteur.ActeurID=Tsn_Tbl_Acteur_Film.ActeurID) " _
                 & " WHERE Tsn_Tbl_Acteur_Film.FilmID=" & intFilmID & ";"

("intFilmID" is een variabele die de FilmID levert, dit gaat ook goed.)

Mijn database ontwerp
tbl_film
-FilmID
- En filmspecifieke data als Titel enz.

tbl_acteur
- ActeurID
- En de naam enz van de acteur

Tsn_Tbl_Acteur_Film
- FilmID
- ActeurID

In subvelden koppelen en Hoofvelden koppelen moet ik dan wat ingeven.
Ik heb ook daar ook al veel geprobeerd, met de diverse ID velden.

Maar mijn probleem is dus eigenlijk:

Hoe kan ik de Tsn_Tbl_Acteur_Film wel gebruiken, en toch de informatie zien zoals in tbl_acteur

Ik krijg het zo ver voor elkaar door met de bovenstaande query de acteurs te selecteren die bij de film horen, maar die kan ik maar één tegelijk laten zien.

Ik zie vast iets over het hoofd, maar dat hoor ik dan graag.

Wil je je pizza in 4 of 8 stukken? .......Doe maar in 4, 8 krijg ik niet op.


Verwijderd

Wat gebeurt er wanneer je deze query draait in het queryscherm en dan in plaats van je intFilmID een bestaande waarde van een film geeft. Krijg je dan wel alle resultaten?

  • bluesbrother
  • Registratie: Februari 2002
  • Laatst online: 26-01-2025

bluesbrother

Blues Rocks!!!

Topicstarter
Ja dan krijg de acteurs van 1 film (waar filmID op slaat)

Wil je je pizza in 4 of 8 stukken? .......Doe maar in 4, 8 krijg ik niet op.


Verwijderd

Ok, wanneer je met subforms werkt hoef je in je query geen WHERE op intFilmID meer op te geven. Deze moet je bij de uitvoervelden zetten, waarna je je hoofdform en subform koppelt op het veld intFilmID (is een eigenschap van het subform). Nu geef je een dubbele filtering.

  • bluesbrother
  • Registratie: Februari 2002
  • Laatst online: 26-01-2025

bluesbrother

Blues Rocks!!!

Topicstarter
Dat snap ik, maar in tbl_Film zit geen ActeurID, Dan zou het een één op één relatie zijn en kom ik er wel uit. Maar er wordt gebruik gemaakt van een tussentabel dus dan gaat dat niet op.
Om met balkenende te spreken: "Toch?"

Wil je je pizza in 4 of 8 stukken? .......Doe maar in 4, 8 krijg ik niet op.


Verwijderd

FilmID zit toch in de tussentabel? Dan kan je die toch in de uitvoer gebruiken?!

  • bluesbrother
  • Registratie: Februari 2002
  • Laatst online: 26-01-2025

bluesbrother

Blues Rocks!!!

Topicstarter
Wel in de tussentabel, maar niet in de Film tabel.
Of mis ik nu iets?
Hoe haal ik dan de informatie op uit de Acteur tabel?

Wil je je pizza in 4 of 8 stukken? .......Doe maar in 4, 8 krijg ik niet op.


  • bluesbrother
  • Registratie: Februari 2002
  • Laatst online: 26-01-2025

bluesbrother

Blues Rocks!!!

Topicstarter
Ik heb het met de tussentabel gedaan maar dan krijg ik alleen de FilmID en de ActeurID uit de tussentabel.

Ik heb het voor elkaar, inderdaad zoals je zei Niesje.
Ik was even confused over wat ik nu aan wat moest koppelen aangezien ik ook de film en de acteur en de tussentabel aan elkaar dacht te moeten koppelen. Dat hoeft dus niet.

En ik heb me in een grijs verleden eens vergist, de reden dat ik nu heel goed uitkijk voor ik wat post.

[ Voor 61% gewijzigd door bluesbrother op 26-10-2006 00:25 ]

Wil je je pizza in 4 of 8 stukken? .......Doe maar in 4, 8 krijg ik niet op.


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

[knip] hier stond een antwoord op een andere vraag[/]

Check je data eens. Het zou niet de eerste keer zijn dat je een access probleem dent te hebben maar dat simpelweg neerkwam op niet complete data.
Met een query die tussentabel joint aan acteurstabel, een koppeling tussen hoofdform en subform op film.id en tussentabel.film en ingesteld dat het subformulier doorlopend is moet alles goed gaan.

offtopic:
Gebruik je de volgende keer de editknop. 2x achter elkaar posten in hetzelfde topic is kicken, en dat willen we niet binnen 24 uur.

[ Voor 67% gewijzigd door Lustucru op 25-10-2006 21:25 ]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Verwijderd

Je hoeft die filmtabel niet eens in je query te zetten, het filmID staat namelijk al in de koppeltabel.
Pagina: 1