Opgelost Formule problemen

Dit topic is als opgelost gemarkeerd

huizemeul

Gebruiker
Lid geworden
17 mrt 2013
Berichten
111
Hoe krijg ik Bedrag in en Bedrag Uit samen gevoegd. Kan ik de twee formules samen voegen zodat ik 1 veld bedrag krijg.
Normaal zou je dit een Query verwerken denk ik . Kan dit ook in een tabel?
Heb diverse manieren geprobeert maar het lukt mij niet.
Bedrag In: IIf(IsNull([In])-IsNull([Uit]);Null;IIf(IsNull([In]);0;([In])-IIf(IsNull([Uit]);0;([Uit]))))
Bedrag Uit: IIf(IsNull([Uit])-IsNull([Begroot Uit]);Null;IIf(IsNull([Uit]);0;([Uit])-IIf(IsNull([Begroot Uit]);0;([Begroot Uit]))))
 

Bijlagen

  • Schermafbeelding 2026-08-12 232204.webp
    Schermafbeelding 2026-08-12 232204.webp
    10,1 KB · Weergaven: 25
Heb nog een vraag vergeten.
Kan ik veld BEGROOT In en Uit samen voegen.
Kan ik veld BEDRAG In en Uit samen voegen.
 
In dit geval gaat er niets boven een realistisch voorbeeldbestand zonder gevoelige info.
Met een afbeelding kunnen we niets beginnen.
Ik denk zelf dat de afbeelding een screenshot is van Access. Klopt dat?
 
Laatst bewerkt:
Normaal zou je dit een Query verwerken denk ik .
Dus.........

Ik snap trouwens niet goed wat je bedoelt moet het "samenvoegen" van allerlei velden. Op een bepaalde rij zijn alleen of de IN velden of de UIT velden gevuld. Wat wil je dan met wat samenvoegen op welke rij?
Geef eens een voorbeeld van de verwachte uitvoer.
Bericht automatisch samengevoegd:

Ik denk zelf dat de afbeelding een screenshot is van Access. Klopt dat?
Lijkt er wel op hè. Vandaar waarschijnlijk ook dat de vraag in de rubriek Access gepost is :D
 
Het klopt het is een access bestand.
Ik heb een voorbeeld er achter geplaatst Nr 2. Zo zou ik het willen hebben
Bericht automatisch samengevoegd:

Kan geen access bestand uploaden. Dus een copie.
Bericht automatisch samengevoegd:

Nog en puntje. Als er geen bedrag bij begroot word ingevuld moet bedrag leeg blijven.
 

Bijlagen

  • Schermafbeelding 2026-08-13 093208.webp
    Schermafbeelding 2026-08-13 093208.webp
    16,5 KB · Weergaven: 15
  • Schermafbeelding 2026-08-13 101238.webp
    Schermafbeelding 2026-08-13 101238.webp
    18,2 KB · Weergaven: 11
Laatst bewerkt:
Heb diverse manieren geprobeert maar het lukt mij niet.
Mij ook niet; ik heb een tabel gemaakt volgens jouw plaatje, met dezelfde namen en waarden, in ik krijg andere resultaten met jouw formules. Dus ofwel je formules in je afbeeldingen zijn anders, ofwel er is wat anders aan de hand. Sowieso snap ook ik niet wat je nu precies wilt zien als resultaat. Het verschil tussen Begroot en daadwerkelijk uitgegeven/ontvangen snap ik nog wel. Maar dat zie ik dus niet terug in je formules.
Als je een query hebt die bovenstaande gegevens genereert: post dan in ieder geval eerst de SQL van die query, dan kunnen we daar mee aan de slag. Verder zet ik wat vraagtekens bij de ingewikkelde constructie van jouw formules...

Laten we zeggen dat je voor [Bedrag In] de verkeerde formule hebt gepost, en dat je deze bedoelde:
Code:
Bedrag In: IIf(IsNull([In])-IsNull([Begroot In]);Null;
IIf(IsNull([In]);0;([In])-IIf(IsNull([Begroot In]);0;([Begroot In]))))
En dat [Bedrag Uit] correct is. Dan zie je de bedragen zoals je die je in het plaatje ziet. Dan kun je de twee velden 'samenvoegen' in een nieuw veld:
Code:
Totaal: [Bedrag In]-[Bedrag Uit]
Is dat wat je bedoelt?
 
Laatst bewerkt:
Het blijft een een vaag verhaal. Je weet dat een query de beste oplossing is, maar vertelt er niet bij waarom je daar niet voor kiest. En de formules zijn inderdaad nodeloos ingewikkeld.

Als je dan met alle geweld berekende gegevens in je tabel wilt hebben doe dat dan goed en gebruik het gegevenstype "Berekend". Dan hoef je er verder niets aan te doen en weet je dat Access je gegevens consistent houdt. De berekening is simpel, bijvoorbeeld voor "Bedrag_Uit":
berekend.webp


Ik weet niet in welke versie(s) dit gegevenstype beschikbaar is. Ik gebruik M365 en weet niet wat jij gebruikt.
 
Beste OctaFish.
Klopt formule was verkeerd. Dank je
Blijf een leek. Maar jullie hulp is zeer welkom. Blijf stoeien.
Hoop dat ik het nu goed uitleg!!!!!
Heb veld In, veld uit en veld begroot.
Welke formule heb ik nodig om in VELD 1 de bedragen te krijgen uit VELT 11.
 

Bijlagen

Dit is anders dan je vroeg; nu gaat het om één berekend veld, eerst om twee. Aan het principe van mijn voorgestelde oplossing, met berekende velden in de tabel, doet dat niets af.
Ik heb de tabel even opnieuw gemaakt met veld 11 nu als berekend veld; daar hoef je dus zelf niets in te vullen - en dat kan trouwens ook niet.
 

Bijlagen

Het klopt nog niet helemaal.
Als ik nu een bedrag invul bij IN en BEGROOT blijft leeg komt er toch in 11 het bedrag te staan.
Als ik nu een bedrag invul bij Uit en BEGROOT blijft leeg komt er toch in 11 het bedrag te staan.
Ik wil als een bedrag invul bij IN of UIT en BEGROOT blijft leeg dat in 11 niets komt te staan.
Bericht automatisch samengevoegd:

Hij moet alleen berekenen als Begroot wordt ingevult.
 
Ja, ik zie dat nu ook. Het komt doordat de standaardwaarde van de velden In, Uit en Begroot op 0 staat. Bij de bestaande records waren de niet van toepassing zijnde velden leeg. Dan werkt de formule wel.

De vraag is wat je met waardes van 0 wilt. Betekent 0 in Begroot dat er nog geen waarde is begroot of dat de begrote waarde 0 is?
Afhankelijk van hoe je het uiteindelijk gaat doen moet de formule al dan niet aangepast worden. Ik kan me bijvoorbeeld voorstellen dat je standaardwaarde voor de drie velden leeg laat en een validatieregel maakt die zegt dat als er een waarde wordt ingevuld die >0 is. Dat zou wel betekenen dat de drie velden nooit 0 mogen zijn. Is dat zo?

Zie ter illustratie hoe het zou kunnen in de aangepaste voorbeelddatabase.
 

Bijlagen

Ik zie het nut van berekende velden in een tabel niet; elke berekening kun je immers in een query maken. In een tabel sla je alleen gegevens op die niet zijn af te leiden van andere gegevens in dat record. Een berekening is dat per definitie wél. Kortom: hou het gewoon bij een query.

Daarnaast is het slim om bij het ontwerpen van een tabel de standaardwaarde van numerieke gegevens altijd leeg te houden, en niet met 0 te vullen. Ik ken maar weinig gegevenssoorten waarbij 0 de meest logische en vaakst ingevulde waarde is. Vroeger kon je in de eigenschappen van Access aangeven dat numerieke velden bij het ontwerp geen standaard waarde kregen. Helaas is die optie er door de neuzels van Microsoft die met de 'verbeteringen' van het pakket zijn belast (en die ons al meer nutteloze zaken door de strot hebben geduwd) er uit gehaald.
Daarom gebruik ik tegenwoordig een procedure die in alle tabellen de standaardwaarde van numerieke velden leegmaakt. Probleem opgelost 😊.
 
Ik zie het nut van berekende velden in een tabel niet; elke berekening kun je immers in een query maken
Zelfs TS is ermee bekend dat je dat (beter) in een query kunt doen (zie post #1). Om de een of andere reden wil hij dat niet en dan is een berekend veld (met een in de tabel vastgelegde berekening) de een na beste oplossing. In ieder geval beter dan op alle plaatsen waar gegevens ingevoerd of gewijzigd kunnen worden zelf de berekening uit (laten) voeren.
 
Terug
Bovenaan Onderaan