formulier gegevensbladweergave automatisch sorteren

Status
Niet open voor verdere reacties.

Trientje

Gebruiker
Lid geworden
9 dec 2012
Berichten
60
hallo ik heb een formulier gemaakt voor een tabel (gegevensblad weergave) welke wordt gesorteerd op veld "sorteerveld". Deze wordt ook zo geladen. sorteerveld is een rekenveld (schipnaam+betaald) welke steeds wijzigt bij wijziging van veld "aantal dagen". Nu zou ik het formulier bij iedere wijziging opnieuw willen sorteren. ik weet dat ik iedere keer alles vernieuwen kan aanklikken. Maar dit moet toch geautomatiseerd kunnen worden. ik heb eens gekeken bij macro's maken maar daar zie ik enkel vernieuwen staan en daarmee worden de gegevens niet opnieuw gesorteerd.
in bijlage een print screen voor wat meer duidelijkheid sorteren.png
 
Je kunt een gebeurtenis maken bij het veld [Aantal dagen] met de actie(s) Me.Requery, Me.Refresh, en/of Me.Repaint. Je zult ze waarschijnlijk niet allemaal nodig hebben; ik denk dat Requery al genoeg is, eventueel met Refresh.
 
hallo, ik kom er echt niet uit, heb al vanalles geprobeerd maar waarschijnlijk op de verkeerde plaatsen of zijn er instellingen verkeerd.
in bijlage heb ik zowel de tabel als het formulier gezet.
zou iemand mij kunnen helpen aub.
 

Bijlagen

Ik heb geen flauw idee wat je wilt met dit formulier; je hebt een veld [AANTAL DAGEN], maar ik zie geen enkel verband met het veld waar je op wilt sorteren. Dus hoe kan de sortering ooit worden aangepast op een verandering van het [Aantal dagen]? Dat gaat nooit gebeuren.
 
hoi michel,
als aantal dagen wordt ingegeven dan wijzigt het rekenveld sorteerveld automatisch mee. En op dat veld wordt er gesorteerd. (formuliereigenschappen : sorteren op volgend veld : sorteerveld)
[sorteerveld] = [schipnaam]&[betaald] en [betaald]=[van]+[aantal dagen]
 
Laatst bewerkt:
Ik zou je in ieder geval één tip willen geven: gooi de berekende velden weg. Een database moet gegevens opslaan, en geen berekeningen. Daar heb je queries voor. Je haalt elke vorm van normalisering van je database af op deze manier, en eventuele upgrading of uitwisselbaarheid met andere systemen is met een berekend veld in één keer van 100% naar 0% gedaald. Eén van de normaliseringsregels voor een goede database is: alles wat berekend kan worden, sla je niet op in een tabel. Zoals gezegd: dat doe je nu dus wel. Je veroorzaakt daarmee dataredundantie (dubbele en overbodige gegevens), en dat is nergens voor nodig.
 
Maar indachtig mijn eerder tip, is dit een werkende code:
Code:
Private Sub AANTAL_DAGEN_AfterUpdate()
    Me.Requery
End Sub
 
hallo michel,

ik heb een query gemaakt op mn tabel havengelden waarbij ik havengelden.* heb geselecteerd en sorteer op sorteerveld. form gemaakt op deze query en op aantal_dagen bij verlaten de macro query opnieuw uitvoeren gezet en hij sorteert prachtig!
misschien niet helemaal zoals het moet maar het werkt. later als ik wat meer tijd heb zal ik het verder reorganiseren....

dankzij jou heb ik verder gezocht... BEDANKT!!!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan