Ticketsysteem: ongevraagd duplicaat bij één-op-veel relatie in een nieuwe record

Status
Niet open voor verdere reacties.

joellp

Gebruiker
Lid geworden
14 okt 2011
Berichten
32
Beste,

Ik zit met het volgende: ik ben bezig met het maken van een kennisdatabasesysteem waarbij je nieuwe tickets kan indienen.
Voor mijn systeem zien de tabellen en de onderlinge relaties er als volgt uit:

tabel.JPG

Nu heb ik een formulier gemaakt waarbij je dus een nieuwe ticket kan indienen:

aanvraag.JPG

Duplicaat werknemer
Op het moment dat je kiest voor een werknemer (zie werknemer2 als voorbeeld), die hij haalt uit de tabel tblWerknemer, en je slaat de ticket uiteindelijk op maakt hij naast een nieuwe ticket, ook een nieuwe werknemer aan. Terwijl dit juist een bestaande werknemer moet zijn.
Een ticket heeft dus maar één werknemer, maar één werknemer kan meerdere tickets hebben.

Vervolgstap
De vraag die hierop aansluit is, indien je dan werknemer 2 kiest is het dan mogelijk om automatisch de bijbehorende informatie uit de tabel te krijgen.
Dus werknemer 2, heeft dat bijbehorende e-mailadres en dat telefoonnummer. Hij vult dit dus automatisch aan in de overige invoervelden.

Alvast bedankt voor de moeite!
 
Laatst bewerkt:
Naast het aanwijzen van de nodige issues in jou design kan ik me zo zonder de database te zien niet verzinnen waarom dit zou gebeuren.
 
Om te beginnen: als je veld WerknemerID een sleutelveld is, mag hij nooit een nieuwe werknemer aanmaken met dat nummer. Sterker nog: dan kan niet eens. Godsonmogelijk. Ik vraag me dus af of je het WerknemerID wel uit de juiste tabel haalt. De keuzelijst kun je, mits alles goed werkt, prima gebruiken om extra informatie uit op te halen. Als je in je keuzelijst de velden [Naam], [Afdeling] en [Emailadres] en [Telefoonnummer] hebt opgenomen, kun je ze in het besturingselementbron van de betreffende tekstvakken met de volgende formules uit de keuzelijst halen (keuzelijst noem ik om logische redenen cboWerknemer):
Code:
txtNaam = cboWerknemer.Column(1)
txtAfdeling = cboWerknemer.Column(2)
txtEmail = cboWerknemer.Column(3)
txtTelefoon = cboWerknemer.Column(3)
Overigens snap ik totaal niet waarom je de tabel [Ticket] hebt opgesplitst in [tblTicket] en [tblTicketInfo]. Nergens voor nodig en alleen maar gruwelijk onhandig. Je splitst tabellen alleen maar als je herhalende gegevens hebt. Zo zou ik voor het veld [Bijlagen] wel een aparte tabel maken (één ticket kan meerdere bijlagen hebben) maar Categorie en Subcategorie zijn per incident uniek. Als je al een tweede tabel koppelt, dan moet dat natuurlijk een één-op-veel relatie zijn, niet één-één zoals je nu hebt gedaan. Want prober jij maar eens twee bijlagen toe te voegen. Tenzij je zo'n multi-veld gebruikt wat ik dus ook afraad.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan