Rekenen met record waarden

Status
Niet open voor verdere reacties.

zdrinker

Gebruiker
Lid geworden
7 mrt 2010
Berichten
16
Beste allemaal,

Ik ben een beetje vast gelopen met het maken van een opvolging - programma van onze leden.

De database bestaat momenteel uit twee tabellen, Contactpersonen en Opvolging die aan elkaar gekoppeld zijn. Het invullen van de gegevens en het uitlezen van de opvolggegevens in een gerelateerd subformulier gaat prima.

Graag wil ik een veld "TotCmEersteWeek" welke in de Contactpersonen tabel voorzien is, automatisch laten vullen door gegevens die enkel uit het éérste record komen van de tabel "Opvolging". De gegevens van dit record zijn een som van een aantal velden van een gerelateerde contactpersoon.

Kan iemand mij hiermee op goede weg helpen?
Ik werk momenteel in Access 2007

Alvast bedankt, Benny
 
Waarom zou je dat gegeven willen opslaan? Dat kun je heel simpel in een query laten uitrekenen. En goed databasegebruik is: alles wat je (dynamisch) kunt laten uitrekenen, sla je niet in een tabel op. En dit lijkt mij typisch zo'n waarde die je dus per definitie niet opslaat.
 
Bedankt voor uw reactie,

Ik begrijp u volledig, enkel weet ik niet goed hoe ik deze query dan moet gaan opstellen. Ik heb al vanalles geprobeerd maar kom er niet uit.

De bedoeling is dat men bij het invullen van de gegevens van een nieuwe persoon, de startgegevensin tabblad "Algemene gegevens" invult.
Na een week wordt deze persoon opgevolgd en worden in het tabblad Opvolging de nieuwe data ingevoerd.
Daronder komen alle ingevulde gegevens van voordien + de Kg en Cm dat ze verloren of gewonnen hebben.

Het gaat uiteindelijk om het veld "Cm Eerste Week" welke de optelling is van het aantal cm (meerdere velden) van het éérste record van die persoon.
Hiermee word het veld "Cm" uitgerekend (hetgeen wat de personen in totaal zijn afgenomen of bijgekomen)

Het veld "Cm Eerste Week" reken ik nu met de hand uit en vul dit in. Dit had ik graag automatisch gezien.
Ik heb mijn bestandje bijgevoegd zodat het duidelijker wordt.

Bekijk bijlage Test.rar

Hopelijk kan er mij hierbij helpen.
Alvast bedankt.
Benny
 
Ik heb wel een paar vreemde zaken geconstateerd in je formulier (en db). Die heb ik dus aangepast :)
om te beginnen: twee formulieren op basis van één tabel? Een beetje overbodig, want met één formulier (die je veel beter op de tabel kunt baseren dan op een overbodige query trouwens) kun je net zo makkelijk invoeren en/of bekijken. Daar heb ik de knop Invoeren dus maar voor gebruikt.
Verder is BMI natuurlijk een formule, en die heb ik op het tekstveld Gewicht gezet. Vul je een gewicht in, dan wordt de BMI uitgerekend. Eigenlijk hoef je die dan ook niet meer op te slaan, maar dat is een detail.
Wat mij nog het meest verbaasde was de manier waarop de subformulieren gekoppeld waren aan het hoofdformulier: niet namelijk :) Althans, wel een creatieve oplossing, maar wel fout. Dus dat is ook verbeterd.
Het hoofdformulier bevat nu een uitbreiding, die voor het overzicht is gebaseerd op een extra query om de cmEersteWeek uit te rekenen.
Affijn, kijk maar eens of dit in de buurt komt :)
 

Bijlagen

Hallo Michel,

Bedankt voor de aanpassingen, het ziet er al heel anders uit en waarschijnlijk ook op een betere manier geprogrammeerd.
Nu heb ik nog wel enkele wensen (als ik het zo mag noemen)

De bedoeling van de twee subformulieren was dat wanneer ik een nieuwe opvolging (lijn) invul, ik gelijktijdig daaronder ook de voorgaande ingevulde waarden kan zien, dat maakt de opvolgingen en interpretatie iets makkelijker, kan dan ook sneller inspelen op vragen en dergelijke... het zou dus mooi zijn indien dit kan.

Wat de BMI betreft, hier ben je zeker inventief geweest, toch was het de bedoeling dat wij deze zelf konden ingeven, dit wanneer de mensen (1x per maand) bij ons komen om een vetmeting en gelijk ook de BMI te laten uitvoeren, dit met een speciale vet/BMI meter.

Wat mij ook opviel was dat ik geen nieuwe contactpersoon meer kan aanmaken. Wanneer ik op 'opslaan en nieuw' klik, krijg ik een foutmelding dat ik niet naar een nieuw record kan gaan.

Ik vraag misschien wel veel maar valt hier nog iets aan te doen?

Alvast bedankt voor de hulp tot nu toe.

Groetjes, Benny
 
Ik heb met de knop nu het formulier omgeschakeld van Standaardweergave naar Gegevensinvoer. In die laatste modus krijg je een leeg formulier, en zie je dus verder oudere records niet. Dat kun je simpel opvangen door niet in de Gegevensinvoer modus te werken, maar alleen maar een nieuw record aan te maken. Dan blijf je de vorige records zien, en heb je volgens mij de view die je wilt. Al zou je, omdat bij oplopend aantal records het overzicht snel verdwijnt, in dat geval wel moet een extra formulier kunnen werken die dan bijvoorbeeld de laatste 5 records laat zien. Een standaard (sub)formulier laat ofwel alles zien, ofwel niks (leeg record). Voor overzichten zijn beide dus niet erg (tot niet) geschikt. Ik heb je hoofdformulier nu gekoppeld aan een query die het eerste record (i.v.m. de eerste waarden) laat zien. Met een TOP5 query maak je dan eerst een query voor de 5 (kan uiteraard elk aantal zijn) laatste records, en die laat je dan zien in een verder kaal formulier, waarin je (zou ik althans doen) verder niks kan aanpassen.
DE BMI waarde is een berekening, die je verder gewoon kunt overschrijven als je dat wilt. Doorgaans beveilig ik tekstvelden met formules, want meestal wil je niet dat een formule wordt overschreven. Kwestie dus van de eigenschappen van het tekstveld aanpassen (tabblad <Gegevens>).
Wat het laatste betreft: doordat nu de query met het eerste record aan het formulier hangt, kun je inderdaad geen personen meer toevoegen. Dus dat is niet handig. Ik zal de query anders koppelen, zodat je weer personen kunt toevoegen. Dat zou met een knop kunnen die de Recordsource omwisselt. Zowiezo heb je van een nieuwe klant nog geen gegevens, dus dat moet wel kunnen.
 
Beste Michel,

Merci voor de aanpassing
Kan ik de aangepaste file ergens terug vinden?

Groetjes, Benny
 
Ben nog wat verder aan het klooien ;)
Zal zo weer een versie neerzetten. Je 'Fuzzy logic' is namelijk ook niet de beste die ik ooit ben tegengekomen... In jouw voorbeeld met twee records vindt-ie zowel Bill Gates als Jan Janssen suspect. En veel meer dan een a, een e en een s hebben ze niet gemeen. Dus om dat nu als mogelijk dubbele records te beschouwen...
 
Laatst bewerkt:
Hallo Michel,

Ben je al een beetje verder gekomen met de aanpassingen??
Ik ben benieuwd hoe het er zal uitzien.

Groetjes, Benny
 
Hallo Michel,

Ben je al een beetje verder gekomen met de aanpassingen??
Ik ben benieuwd hoe het er zal uitzien.

Wanneer denk je iets klaar te hebben?

Groetjes, Benny
 
Ik heb de versie een beetje opgepoetst, zolas beloofd en de grootste foutjes er uit gehaald. Je zou er eventueel nog een formulier bij kunnen maken dat bij het invoeren de 5 laatste records laat zien.
 

Bijlagen

Hey

Bedankt voor de update, maar krijg bij het openen van het formulier direct de melding: "Kan het project of bibliotheek niet vinden"

Benny
 
OK, gevonden het was een verwijzing van Excel 2010 dat ontbrak, heb deze uitgeschakeld.
Nog steeds is het niet mogelijk een nieuwe persoon toe te voegen...
 
Dat snap ik niet; als ik op het knopje <Nieuw> klik in de navigatiebalk, krijg ik netjes een leeg document.
 
Ik bedoel eigenlijk de knop (tekst) bovenaan "Opslan en Nieuw" in de groene bovenbalk.
Als ik daarop klik krijg ik een foutmelding dat ik niet naar een nieuw record kan gaan.
De rest ziet er goed uit!

Alavast bedankt voor mij verder op gang te zetten.
Benny
 
Dat komt omdat je met die knop een macro aanstuurt, en daar zal dan wel een verkeerd commando in zitten; daar heb ik niet naar gekeken verder. Ik loop doorgaans met een zeer grote boog om macro's heen ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan