Probleem met eerdere artikels in het formulier

Status
Niet open voor verdere reacties.

gangstalaz

Gebruiker
Lid geworden
13 sep 2010
Berichten
131
Hallo,

Ik werk met access 2003 en kom ergens niet aan uit.

De bedoeling van de database: Het bedrijf hoort met de database gereedschappen en materialen te kunnen bestellen voor gebruik op het werkvloer etc.

Nou bij een leverancierlijst maak ik mijn keuze en krijg ik deze gefilterd tevoorschijn in het formulier. Maar als ik een tweede artikel wil selecteren, wordt dat ook een filter en staat er weer 1 van 1. Hoe krijg ik meerdere artikels in het formulier? Want deze moeten daarna nog in de tabel tblBestellingen.

De gemaakte keuzes wil ik dan ook in een rapport en later wil ik deze kunnen verzenden en/of printen. Hoe doe ik dat?

Alvast bedankt!
 
Heb je de tabellen al gesplitst in een tabel Leveranciers, Artikelen, Leverancier_Levert, Bestellingen en BestelRegels? (De tabelnamen zijn maar een indicatie; kan bij jou uiteraard heel anders zijn...)? Of heb je nog steeds de tabellen Leverancier en Leveranciers?
 
Heb je de tabellen al gesplitst in een tabel Leveranciers, Artikelen, Leverancier_Levert, Bestellingen en BestelRegels? (De tabelnamen zijn maar een indicatie; kan bij jou uiteraard heel anders zijn...)? Of heb je nog steeds de tabellen Leverancier en Leveranciers?

Ik heb volgende twee brontabellen: tblLeveranciers en tblArtikelen
Deze hebben een relatie met elkaar. Dus 1 leverancier kan meerdere artikelen hebben.
En ik heb een tabel tblBestellingen die leeg is. Met veldnamen die ook terug te vinden zijn in het rapport.
 
En kan een artikel door meerdere leveranciers worden geleverd? En wat doe je met bestellingen die uit meerdere artikelen bestaan? Of maak je voor elk artikel een eigen bestelling?
 
En kan een artikel door meerdere leveranciers worden geleverd? En wat doe je met bestellingen die uit meerdere artikelen bestaan? Of maak je voor elk artikel een eigen bestelling?

Ja er kunnen meerdere leveranciers zijn voor een artikel. Maar er kan op artikel gezocht worden in het leverancierlijst. Dus dan krijgen ze een prijsvergelijking en kunnen ze hieruit kiezen.

Bestellingen die uit meerdere artikelen bestaan. Dus van dezelfde leverancier. Die horen in hetzelfde rapport te zitten, want die wordt dan per mail naar de leverancier verzonden.

Ik hoop dat het wat duidelijker voor je is geworden.
 
Hoe heb je de tabellen dan gemaakt/ingericht? Kun je een afbeelding maken van de relaties in de db? Want ik weet nog steeds niet of je aparte tabellen hebt voor leveranciers_Artikelen. De laatste keer maakte je voor elke Leverancier-Artikel een apart record aan. En hetzelfde geldt dus ook voor de bestellingen+Bestelde artikelen.
 
Hoe heb je de tabellen dan gemaakt/ingericht? Kun je een afbeelding maken van de relaties in de db? Want ik weet nog steeds niet of je aparte tabellen hebt voor leveranciers_Artikelen. De laatste keer maakte je voor elke Leverancier-Artikel een apart record aan. En hetzelfde geldt dus ook voor de bestellingen+Bestelde artikelen.

Nou ik heb het naar je gemaild omdat het 7 mb wordt wanneer ik het comprimeer.
 
Haal ik 'm even op...
 
Volgens mij heb je in de database staan dat 1 bestelling meerdere leveranciers kan hebben. Terwijl dat niet kan. Want deze bestelling (rapport) moet naar 1 leverancier gemaild worden.
Dus het is eigenlijk de bedoeling dat 1 bestelling 1 leveranciers_ID moet hebben.
Dus als er meerdere artikelen van dezelfde leverancier besteld moeten worden. Dan moeten deze in dezelfde bestelling komen.


Hoe kan ik dit wijzigen?
 
Zie je net verkeerd om: één leverancier kan meerdere bestellingen hebben, niet andersom. Eén artikel kan door meerdere leveranciers worden geleverd in de nieuwe db, en één bestelling kan meerdere artikelen bevatten. Er is dus een één-op-veel relatie tussen Leverancier --> Bestelling, tussen Artikel --> Artikel-Leveranciers, Bestelling --> BestelRegels en tussen Artikel-Leveranciers --> BestelRegels.
 
Zie je net verkeerd om: één leverancier kan meerdere bestellingen hebben, niet andersom. Eén artikel kan door meerdere leveranciers worden geleverd in de nieuwe db, en één bestelling kan meerdere artikelen bevatten. Er is dus een één-op-veel relatie tussen Leverancier --> Bestelling, tussen Artikel --> Artikel-Leveranciers, Bestelling --> BestelRegels en tussen Artikel-Leveranciers --> BestelRegels.

Ow oke. Want ik zag ook dat je een formuliertje had gemaakt waar 3 velden zijn waar je leveranciers_ID kan invoeren. Ik dacht dat ik dan meerdere leveranciers_ID's in 1 rapport zou krijgen.
 
Hoe kan ik nou een link leggen tussen de leverancierlijst en het formulier?
Ik kan ze wel door middel van een artikelen_ID in het formulier krijgen. Maar dan raak ik de relatie kwijt tussen de tabel tblBestellingen en het formulier.
En volgens mij is het ook niet de bedoeling dat ALLE artikelen in het formulier tevoorschijn komen om eruit te selecteren.

Ik kom gewoon geen stap meer verder.
pff begin al te stressen hier. Heb ook al niet veel dagen meer over:(
 
Ik heb niet zoveel met de formulieren nog gedaan; die drie velden (ogenschijnlijk een paar teveel...) waren bedoeld om aan een keuzelijst gekoppeld te worden, zodat ze de leveranciersgegevens kunnen laten zien. In de keuzelijst kies je dan een leverancier, en in de tekstvakken verschijnen dan Naam, Adres, Postcode etc. Maar het is dus nog in een prille ontwikkelfase.
Ik zou het formulier met de leverancierslijst ook voorlopig even vergeten, omdat dat is gemaakt op de verkeerde tabellen. Dus het is straks niet echt bruikbaar meer. Je moet een formulier maken op basis van de tabel Bestellingen, waarin je een subformulier hangt voor de Bestelregels (de verschillende artikelen dus), en waarin je ook de Leveranciersgegevens opneemt, zoals ik van plan was. Kortom: gebruik het formulier fBestellingen als basis voor je bestellingen.
 
Ik zal het boek erbij pakken en met een subformulier proberen.
Het moet later wel mogelijk zijn om op leverancier, artikelnummer en artikelbeschrijving te zoeken.
 
Daar is de db nu wel voor opgezet, dus dat moet wel kunnen. Gebruik keuzelijsten om de hoofdgegevens op te zoeken. Voor de leverancier maak je een keuzelijst die je bijvoorbeeld cboLeverancier noemt. Daarin zet je bijvoorbeeld de velden LeverancierID, Naam, Adres, Afleveradres.
Op het bestelformulier geef je dan de tekstvelden de volgende Besturingselementbron:
Tekstveld txtNaam: =cboLeverancier.Column(1)
Tekstveld txtAdres: =cboLeverancier.Column(2)
Tekstveld txtAfleveradres: =cboLeverancier.Column(3)

En zo voorts. Als je dan een leverancier kiest uit de keuzelijst, zie je de overige tekstvelden gelijk gevuld worden vanuit de keuzelijst.
 
Ik heb het formulier op jou manier proberen op te stellen. Zie bijlage.formulierr.JPG
Wanneer ik een keuze maak uit een leverancier, krijg ik de gegevens tevoorschijn.
Heb ik dit goed gedaan?
Ik zie nu dat ik echt helemaal opnieuw ben begonnen. Wat zijn de volgende stappen die ik moet nemen. Want ik wil geen fouten meer maken. Ik heb er al geen tijd meer voor.
 
Laatst bewerkt:
Je gaat de goede kant op :thumb:
De volgende stap is neem ik aan dat je aan de bestelling artikelen wilt toevoegen. Dat gebeurt in het subformulier dat je er aan hebt gehangen. Als het goed is, heb je dit subformulier gekoppeld aan het hoofdformulier Bestellingen, op basis van BestellingID. Dit is in de tabel Bestellingen een sleutelveld, en komt terug in het formulier BestelRegels. Zodat je bij elke bestelling de daarbij horende bestelregels ziet.
Wat je nu kunt doen, is een keuzelijst maken voor de artikelen, zodat je die ook op kunt zoeken. Verder zou ik nog een formule maken die de prijs berekent op basis van het aantal artikelen dat besteld wordt. Deze formule maak je op basis van de velden Prijs en Aantal, en maak je op de gebeurtenis <Na bijwerken> van de velden Prijs en Aantal. Iets als:
Me.Totaalprijs=Me.Prijs*Me.Aantal
Zodat, als je het aantal verandert, de totaalprijs ook verandert. En dat geldt dan ook voor de prijs uiteraard.
 
Ja die zijn op basis van BestellingID aan elkaar gekoppeld.

Ik heb voor de artikelen een keuzelijst met invoervak gemaakt. Hierin heb ik ook de prijs en opmerkingen bijgedaan omdat ze door middel van een prijs/ kwaliteit verhouding een keuze gaan maken. Alleen, aan wat moet ik dit koppelen?

En voor het berekenen van de totaalprijs heb ik een extra veld bij gedaan.

Formulier2.JPG
 
Het kiezen van de artikelen moet je normaal gesproken in het subformulier doen. Het hoofdformulier slaat immers geen artikelen op. In dat subformulier doe je hetzelfde als in het hoofdformulier: je maakt een keuzelijst, met daarin dezelfde info die je nu in de andere lijst hebt. Vervolgens zet je die gegevens in de andere tekstvakken. Bij voorkeur bij de gebeurtenis <Na bijwerken> van de keuzelijst, zodat je de velden kunt koppelen aan de juise velden in de tabel bestelregels.
 
Bij voorkeur bij de gebeurtenis <Na bijwerken> van de keuzelijst, zodat je de velden kunt koppelen aan de juise velden in de tabel bestelregels.

Wat moet ik daar zetten?
Ik snap niet wat je bedoelt.
Moet ik hier ook iets met "=cboArtikel.Column(1)" doen?
want nadat een artikel gekozen is, moeten alle velden wel ingevuld zijn toch?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan