Velden selecteren

Status
Niet open voor verdere reacties.

RonaldRoenhorst

Gebruiker
Lid geworden
25 dec 2008
Berichten
188
Ik heb een prijstabel gemaakt die ik gebruik als sub formulier.
De tabel is al volgt opgebouwd:
Week 1
week 2
week 3
enz.. tot en met week 52

Nu zie ik in mijn sub formulier alle weken staan, nu kan ik hierin weken verbergen maar zou eigenlijk willen selecteren op een formulier welke weken ik wil zien
Tevens wil ik de geselecteerde weken willen uitprinten?

Weet iemand hier de oplossing voor ?
 
Dat zul je vrees ik moeten programmeren. Hierbij zou je bijvoorbeeld kunnen denken aan een Keuzelijst met de waarden 1-53, waarbij je met de Ctrl toetsen de waarden selecteert, waarna je in de VBA code dan de betreffende kolommen de Eigenschap Visible=False geeft.
Overigens krijg je dan denk ik wel een heel lelijk subfomulier, omdat er dus gaten vallen op de plek waar de kolommen verborgen zijn. Het verbetert het gebruiksgemak van je formulier dus nauwelijks.

Is er een reden waarom je prijzen per weekveld opslaat? Ik denk dat het handiger is om daarvoor een datumveld te gebruiken, waarbij je voor elke week een nieuw record toevoegt. Dan kun je daarna met een kruistabel eenvoudig selecteren welke weken je wilt zien door te groeperen op weekwaarden. Van die kruistabel maak je dan weer een subformulier, en dan heb je precies wat je wilt zien.

Michel
 
Beste OctaFisch,

Alvast bedankt voor de snelle reactie, ik had het hele formum al door gelezen en hoopte dat jij hier ook zou reageren, ik kwam er achter dat jij wel heel veel oplossingen hebt aangedragen en mij wel over de mogelijke cq onmogelijkheden zou kunnen informeren.


Ik heb 2 redenen om de prijslijst als volgt te doen:
1) dan heb ik een overzicht per leverancier
2) met een query kan ik dan de verschillende leveranciers met gelijke artikelen vergelijken

Ik zal onderstaande proberen uit te leggen hoe het er nu uitziet:

LevID LevNaam ArtID Artikelnaam Week1 Week2 Week3 Enz......

Op deze manier denk ik het meeste overzicht te hebben.
Mischien is er een manier om met vinkjes in een formulier de velden in of uit te schakelen
 
Bedankt voor het compliment! Werkt altijd ;)

Nu je probleem. Misschien moet je een voorbeeldje neerzetten, want aan jou veldindeling zie ik eigenlijk alleen maar mijn eigen gelijk...

Wat ik zo zie, is een lijstje dat zo uit Excel lijkt te komen. Daar mag het dan handig zijn om alle leveranciers, artikelen en bestelde produkten in één overzicht te gooien, in Access is dat het zeker niet. Wat ik je dus aanraad, is om een aparte tabel te maken voor de leveranciers, een aparte tabel voor de artikelen, en een aparte tabel voor de weken. Ik zie nog niet helemaal voor me hoe je die weken vult; of daar aantallen of prijzen in moeten? Ga je er dan vanuit dat de prijzen elke week veranderen? En als dat zo is, waarom hou je dat dan niet per dag bij?

Je wilt overzichten kunnen maken van leveranciers en artikelen? Als je de gevens opsplitst in aparte tabellen, kan dat dus prima. Daar zijn namelijk de queries voor: verbanden leggen tussen de verschillende (soorten) gegevens.

Juist doordat je alles in één tabel wilt doen, loop je de kans dat je fouten gaat maken. Je moet dan bijvoorbeeld elk jaar een nieuw record maken voor alle leveranciers, omdat een jaar nu eenmaal maar maximaal 53 weken heeft. Dus wat doe je het jaar daarop? Kun je weer overnieuw beginnen. En als je maar één komma of spatie verkeerd zet, dan heb je niet meer dezelfde leverancier.
Hetzelfde geldt voor de artikelen. Niemand is in staat om foutloos dezelfde informate elke keer opnieuw in te tikken, dat is vragen om moeilijkheden.
Dus: splits de tabellen op in zinvolle brokken, waarbij je uiteraard alle logische gegevens bij elkaar zet, zoals leveranciers en artikelen, en ga dan na welke gegevens je wilt opslaan in de tabel waarin je nu de prijslijst en de weken opslaat. In die tabel heb je alleen (voor zover ik dat op basis van de huidige gegevens kan zien) een LevID, ArtikelID, Prijs en datum nodig, en dan kun je alle overzichten draaien die je wilt.
Met dus de juiste opmaak...

Nogmaals: als je een voorbeeldje kan posten, dan kunnen we wat zinvollers doen voor je...

Michel
 
Dat scheelt weer! Ik ga er vanavond naar kijken.

Michel
 
Ben nog steeds aan het puzzelen; je hebt inderdaad wel een aantal tabellen met artikelen, leveranciers, maar daar staat nog niks in. In de tabel [Totaal overzicht prijslijst] vind ik echter toch alles bij elkaar op een hoop, met dus (volgens mij) een paar stevige inconsistenties in de artikelen (zie plaatje).
Ook heb je 52 weken aangemaakt, en ik vraag mij toch af, wat je dan met de weken 53 en 54 gaat doen...
Persoonlijk zou ik alle artikelen netjes opslaan in de tabel tblArtikelen, en de Leveranciergegevens in tblLeveranciers, en alleen de sleutelverwijzing in het overzicht laten staan, met Opmerkingen, een veld Weeknr, een veld Jaar, en een veld Prijs.
Dan kun je op basis van die tabel probleemloos een kruistabel maken, die het resultaat geeft wat jij nu in tabelvorm invoert.
Wat wil je precies bijhouden in de tabel? En waarom deze vorm?

Michel
 
Laatst bewerkt:
Ik denk inderdaad dat je nog teveel in Access denkt. Je moet je bij het invoeren afvragen wanneer en waarom je de prijzen invoert. Dat zal, als ik de gegevens zo zie, zijn als je een nieuwe prijs doorkrijgt? Gezien de regelmaat waarmee je de velden vult? In welk geval ik dus nogmaals stel, dat je beter een kolom [Datum] kunt maken om de verandering in te voeren.

Ik neem aan, dat je de bestellingen eenmaal per week invoert, waarbij je per Artikel voor één leverancier voor alle dagen van de week een bestelling invoert.
In de tabel tblBestellingen mis ik echter een datumveld, zodat het onmogelijk is straks om overzichten per week te maken. Ook heeft de constructie die je hebt bedacht alleen zin als je altijd voor alle artikelen voor alle dagen een bestelling noteert. Ook deze opzet is weer bedacht met Excel in het achterhoofd, waarbij je met de functie Som eenvoudig de totalen voor alle dagen kunt maken. In Access is dat een stuk lastiger, omdat je totaliseert per Kolom (Veld), niet per Rij (Record). Weliswaar kun je op een formulier wel een berekening maken, waarbij je een formule krijgt als [Maandag]+{Dinsdag]+...[Vrijdag], maar dat is meer een lapmiddel.

Ik zal, op basis van de db die je hebt gepost, een opzet proberen te maken die wat meer database gestructureerd is.

Michel
 
Dat zou mooi zijn, ik heb toch te veel excel in het hoofd.
ps.
Zou jij het geposte plaatje even willen verwijderen.:eek:

Alvast bedankt
Ronald
 
Plaatje is weg; morgen kijk ik er verder naar!

Michel
 
Michel

Wat ik eigenlijk hierin nog vergeten ben is dat een order bestaat uit meerder artikelen.
Daarnaast heeft iedere order een ordernummer die ik er graag bij vermelden wil.

Klasse dat je mij vooruit wilt helpen, ben druk lerende op dit forum om e.e.a. onder de knie te krijgen.

:thumb:
 
Ik ben er inderdaad wel mee bezig; ik probeer nu a.d.h.v je eerste voorbeeld aparte records te creëren van de weekprijzen.
Je voert nu elke week een prijs in, ook al is die dezelfde als de prijs van de vorige week. Niet alleen is dat dubbel werk, ook maakt het de database vrij onbruikbaar, zoals ik al eerder heb gezegd. Eigenlijk hoef je de prijs alleen te koppelen aan een wijzigingsdatum, en kies je bij het maken van offertes en bestellingen de laatste prijs. Of zie ik dat verkeerd?

Michel
 
Dan zou ik de prijzen alleen als record toevoegen als er een nieuwe prijs bekend is, en in je orders de laatste prijs opzoeken en die gebruiken.
Ik zal e.e.a. in een voorbeeldje verwerken.

Michel
 
Ik zal proberen morgen een opzetje voor je te posten, waarmee je wat kan stoeien.

Michel
 
Was jij er nog verder mee gekomen Michel? of heb je toch maar gekozen om te genieten van het mooie weer :cool:
 
Ik ben er nog wel mee bezig, maar mijn bril is gisteren gesneuveld, en met mijn reservebril zie ik eigenlijk niet zo veel... Ik doe het nu dus even rustig aan, want ik kan dan wel heel goed blind typen, maar niet zo best blind lezen ;)

Michel
 
Ja dat is een lastige OctaFisch..... in de tussentijd probeer ik mij hier nog meer eigen te maken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan