HMJR Geplaatst: 20 februari 2013 Delen Geplaatst: 20 februari 2013 Is het mogelijk om het aantal verschillende ingevoerde waarden van een veld te tellen? Alvast dank voor de adviezen. Quote Link naar reactie
0 yamas Geplaatst: 20 februari 2013 Delen Geplaatst: 20 februari 2013 Wat voor invoer hanteer je voor dat veld? Staan er meerdere waarden in één en hetzelfde veld? Quote Link naar reactie
0 HMJR Geplaatst: 20 februari 2013 Auteur Delen Geplaatst: 20 februari 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 Link naar reactie
0 yamas Geplaatst: 20 februari 2013 Delen Geplaatst: 20 februari 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 Link naar reactie
0 andries Geplaatst: 20 februari 2013 Delen Geplaatst: 20 februari 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 Link naar reactie
0 hiker Geplaatst: 21 februari 2013 Delen Geplaatst: 21 februari 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 Link naar reactie
Vraag
HMJR
Is het mogelijk om het aantal verschillende ingevoerde waarden van een veld te tellen?
Alvast dank voor de adviezen.
Link naar reactie
5 antwoorden op deze vraag
Aanbevolen berichten
Doe mee aan dit gesprek
Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.