Velden in een kolom aan elkaar koppelen

Status
Niet open voor verdere reacties.
Sorry maar dit snap ik niet. Ik zie ik jou voorbeeld nergens 84 en wat bedoel je met man? Is dit een afkorting voor iets?

Op dit moment heb ik de 81 nummers en 64 nummers in een tabel. Dit moeten dus 2 losse tabellen worden met
MacID 64NR
1 649393
2 642020
3 640032

En MacID 81 NR
1 810493
2 810493
3 894839

Of begrijp is dat verkeerd?
 
Het voorvoegsel man komt omdat ik de Hongaarse naamgeving volg: elk object krijgt een voorvoegsel dat aangeeft welk type object het is (tbl voor tabel, qry voor query, frm voor rapport, enz. ) en elk veld in een tabel krijgt een prefix die aangeeft uit welke tabel het komt (bv. mac voor tblMachine, man voor de tabel tblMachineNummer), maar dat zijn slechts voorbeeldnamen.

Je hebt dan de volgende tabellen:
tblMachines met de velden:
macID - primaire sleutel, meestal een autonumber
macOmschrijving - tekst
macType - normaal heb je hier een opzoektabel met machinetypes is dit een long integer en de foreign key naar tabel tblMachineTypes.matID

tblMachineTypes
matID - primaire sleutel, autonumber
matOmschrijving : tekst met het type omschrijving

tblMachineNummers : tabel om de verschillende nummers aan de juiste machine te binden (de velden te koppelen) met de velden:
manID - primaire sleutel (autonumber)
manAfdeling - tekstveld (naam van de afdeling)
manMachine -> foreign key naar het ID van de machine tblMachines.macID
manNummer: het 81 of 64 nummer

In jou voorbeeld:
manID - manAfdeling - manMachine -manNummer
1 - Afdeling64 - 1 -649393
2 - Afdeling81 - 1 - 810493
3 - Afdeling64 - 2 - 642020
4 - Afdeling81 - 2 - 810493
5 - Afdeling64 - 3 - 640032
6 - Afdelinfg81 -3 - 894839

En in je projectenTabel vb tblProjecten de velden
proID : primaire sleutel=- autonumber
proOmschrijving = tekst
proMachineAantal = foreign key naar veld tblMachine.macID
proAantal = number
 
Ja hoor. In dit invulformulier wordt alle project+machine informatie ingevuld.
Een plaatje is geen voorbeeld, daar kunnen we niks mee. Je probleem lijkt mij behoorlijk simpel op te lossen, maar op basis van plaatjes gaat dat niet lukken :).
 
Je hebt dan de volgende tabellen:
tblMachines met de velden:
macID - primaire sleutel, meestal een autonumber
macOmschrijving - tekst
macType - normaal heb je hier een opzoektabel met machinetypes is dit een long integer en de foreign key naar tabel tblMachineTypes.matID


tblMachineNummers : tabel om de verschillende nummers aan de juiste machine te binden (de velden te koppelen) met de velden:
manID - primaire sleutel (autonumber)
manAfdeling - tekstveld (naam van de afdeling)
manMachine -> foreign key naar het ID van de machine tblMachines.macID
manNummer: het 81 of 64 nummer

In jou voorbeeld:
manID - manAfdeling - manMachine -manNummer
1 - Afdeling64 - 1 -649393
2 - Afdeling81 - 1 - 810493
3 - Afdeling64 - 2 - 642020
4 - Afdeling81 - 2 - 810493
5 - Afdeling64 - 3 - 640032
6 - Afdelinfg81 -3 - 894839

1. In jou voorbeeld is MacType niet hetzelfde als MachNummer toch, dit is namelijk de omschrijving die je invult in de tblMachineTypes?
2. Begrijp ik het goed dat in de tblMachineNummers alle machinenummers uit een aparte tabel worden gehaald waarin alle 81 & 64 nummers staan voor de kolom ManNummer?
 
Een plaatje is geen voorbeeld, daar kunnen we niks mee. Je probleem lijkt mij behoorlijk simpel op te lossen, maar op basis van plaatjes gaat dat niet lukken :).

Oeps. Ik ga proberen een duidelijk voorbeeld te geven. In het invulformulier vult de projectmanager eerst alle project informatie in. Vervolgens een paar weken later vullen zij het sub formulier in. De projectmanagers weten nu hoeveel machines, het type machine, en het bijbehorende 81 nummer van de aanvraag. Al deze ingevulde informatie komt dus terecht in de tabel machines. Nu heeft de Sales afdeling gevraagd of het mogelijk is een lijstje te krijgen met alle type machines die zijn aangevraagd + in welke hoeveelheid. Echter werkt Sales niet met 81 nummers maar met 64 nummers. Wij kunnen hun dus wel een lijstje geven met alle type machines + aantallen, maar hier kunnen zij niks mee, want ze hebben geen idee om welke machines het gaat omdat de machine nummers niet zijn vertaald naar de 64 code.
Ik heb al een lijst gekregen met alle machines met bijbehorende 81 + 64 nummers maar hoe kan ik in de tabel ook de 64 code laten weergeven, deze wordt namelijk niet ingevuld door de projectmanager.

Ik hoop dat het nu iets duidelijker is geworden.
 
Inderdaad macType is het type machine, dat zou bv. kunnen zijn (voorbeeld uit mijn eigen werkomgeving)

tblMachineTypes:

matID - matOmschrijving
1 - Mixer
2 - Transportband
3 - Bulldozer

Tip: je kan misschien eens kijken hoe een relationele database wordt opgebouwd door de gegevens in verschillende tabellen te verdelen en deze dan terug via de juiste relaties aan elkaar te koppelen.
Weetje: de meesten denken dat de term relationele database komt van de relaties tussen de verschillende tabellen, maar de term duidt op de relaties tussen de rijen en kolommen in een tabel.
 
Ik heb al een lijst gekregen met alle machines met bijbehorende 81 + 64 nummers maar hoe kan ik in de tabel ook de 64 code laten weergeven, deze wordt namelijk niet ingevuld door de projectmanager.
De totale werkwijze verdient geen schoonheidsprijs, want het is natuurlijk heel gek dat binnen één systeem de ene afdeling apparaten onderkent aan een 64-nummer, en een andere afdeling diezelfde apparaten gebruikt op basis van een 81-nummer. Maar een probleem hoeft dat niet te zijn, omdat je dus een tabel hebt met daarin de koppeling tussen de twee nummers. Het enige wat je dus uiteindelijk hoeft te doen, is twee queries te maken met de brontabel + de koppeltabel, waarin je dan de koppeling legt ofwel op het 64-nummer, ofwel op het 81-nummer. In de ene tabel voeg je aan de query het 64-nummer toe, aan de andere het 81-nummer. En iedereen kan dan gewoon alles zien en doen.
 
Helaas heeft de TS afgehaakt en het onderwerp op afgehandeld gezet.

Als je niet zo ervaren met access bent kan ik na al die berichten goed begrijpen, dat
wat er aangedragen wordt aan informatie soms een (leek) een brug te ver gaat en dan maar afhaakt..

Wellicht moet men soms afstappen van hoe het precies moet in een access database, natuurlijk willen de de base zo klein mogelijk houden door allerlei sleutels en koppel tabellen.
Maar als ik bv twee velden extra toevoeg met unieke gegevens dan ben je die winst alweer kwijt.

Kom ik even terug op TS die zegt dat hij gegevens van waarschijnlijk derde aangeleverd krijgt, wanneer je hier een update van krijgt en men heeft nieuwe machine's midden in de bestaande lijst toegevoegd dan ga je met het ID nummer dat access genereerde totaal de mist in.

In zo'n geval denk ik dat het beter is om de waarde van machinenummers op te slaan in de database.

Je kan dan volstaan met bv 1 Query en te werken met een keuzelijst met invoervak, met het Column nr kan je dan in verschillen formulieren de opslag bepalen.
 
Ts heeft vandaag nog gereageerd; ik heb niet het idee dat ze is afgehaakt :).
 
Ik heb van de laatste drie berichten geen mail gehad, vandaar dat ik niet meteen reageerde. Ik heb zeker wat aan alle hulp en tips alleen duurt het soms even voordat ik het snap en verwerkt heb. :p
 
Helemaal goed. Jij bepaalt het tempo :D.
 
De totale werkwijze verdient geen schoonheidsprijs, want het is natuurlijk heel gek dat binnen één systeem de ene afdeling apparaten onderkent aan een 64-nummer, en een andere afdeling diezelfde apparaten gebruikt op basis van een 81-nummer. Maar een probleem hoeft dat niet te zijn, omdat je dus een tabel hebt met daarin de koppeling tussen de twee nummers.

Nee dat is het probleem. De koppeltabel is er nog niet, want ik wist niet hoe je de twee verschillende nummers (81 en 64) aan elkaar kon koppelen....
Nu ik weet dat er een koppeltabel voor nodig is, ga ik deze meteen maken.
 
De noodzaak voor een koppeltabel hangt alleen maar af van de workflow die jullie hanteren. Als Sales bijvoorbeeld andere tabellen/formulieren/rapporten ziet dan de Projectafdeling, dan heb je zo'n tabel vermoedelijk wel nodig. Werken beide afdelingen op dezelfde tabellen, maar met andere keuzelijsten, dan volstaat het om beide nummers in die brontabel te zetten (kwestie van veld toevoegen, en met een bijwerkquery de lege kolom vullen) en de keuzelijsten aan te passen. In beide werksituaties zien ze dan het gewenste nummer, en kiezen ze dus, ondanks dat ze een ander nummer zien/kiezen, toch dezelfde machine.
 
Oke eigenlijk vult Sales helemaal niks in, maar wilt de manager graag een overzicht hebben met machine info waaronder het bijbehorende 81 nummer en 64 nummer. Het overzicht kan hij dan aan sales leveren zodat sales ook weet welke machines er binnenkort geleverd moeten worden.
 
Ik werk trouwens veel met keuzelijsten voor het invullen van formulieren. Dit maakt toch niet uit zolang ik de keuzelijsten niet in de tabel zet, maar alleen in het formulier?
 
OK, als je het zo beziet zijn de nummers alleen maar informatief en kan je ze gewoon in de tabel machines opnemen:

tblMachines met de velden:
macID - primaire sleutel, meestal een autonumber
macOmschrijving - tekst
macType - via de opzoektabel met machinetypes tblMachineTypes.matID
macSales64Nr
mac81Nr

Dan ken je in je machineoverzicht gewoon de twee velden naast elkaar zetten. Je maakt dan een query waarin je de bestelinfo het machinenummer uit de bestellingen tabel koppelt naar de machinetabel macID en alle velden toont die je nodig hebt.
 
Ik zou ofwel het 81-veld, ofwel het 64-veld als sleutelveld gebruiken. Beide nummers zijn immers uniek en aan elkaar gelinkt. Nog een extra uniek veld lijkt mij alleen maar het probleem vergroten.
 
Oke dankjewel. Ik ben trouwens de door u geschreven handleiding aan het lezen en daar heb ik ook heel veel aan! Heel makkelijk uitgelegd voor beginners zoals ik.
 
Dank je wel voor het compliment :).
 
Ik kom er toch niet uit. Volgens Noella moet de volgende tabellen maken:

Je hebt dan de volgende tabellen:
tblMachines met de velden:
mac81Nr - Primary key
macOmschrijving - tekst
macType - normaal heb je hier een opzoektabel met machinetypes is dit een long integer en de foreign key naar tabel tblMachineTypes.matID
macSales64Nr

tblMachineTypes
matID - primaire sleutel, autonumber
matOmschrijving : tekst met het type omschrijving

tblMachineNummers : tabel om de verschillende nummers aan de juiste machine te binden (de velden te koppelen) met de velden:
manID - primaire sleutel (autonumber)
manAfdeling - tekstveld (naam van de afdeling)
manMachine -> foreign key naar het ID van de machine tblMachines.macID
manNummer: het 81 of 64 nummer

Nu moet ik een koppeling maken tussen tblmachine veld: macType en tblMachineTypes veld:matID.
Dit is echter een autonumber veld dus kan ik die niet koppelen aan het veld macType want dit is een tekstveld?

Is er geen mogelijkheid iemand via skype te spreken... kom er maar niet uit en het lijkt niet ingewikkeld, maar snap ik het echt niet.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan