2 velden laten vermenigvuldigen uit verschillende tabellen.

Status
Niet open voor verdere reacties.

miicker

Gebruiker
Lid geworden
1 jul 2010
Berichten
87
Hallo,

Ik heb een DB. In deze DB heb ik een formulier, in dit formulier wil ik graag 2 velden laten vermenigvuldigen.

Het is ongeveer zo:
Ik heb een tabel met Producten, en het bijbehorende bedrag, en een tabel waarin het aantal staat.
Dus: TblProducten en TblAantal
Nu wil ik TblProducten.Prijs laten vermenigvuldigen in het forumlier met TblAantal.Aantal.
Hoe doe ik dit?

Mag ook met een query.

AUB met voorbeeld (beginneling op het gebied van Access).

Nog een vraag, als ik dit subtotaal heb, wil ik een veld met daarin het totaal, dus =SOM SubTotaal, hoe doe ik dit?

Alvast bedankt!
 
Ik zou het zeker doen met een query, al kan het natuurlijk ook op het formulier. De berekening is hetzelfde. Het is een vrij simpele handeling, dus een voorbeeldje lijkt mij niet nodig. Maak een nieuwe query in de ontwerpweergave, voeg de twee tabellen toe. Als het goed is, en je hebt ze in het venster Relaties aan elkaar gekoppeld, zijn ze in de query ook gekoppeld. Voeg alle velden toe die je denkt nodig te hebben. Maar vervolgens in een leeg veld de formule =[Prijs] * [Aantal]. En dat is alles. Op een (doorlopend) formulier op basis van de query kun je dan een totaal maken in de voettekst van het formulier. In de query heb je de knop totalen in de werkbalk. Die kun je gebruiken om ook in de query een totaal te maken.
 
Ik heb de query gemaakt, die werkt. Maar hoe krijg ik de Query in een formulier? En kan ik de subtotalen van de query nog in een veld laten opslaan?
 
Nog nooit een formulier gemaakt? In dat geval zou ik zeggen: gebruik de wizard. In het formulier zet je de kop- en voettekst aan, en daar maak je dan het totaal. Met de formule =SOM([Totaalveld]) .
 
Jawel, maar ik wil de query (die geeft alleen de prijs*aantal weer) opnemen in 1 veld in een subformulier, in het hoofdformulier moet vervolgens het totaal komen, hoe doe ik dit?
 
Op dezelfde manier, alleen moet je dan naam van het subformulier meenemen. Overigens moet je de formule nog steeds in het subformulier maken, anders werkt hij niet. In het hoofdformulier verwijs je dan naar het totaalveld in het subformulier. Gebruik de functie <Opbouwen>, anders maak je veel te makkelijk fouten in de syntax.
 
In het subformulier staat deze formule in een veld:
=[Bedrag]*[Aantal]
Die werkt.
Als ik in het subformulier dit neer zet:
=Som([BehBedrag]*[Aantal])
Werkt het ook, dan telt hij alle subtotalen bij elkaar op.
Doe ik dit in het subformulier:
=Som([SubTotaal]) werkt het niet.

Het totaal wil ik weergeven in het hoofdformulier niet het subformulier.
Wat ik heb gedaan:
Ik heb het subformulier in ''Gegevensblad'' weergave
In de voettekst (die niet wordt weergegeven bij een formulier in gegevensblad weergave, heb ik deze formule staan: =Som([BehBedrag]*[Aantal])
Die formule werkt,ik krijg dan keurig het totaal te zien.
Ik heb in het hoofdformulier een veld: =[Formulieren]![FrmSubFactuur]![Totaal]
Dit zou toch gewoon het totaal moeten weergeven dat er in de voet van het subformulier staat weergegeven?
De veldnamen kloppen allemaal.

Heeft iemand enig idee hoe ik er voor kan zorgen dat dit wel werkt?
 
Zou inderdaad moeten werken. Maak er eens een voorbeeldje van.
 
Ik heb het al werkend, ik geef het nu weer in het doorlopendformulier als subformulier.
Wat ik graag zou willen is het formulier exporteren naar PDF. Met die optie in Access worden simpelweg alle facturen geexporteerd, ik wil juist alleen die factuur exporteren die ik geopend heb in formulier weergave, hoe doe ik dit?
 
Oh boy, niet doen..... Formulieren zijn schermgereedschappen, niet bedoeld om af te drukken. Maak een mooi rapportje. Het is toch koud ;)
 
Ik kan geen rapport maken waarbij er dingen nog moeten worden ingevuld? of wel?
 
Nee, en dat is ook niet de bedoeling van een rapport. Rapporten zijn een eindproduct. Formulieren zijn er voor de invoer. Je gebruikt toch ook geen vork om soep te eten?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan