[Access] Subform met cartesisch product en checkboxen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Swerfer
  • Registratie: Mei 2003
  • Laatst online: 12-04 09:27
Ik ben in access bezig met een projectje, waar ik een aantal zaken wil koppelen binnen een form.

Ik heb de volgende tabellen:

IJkdata:
  • Datum [pk]
Instanties:
  • InstantieID [pk]
  • Instantienaam
  • ...
IJkblokken:
  • ID [pk]
  • Datum
  • InstantieID
Nou wil ik in een form kunnen bladeren of zoeken naar de juiste datum. (Dit is geen probleem).

Dan wil ik bij die datum ALLE instanties bij naam zien met een checkbox die wel of niet gechecked is adhv of de InstantieID wel of niet voorkomt bij die datum in tabel IJkblokken. Tevens moet ik de checkboxen kunnen (un-)checken en dit doorvoeren in de tabel IJkblokken...

Dit laatste zou ik met veel VBA wel voor elkaar kunnen krijgen, maar ik vraag me af of er geen makkelijkere manier is om dit te realiseren...

Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Laatst online: 16:14

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Anoniem: 147180

Mij is niet helemaal duidelijk hoe deze tabellen aan elkaar gerelateerd zijn. In ieder geval lijkt me dit niet iets waar je "veel VBA" voor nodig hebt. Checkboxen op recordniveau zijn in Access gewoon in te stellen als weergave van een boolean veld. Als je het voor elkaar krijgt om in je formulier per Datum alle Instanties te tonen, kun je in de betreffende tabel zo'n veld opnemen met de mogelijkheid de waarden ervan via het formulier te wijzigen.

Acties:
  • 0 Henk 'm!

  • Swerfer
  • Registratie: Mei 2003
  • Laatst online: 12-04 09:27
In table IJkdata staan diverse data waarop materiaal geijkt kan worden.

In de tabel instaties staan de diverse instanties die ijkingen uitvoeren.

Omdat niet alle instanties op alle data materiaal kunnen ontvangen, heb ik een derde tabel, waar alleen instanties gekoppeld zijn aan de data waneer ze materiaal kunnen ontvangen...

Wat ik in Access wil is via één form kunnen bladeren tussen data, en ook data toevoegen en verwijderen. Tevens moet dan op een gekozen/toegevoegde datum alle instanties zichtbaar worden, met een checkbox ervoor, en als ik dan diverse instanties 'check' dan moet dat geupdate worden in de 'koppeltabel' IJkblokken.

Ik heb al een alternatief verzonnen, door bij het toevoegen van een nieuwe datum gelijk alle instanties in de 'koppeltabel' toe te voegen bij die datum, met een extra boolean veld.

Maar ik dacht dat er misschien een simpelere manier zou bestaan waarbij alleen de instaties gekoppeld aan de juiste datum in de koppeltabel staan zonder boolean velden...

Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com


  • Swerfer
  • Registratie: Mei 2003
  • Laatst online: 12-04 09:27
Ik heb hulp nodig bij een query.
Ik heb 3 tabellen:

Tabel Data:
  • Datum [pk]
  1. 10-12-10
  2. 23-01-11
Tabel Instantie:
  • ID [pk]
  • Instantie
  • ...
  1. 1 - Inst1
  2. 2 - Inst2
Tabel InstData:
  • ID [pk]
  • Datum
  • InstantieID
  1. 1 - 10-12-10 - 1
  2. 2 - 23-01-11 - 1
  3. 3 - 23-01-11 - 2
Ik heb de volgende query:
SQL:
1
2
3
SELECT DISTINCT Instanties.Instantie, InstData.Datum
FROM Instanties, Data INNER JOIN InstData ON Data.Datum=InstData.Datum
WHERE Data.Datum=InstData.Datum;


Met bovenstaande Query krijg ik het volgende resultaat:
  1. Inst1 - 10-12-10
  2. Inst2 - 10-12-10
  3. Inst1 - 23-01-11
  4. Inst2 - 23-01-11
Dus voor elke datum krijg ik elke Instantie.

Nou wil ik met de Query nog een kolom toevoegen, waarbij een boolean (true/false) wordt toegevoegd zodat er duidelijk wordt of de instantie ook daadwerkelijk bij een datum voorkomt in tabel InstData.

Het uiteindelijke resultaat moet worden:
  1. Inst1 - 10-12-10 - True
  2. Inst2 - 10-12-10 - False
  3. Inst1 - 23-01-11 - True
  4. Inst2 - 23-01-11 - True
Dit laatste daar struikel ik steeds over om dat voor elkaar te krijgen...

Home Assistant | Unifi | LG 51MR.U44 | Volvo EX30 SMER+ Vapour Grey, trekhaak | SmartEVSE V3 | Cronos Crypto.com


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Als het puur gaat om weergave is het niet zo'n probleem, maar als je het resultaat ook nog wilt kunnen bewerken kun je het vergeten. :) Wat je zoekt is ene zgn cartesisch product, of wel alle combinaties van twee tabellen. Geen join's opgeven en het resultaat daarvan linken met de derde tabel.

Ik voeg je twee topics even samen met een titelfix 'hulp bij query is nl niet zo informatief, maar ; uiteindelijk gaat het over hetzelfde probleem zo te zien. :)

[ Voor 75% gewijzigd door Lustucru op 15-09-2010 20:18 ]

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


  • Redshark
  • Registratie: Mei 2002
  • Laatst online: 16:45
Je gebruikt een inner join en daarmee zie je alleen gelijke waarden. Een outer join doet het trucje prima voor je volgens mij :-)
Pagina: 1