Extra kolommen in query, Hoe?

Hasenwald

Gebruiker
Lid geworden
5 mei 2022
Berichten
12
Ik heb een aantal extra kolommen nodig in de query, maar ik heb geen idee hoe dat moet... Er is nog één kolom beschikbaar, maar heb er nog minimaal 4 nodig...
Gr. Hasenwald

Schermafbeelding 2024-05-08 133518.jpg
 
Zit je misschien aan het maximale aantal kolommen (255)?
Dat komt dan doordat je database niet (goed) genormaliseerd is. De nummers in de veldnamen duiden daar op. Herhaalde groepen horen niet in een tabel; daar maak je een aparte tabel van die 1-op-veel koppelt aan je oorspronkelijke tabel. Ook het feit dat je tabellen met nummers hebt is een aanwijzing voor een onjuist ontwerp.
Plaats eens een voorbeelddatabase of een plaatje van je relatieschema.

P.S. Als je niet weet wat normaliseren is, neem dan de Access handleidingen op deze site eens door. Zie Handleidingen
 
Je kunt extra velden gewoon naar het query raster slepen. Dat is het makkelijkst. En anders heb je in de menubalk een knop om extra velden toe te voegen. De opmerkingen over normaliseren van Peter lijken mij, gezien de veldnamen, inderdaad zeer toepasselijk. Daar is winst te halen :). En anders gebruik je zeer onhandige tabelnamen.
 
Dankjewel! Slepen had ik nog niet aan gedacht. Dat heeft gewerkt!

NB: Ik heb 4 maal een kleuren database omdat ik in het formulier 4 keer (onderstaand zie je er 3) een kleur kan kiezen en ik wil daarbij 4x de juiste afbeelding van de verschillende RAL kleur projecteren. Op de "traditionele" manier kreeg ik dat niet voor elkaar.

Onderstaand het uitvoerformulier, dit is dus niet het invoerformulier. Op het invoerformulier kan ik de kleuren middels 4 comboboxen selecteren.

Schermafbeelding 2024-05-09 164547.jpg
 
Ik snap niet veel van je werkwijze; zoals ik er tegenaan kijk kun je gewoon met één formulier werken, waar je de verschillende sets op kan inladen. Maar goed, wat weet ik er nu van :). En je uitvoerformulier? Nee hè, voor uitvoer gebruik je toch hopelijk wel een rapport, en geen formulier?
 
Ja voor printen en catalogi (PDF) worden verschillende reports gebruikt. Ik denk dat ik verkeerde termologie gebruik, dat er daardoor verwarring ontstaat. Met invoerscherm bedoel ik het formulier waar nieuwe items kunnen worden toegevoegd. Met uitvoer bedoelde ik het browse scherm. Daar kan niets ingevoerd of (per ongeluk) gewijzigd worden. Het is een nogal uitgebreide database (met dito menustructuur) geworden met veel gekoppelde databases en veel attached foto's en afbeeldingen. Werkt perfect overigens.
 
ergens heb ik het vermoeden dat wanneer je database zegt, je tabel bedoelt? En dat kleuren_1, kleuren_2 enz. gewoon dezelfde tabel is die 4 keer in de query is opgenomen om aan 4 verschillende velden te linken (dat hoop ik toch)
 
En dat kleuren_1, kleuren_2 enz. gewoon dezelfde tabel is
Kijk nog eens naar het plaatje: daarin worden (in beginsel) identieke velden met verschillende (want met tabelnummer) namen in de query gezet. En op het plaatje zie je dus óók tabel [kleurstelling_4] met bijbehorende veldnamen. Nee, deze database is bepaald slecht (want niet) genormaliseerd.
Mag best een uitgebreide database zijn, maar dat is met deze werkwijze bepaald niet moeilijk :).

Beste advies: ofwel compleet overnieuw beginnen, en dan correct genormaliseerd, of de huidige database alsnog normaliseren. Vermoedelijk moet je dan alsnog een hoop rapporten en formulieren overnieuw maken, maar ja, dat is nu eenmaal de consequentie van een slechte database. Puinruimen kost nu eenmaal tijd. Maar is op de lange duur wél de beste oplossing.
 
@NoellaG: Ja je hebt gelijk. Ik gebruik de verkeerde termelogie. En ja, het moet inderdaad aan 4 verschillende velden gelinkt worden. Ik heb geprobeerd dat met één kleurendatabase voor elkaar te krijgen, maar dat lukte mij niet. Consequentie is dat ik nu 4 kleurendatabases moet bijhouden en dat is niet ideaal. Bij alle andere tabellen heb ik dat probleem niet want, één op één koppeling mogelijk.
 
je kan gemakkellijk dezelfde tabel koppelen aan 4 verschillende velden. De eerste keer dat je de tabel naar het queryrooster sleept komt die erin te staan met de naam van de tabel bijvoorbeeld Kleurentabel, de tweede keer dat je dezelfde tabel naar het query rooster sleept krijgt deze de naam Kleurentabel_1 in het rooster, de derde keer Kleurentabel_2 enzovoort. Elke alias van deze tabel kan je koppelen aan een ander veld
Kleurenvelden.jpg
 
En dan nu nog even normaliseren zodat je het echt goed doet. Er is hier duidelijk sprake van een veel-op-veel relatie tussen "MijnTabel" en de kleurentabel. Dus zet je een koppeltabel tussen de twee tabellen.
Dat zou @NoellaG toch als geen ander moeten weten :eek:
 
meer dan 20 jaar als data-architect en en DBA heeft me geleerd dat doorgedreven normalisatie meestal niet de beste oplossing levert. Hangt allemaal van het uiteindelijke doel af ;)
 
Dit is bepaald geen "doorgedreven" normalisatie. Het doel is zo te zien informatie vast te leggen over treinen. Wordt leuk als je deze loc voor je kiezen krijgt:
_0_3_039379_1.jpg
 
Om het zinloze speculeren te stoppen, is het wellicht handiger als er een voorbeeld database wordt gepost. Ik zit met licht kromme tenen nu de berichten te lezen…. En dat is niet door de warmte :).
 
ik denk dat de originele vraag qua extra kolommen is opgelost. Als de vraagsteller nog andere vragen heeft kan zij/hij/X daar beter een nieuw topic voor starten.
 
Ik ben blij met de oplossingen die aangedragen zijn. Ik heb nooit één letter Access geleerd. Alles gemaakt door gewoon te proberen en te doen. Op dit forum eens eerder een vraagje gesteld en als het moeilijk werd een filmpje gekeken van (meestal) een Indiër die Engels probeert te praten. Geen idee of alles volgens de regels is gedaan, maar het werkt. En snel. En zonder fouten. Onderstaand een afbeelding van het hoofdmenu

Schermafbeelding 2024-05-14 193008.jpg
 
je kan gemakkellijk dezelfde tabel koppelen aan 4 verschillende velden. De eerste keer dat je de tabel naar het queryrooster sleept komt die erin te staan met de naam van de tabel bijvoorbeeld Kleurentabel, de tweede keer dat je dezelfde tabel naar het query rooster sleept krijgt deze de naam Kleurentabel_1 in het rooster, de derde keer Kleurentabel_2 enzovoort. Elke alias van deze tabel kan je koppelen aan een ander veld
Bekijk bijlage 377871

Volgens mij is dit zoals ik het nu heb....
Moet ik alsnog alles 4x doen. Als ik een nieuwe kleur wil toevoegen, dien ik dat in alle 4 tabellen te doen toch?
 
Terug
Bovenaan Onderaan