HMJR Posted February 20, 2013 Posted February 20, 2013 Is het mogelijk om het aantal verschillende ingevoerde waarden van een veld te tellen? Alvast dank voor de adviezen. Quote
0 yamas Posted February 20, 2013 Posted February 20, 2013 Wat voor invoer hanteer je voor dat veld? Staan er meerdere waarden in één en hetzelfde veld? Quote
0 HMJR Posted February 20, 2013 Author Posted February 20, 2013 Nee, altijd 1 waarde in het veld. Veld 1 Record 1 waarde = A Veld 1 Record 2 waarde = B Veld 1 Record 3 waarde = A Als alle records zijn geselecteerd dan zou het resultaat van de telling 2 moeten zijn. Als de records 1 en 3 zijn geselecteerd dan zou het resultaat van de telling 1 moeten zijn. Quote
0 yamas Posted February 20, 2013 Posted February 20, 2013 Volgens mij kan dit alleen als je tabel is gesorteerd op de inhoud van je genoemde veld. Vervolgens heb je een berekend veld nodig met bijgevoegde code. Let ( x = GetNthRecord ( veld1 ; Get(RecordNumber) - 1 ) ; If ( veld1 <> x ; 1 ; "" ) ) Zodra je dit gedaan hebt zorg dan dat het berekeningsresultaat niet wordt opgeslagen. Het veld moet de berekening zogezegd iedere keer opnieuw uitvoeren. Deze berekening zet als het ware een vlaggetje (1) zodra de inhoud van veld1 anders als de inhoud van veld1 van het vorige record. Verder is het wellicht nog nodig om een summary veld aan te maken die het totaal berekend van je 'flag' veld. Quote
0 andries Posted February 20, 2013 Posted February 20, 2013 met sql is dit sneller mogelijk denk ik. Het probleem met SQL is dat die geen "besef" heeft van de huidige foundset. Ik gebruik hiervoor altijd de IN waarbij ik een lijst opbouw met de IDs van de records in mijn foundset. Verder is het dan gewoon deze calculatie: ExecuteSQL ( "SELECT COUNT ( DISTINCT myField ) FROM myTable WHERE ID IN ( " & lijst van IDs & ")" ; "" ; "" ) de lijst van IDs moet wel komma separated zijn. Quote
0 hiker Posted February 21, 2013 Posted February 21, 2013 En bij gebrek aan kennis zoals Yamas en Andries die hebben zou ik het met een Loop doen: Teller begint op 1 omdat de eerste waarde altijd uniek is Alle records sorteren op veldwaarde Naar volgend record: als de waarde hetzelfde is, teller niet ophogen, naar volgend record: als de waarde anders is dan de teller 1 ophogen. Eindstand van de teller geeft het aantal verschillende waarden. Quote
Question
HMJR
Is het mogelijk om het aantal verschillende ingevoerde waarden van een veld te tellen?
Alvast dank voor de adviezen.
5 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.