=Count([FieldName])

Status
Niet open voor verdere reacties.

Korstjens

Gebruiker
Lid geworden
9 jul 2023
Berichten
34
Met bovenstaande formule (in een tekstveld) kan ik op een formulier het aantal niet-lege records in eenzelfde veld tellen en zichtbaar maken.

Nou zoek ik een dergelijk formule voor het aantal UNIEKE record in een veld. In mijn database staan ± 1.000 records maar daarvan zijn er maar ± 800 met een unieke naam. Met een Query kan ik dat aantal (via query eigenschappen) wel vinden maar hoe maak ik het resultaat (in een tekstveld?) zichtbaar in mijn formulier?

Ik heb zitten stoeien met de formule =DCount([FieldName]), maar het lukt mij niet omdat ik wellicht iets fout doe. Moet bijvoorbeeld FieldName beslist zónder spaties zijn?

Aart Korstjens
Oosterhout
 
Je vraag lijkt volgens mij heel erg op dit draadje. Kijk eens of het voor jou ook werkt.
Veldnamen hoeven niet zonder spaties maar dat is wel aan te bevelen. Als er spaties in staan moet je er rechte haken omheen zetten.
 
Met een Totalen query kom je denk ik een stuk verder. Maar eerlijk gezegd snap ik niet helemaal wat je bedoelt. In je vraag heb je het over één tekstveld, met daarin één waarde (aantal niet-lege velden). Wil je het aantal unieke records weten, dan heb je het dus m.i. over meerdere uitkomsten. Die kun je nooit in één tekstveld zetten met DCount.
 
Even een voorbeeldje gemaakt:
Code:
SELECT LidsoortID, Count(LidsoortID) AS Aantal_Lidsoort
FROM [Lidmaatschap gegevens]
GROUP BY LidsoortID;
Laat alle beschikbare soorten zien, en hoe vaak ze voorkomen in de tabel. Is dit wat je zoekt?
 
Ik heb al één niet-afhankelijk tekstvak gemaakt met het aantal niet-lege records van een veld, dat werkt goed.

Maar ik wil dus nóg een nieuw tekstvak maken met het aantal unieke nummers uit een veld.
  • Ik heb een query met de naam Aantal gemaakt met maar 1 veld.
  • Het veld heet BPM
  • Eest bij de Eigenschappen van de Query Unieke waarden / Ja
  • Dan bij Records Totalen, dan verschijnt onder de record het woord Totaal
  • bij Totaal / getal
Onderin verschijnt dan het aantal unieke nummers, precies wat ik zocht.

Zoals xps351 aangaf heb ik dat tekstvak gevuld met =DLookUp("BPM", "Aantal") waarbij BPM de naam van het veld is en Aantal de naam van de query. Maar dan krijg ik een foutmelding. Iets met syntax en expressie. Ik zal dus wel iets fout doen.
Schermafbeelding 2023-12-13 144929.jpgAls beginner ben ik net blij dat ik een beetje begrijp van VBA, maar dit gaat mij boven mijn pet. Ik gebruik W11 met Access 365.
 
Het idee dat wij op basis van een plaatje van een foutmelding kunnen zien wat er aan de hand is, berust op een misverstand. Op zijn minst de gebruikte query, maar veel beter nog is natuurlijk de database met de voor de vraag noodzakelijke tabellen/formulieren. En uiteraard zonder persoonlijke gegevens :).
 
Maar op basis van jouw query mis ik toch nog wel een parameter. Als ik zelf een query maak met daarin verschillende waarden uit één veld, dan ziet een DLookup er zo uit als ik één specifieke waarde zoek:
Code:
=DLookUp("Aantallen";"Aantal";"Soort='Aspirant'")
Of, een stuk veiliger:
Code:
=DLookUp("Aantallen";"Aantal";"Soort=""Aspirant""")
 
Maar dan krijg ik een foutmelding. Iets met syntax en expressie
Het is inderdaad moeilijk op afstand na te gaan wat er mis is. Als de query werkt en je de DLookup op de juiste plaats hebt staan, zou het moeten werken.
De derde parameter bij DLookup is niet nodig als de query maar 1 rij als resultaat heeft. Zelfs als dat niet zo zou zijn, krijg je je geen syntaxfout.
 
Ook als ik =DLookUp("[BPM]", "[Aantal Tinnegieters]") maak (dus met vierkante haken omdat er in de query naam een spatie zit) krijg is nog steeds dezelfde foutmelding. Deze code zet ik in een tekstvak.

BPM is de naam van het veld, Aantal Tinnegieters is de naam van de query. De query geeft het juiste resultaat (851)Schermafbeelding 2023-12-13 220024.jpg

Dat ik het niet snap komt natuurlijk omdat ik (voor wat betreft Acces) nog steeds een beginnend leerling amateur ben :). Maar ik hou vol!
 
Het blijft koffiedik kijken zonder een voorbeelddatabase.
Deze code zet ik in een tekstvak.
Dit is voor mij een vage opmerking. Zoals ik in mijn reactie op de andere post schreef, hoort dit bij de eigenschap gegevensbron te staan. Ik weet niet of dat zo is.
De query snap ik trouwens ook niet. Op basis van je oorspronkelijke vraag nam ik aan dat de query één getal zou opleveren (het aantal unieke namen). Ik zie een hele reeks getallen. Wat is het juiste?
 
Beste xps351,

Oeps, ...... omdat ik van Access duidelijk nog te weinig afweet heb ik het waarschijnlijk niet goed uitgelegd. Ik ga het nog een keer proberen maar bijvoorbaat graag excuses als het uitleggen duidelijk nog mijn beginnersniveau etaleert.

De database heeft ongeveer 1200 records. Sommige personen hebben wel 2 of 4 records. Elk persoon heeft wél een uniek door mij gegeven nummer (genaamd BPM nummer) en dat zijn er 851 en dat getal 851 zou ik dus zichtbaar willen maken in mijn formulier. De query die ik maakte heeft inderdaad maar één veld met die unieke nummers (in plaats van namen).

Ik begrijp dat het voor jou moeilijk is om te vinden wat ik fout doe want dat de "fout" bij mij ligt is duidelijk.
Als ik nou de database terugbreng tot ongeveer 15 records met daarin enkele dubbele. In de database staan alleen maar personen die soms al wel 300 jaar dood zijn, dus persoonlijke gegevens zijn niet relevant gelukkig. Kan ik die database dan per WeTransfer naar jou sturen. Je zou mij daar ontzettend mee helpen want ik moet duidelijk nog veel leren. Ik ben welliswaar (pas) 77 jaar maar wil ook Access steeds beter onder de knie krijgen en daarvoor heb ik hulp nodig. Ik heb gezocht naar een goed boek maar dat heb ik tot op heden nog niet gevonden.

Ik zal je via een Persoonlijk bericht mijn mailadres sturen zodat je daarna (als je dat tenminste wilt) mij ook jouw mailadres kan doorgeven voor de WeTransfer sessie.

Aart
 
Kan ik die database dan per WeTransfer naar jou sturen. Je zou mij daar ontzettend mee helpen want ik moet duidelijk nog veel leren. Ik zal je via een Persoonlijk bericht mijn mailadres sturen zodat je daarna (als je dat tenminste wilt) mij ook jouw mailadres kan doorgeven voor
Dat je Peter als een Access guru beschouwt die blijkbaar als enige in staat is om jouw vraag te beantwoorden laat ik uiteraard voor jou. Zelf heb ik, dank zij dit soort opmerkingen, totaal geen zin meer om jou te helpen. HelpMij is een open forum, wat inhoudt dat iedereen in staat moet zijn om hulp te geven. Jouw vraag is echt heel simpel op te lossen, maar ik ga dat dus niet doen. Succes verder!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan