Hoogste Veld Waarde

Status
Niet open voor verdere reacties.

LuckyFm

Gebruiker
Lid geworden
3 feb 2015
Berichten
91
Hallo,

Graag wil ik hulp bij een volgens mij klein probleem, maar ik kom er niet uit.

Ik wil graag aan Veld1 de hoogste waarde uit Veld2 toekennen

dus: Me.Veld1.Value = Me.Veld2.(hoogste waarde)

Iemand een suggestie????

Alvast bedankt.

LuckyFm
 
Je geeft veel te weinig informatie. Het enige dat ik kan afleiden is dat je op een formulier werkt, maar meer kan ik er nog niet van maken. Waar komen die velden vandaan bijvoorbeeld? Daar bedoel ik mee: waar halen die velden hun data vandaan?
 
Hoi Octafish,

Allereerst mijn excuses voor het gebrek aan info.
tabel1 bevat een aantal velden die worden gevuld door mijn formulier.

Bij Gewijzigt:
Me.Veld1.Value = Me.Veld1.Value + Me.Veld2.Value (Veld 2 is een invoerveld in mijn formulier)

Veld 1 is dus b.v. Veld1 = 10 veld2 = 3 nieuwe waarde Veld1 (in volgende record) = 13

Nu wil ik in Veld3 het Me.Veld3.Value = Me.Veld2.(Hoogste ingevoerde waarde)

Hopelijk is het nu duidelijker.

LuckFm
 
Nog niet helemaal, vrees ik. Overigens maak je een kleine denkfout:
tabel1 bevat een aantal velden die worden gevuld door mijn formulier.
Het is namelijk precies andersom: het formulier wordt gevuld vanuit de tabel. Tenzij je een niet-afhankelijk formulier hebt gemaakt dat je vult vanuit een recordset, en waarvan je de gegevens vervolgens bijschrijft in de tabel uit de recordset.

Maar ik snap nog steeds je werkwijze dus niet. Als je een formulier baseert op een tabel, en in een bepaald veld staat een waarde (Veld1=10), dan kun je daar probleemloos 13 invullen, en dan heb je de waarde óók aangepast. Dus waarom zo moeilijk doen met een extra veld? Tenzij je in je database een apart veld hebt voor de mutatiewaarde, maar dan snap ik weer niet waarom je veld 1 bijwerkt. Want als je in je tabel in Veld1 de waarde 10 zet, en in Veld2 de waarde 3, dan is [Veld1]+[Veld2] dus 13. En als je [Veld1] bijwerkt in 13, en in [Veld2] staat nog steeds 3, dan is [Veld1]+[Veld2] dus ineens 16! En dan moet je veld1 weer verhogen naar 16, waardoor het totaal naar 19 gaat. Da's makkelijk rijk worden :).
En dan dit:
Nu wil ik in Veld3 het Me.Veld3.Value = Me.Veld2.(Hoogste ingevoerde waarde)
Je hebt dus blijkbaar in je tabel ook een Veld3? Op je formulier is er maar één Veld2, dus de hoogste waarde van Veld2 is automatisch ook de kleinste waarde, en is ook het gemiddelde! Dus wat bedoel je daar mee?
 
Het is een niet afhankelijk formulier (scorebord) Dat vult de tabel1.

elke worp is een nieuw record invoer in veld2 dat wordt van Veld1 afgetrokken, Nieuwe waarde veld 1 = Veld1 + Veld2.
Nu wil ik graag in veld3 de hoogste score die ik heb ingevoerd in veld2.
Voor de goede orde mijn formulier vult dus de tabel d.m.v. de invoer in veld2 en na elke invoer volgen er een aantal berekeningen:

Private Sub CarAct2_AfterUpdate()
Me.Car2.Value = Me.Car2.Value + Me.CarAct2.Value
End Sub

Hiermee veranderd de waarde van Car2 natuurlijk
Nu wil ik graag me.car3.value = Me.CarAct2.(hoogste ingevoerde waarde)
 
Laatst bewerkt:
En hoe sla je het record dan op?
 
Na laatste invoer in mijn geval 2e omdat ik speel met twee spelers

DoCmd.GoToRecord , , acNewRec

Als een spel gespeeld is delete ik alle records in tabel1

en dan beginnen we weer opnieuw Ik hoef het niet te bewaren voor verdere verwerking
 
Maar je gebruikt dus geen niet-afhankelijk formulier, want ander kun je nooit zo een record aanmaken. Ik denk dat het tijd wordt voor een voorbeeldje, want dat maakt het waarschijnlijk een stuk duidelijker. Ik snap namelijk nog steeds niet wat nu de bedoeling is, en dan is het behoorlijk lastig om een zinvol antwoord te geven :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan