Database ontwerpen met 'gelijkwaardige' tabellen

Status
Niet open voor verdere reacties.

millboy

Gebruiker
Lid geworden
23 feb 2010
Berichten
11
Hallo iedereen,

Ik heb een vraagje betreft het ontwerpen van een database in Access. Ik ben al aardig bekend met database-ontwerp, en verschillende niveau's, alleen loop ik nu een beetje te knoeien om 2 gelijkwaardige tabellen in een database te verwerken:

Niveau 1: Tbl_Klantnaam
Niveau 2: (twee tabellen met diensten) Tbl_Appelverkoop en Tbl_Computerverkoop
Niveau 3: Tbl_Factuurregels

De 'appelverkoop' en 'computerverkoop' zijn 2 verschillende 'diensten' met verschillende velden en subkeuzevelden. Ze moeten echter wel in dezelfde tabel Factuurregels terecht komen, want uiteindelijk moeten er euro's per periode worden afgerekend.

Als ik de database echter invul vanuit de tabel, krijg ik bij het invullen bij de factuurregels van bijv. een Appel een melding dat er ook gegevens nodig zijn bij de tabel Computers :S

Wie oh wie kan mij voorzien van wat advies? Alvast ontzettend bedankt!!
 

Bijlagen

Hoi Millboy,

je hebt in de tabellen 2x AppelID gebruikt, wijzig deze in de tabel computer en het werkt


Marblo
 
Bedankt voor je snelle reactie! :)

Ik heb het gewijzigd, alleen geen verandering.
Zie screenshot wat er gebeurd als ik de factuurregels in probeer te vullen.
 

Bijlagen

  • Naamloos.jpg
    Naamloos.jpg
    66,1 KB · Weergaven: 51
Je hebt de relaties tussen de tabellen niet goed.
Voor de tabellen appel en computer is de ID samen naar veld dienst in de tabel factuurregels gebracht. Dat kan niet zo omdat de waarden gelijk kunnen zijn, je weet zo dus niet uit welke tabel de waarde komt.

Marblo
 
Hoe kan ik dit dan zo maken, dat er voor beide tabellen factuurregels aangemaakt kunnen worden?

(Zodat ik dus later een factuur per klant middels een rapport kan verzamelen) :)

Nogmaals en alvast bedankt voor je hulp!
 
Je hebt alle tabellen in Relaties aan elkaar gekoppeld, waardoor er dus een soort van kringverwijzing ontstaat. Koppel alleen die tabellen aan factuurregels die rechtstreeks met het gekoppelde veld te maken hebben. Als je in factuurregels op twee tabellen wilt koppelen, dan moet je daar een aparte tabelkoppeling voor maken.
 
OctaFish, bedankt voor je reactie; maar ik begrijp niet precies wat je bedoeld. Zou je het eens kunnen aanpassen in het voorbeeldbestand? Ik hoop dat dit niet te veel gevraagd is. Alvast bedankt! :)
 
Als je de relaties aanpast volgens bijgaand plaatje, snap je het misschien wel...
 

Bijlagen

  • relaties.jpg
    relaties.jpg
    29,4 KB · Weergaven: 35
Bedankt voor je snelle reactie!

Ik heb je plaatje bestudeerd, maar weet nog niet precies wat je bedoeld met:

Als je in factuurregels op twee tabellen wilt koppelen, dan moet je daar een aparte tabelkoppeling voor maken.

Moet ik nu bij "Factuurregels" een extra regel aanmaken (bijv. Dienst2") en deze koppelen aan ComputerID?

----
(In het voorbeeldbestand heb ik een vergissing gemaakt door AppelID te noemen bij de Tbl_Computers. Het gaat hier echter om ComputerID :))
 
Laatst bewerkt:
Ik vond de naamgeving inderdaad niet heel overdreven logisch.. ;)
Maar je denkt in de goede richting! De vraag is natuurlijk, waarom je de tabel Factuurregels zo wilt maken. Als je als apart gegeven in die tabel een record uit de tabel 3_Computers wilt koppelen, dan zul je die als zelfstandige tabel moeten koppelen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan