Records tellen die een bepaald waarde heeft

Status
Niet open voor verdere reacties.

dralex

Gebruiker
Lid geworden
21 mrt 2011
Berichten
154
Ik heb een tabel en daar staat in wat voor categorie een bepaalde record heeft.
Nu wil ik in overzicht de aantal records per categorie tonen.
Hoe kan ik dit het beste doen?
en is het mogelijk om nog dieper te tellen? (categorie heeft verschillende records(test_nr) en een test nr heeft ook verschillende records)
 
Je kunt net zo diep tellen als je wilt; maak een query op basis van je tabel en zet daarin het veld Categorie en bijvoorbeeld het sleutelveld. Zet de knop Totalen aan, groepeer op Categorie (standaard instelling) en gebruik de functie Aantal (Count) voor het sleutelveld. En daar heb je je telling. Je kunt i.p.v. een veld ook een sterretje typen in het veld dat je gaat tellen, of het cijfer 1.
 
het optellen is gelukt via een query maar als ik het in een overzicht wil plaatsen dan geeft hij nul aan. waar moet ik opletten?
 
het volgende wil ik doen.
In Formulier Status Overzicht (is kopie van tabel status overzicht) kan je de categorieën selecteren die voorkomen.

Hier voorbeeld.
Categorie draaiboek Aantal draaiboeken Aantal Ltg's Aantal Ftg's Uitgevoerde draaiboeken Gedaan Generieke verkoop et 0 0 0 0 0%
Klassewissel 0 0 0 0 0%
Nal 0 0 0 0 0%
Ovcp kopen 0 0 0 0 0%
Reishistorie 0 0 0 0 0%
Saldo laden 0 0 0 0 0%

Nu wil ik dat bij aantal draaiboeken automatisch wordt ingevuld. de telling moet gedaan worden aan de hand van tabel Basis_info_test waar hij kan rekenen aan met de Basis_info_test_id.

aantal ltg's moet geteld worden uit tabel Ltg (ltg_id) aan de hand van alle Basis_info_test_id met de betrefende categorie. maar hoe zet je zo iets op?
 
Laatst bewerkt:
Dat zegt nog niet zoveel; heb je het formulier wel op de juiste gegevens gebaseerd?
 
Gebruik je een 'gewone' query, of een kruistabelquery?
 
Ik zou het ook eens met een Kruistabel proberen; die levert vaste velden op, die prima op een formulier te zetten zijn. De berekeningen die je extra nodig hebt, maak je dan op het formulier.
 
Heb eerste een selectiequery gemaakt met de velden nu toont hij alles (en dat is goed)
Het Optellen lukt nu maar hij telt ook dubbele id nummers.
Ik wil dat het per id rekent
voorbeeld huidige situatie
a 3 1
a 3 4
a 1 6
b 4 11
b 5
totaal= 5 5 5

voorbeeld gewenste situatie
a 3 1
a 3 4
a 1 6
b 4 11
b 5
totaal= 2 4 4

dus hoe zorg ik dus voor dat hij de per veld de unieke waarde telt?
 
Laatst bewerkt:
Bekijk bijlage 134915
Hier een voorbeeld database
ID_Overzicht Query maakt een selectie
en met ID_Overzicht Query Query wil ik de unieke tellen per veldnaam per categorie

Voorbeeld van resultaten
generieke verkoop
Basis_info_test_Id = 1
Ltg_nr_Id = 5
Ftg_Id = 4

Klassewissel
Basis_info_test_Id = 2
Ltg_nr_Id = 1
Ftg_Id = 0

OVCP kopen
Basis_info_test_Id = 1
Ltg_nr_Id = 3
Ftg_Id = 0

Reishistorie
Basis_info_test_Id = 2
Ltg_nr_Id = 2
Ftg_Id = 5
 
Laatst bewerkt:
Ik snap nog steeds niet wat je wilt tellen; je geeft allemaal begrippen zoals Klassewissel die ik niet terug zie in je voorbeeld. Althans: niet in je query...
 
ik heb het nu anders aangepakt.
heb eerst een query gemaakt die alle id's verzamelt
(voorbeeld)
SELECT DISTINCT Basis_info_test.Categorie, Basis_info_test.Basis_info_test_Id, Ltg.Ltg_nr_Id, Ftg_info.Ftg_Id
FROM (Basis_info_test LEFT JOIN Ftg_info ON Basis_info_test.Basis_info_test_Id=Ftg_info.Basis_info_test_id) LEFT JOIN Ltg ON Basis_info_test.Basis_info_test_Id=Ltg.Basis_info_test_id
WHERE (((((IIf([ltg_nr_id] Is Null,True,[ltg_nr_id]))<>False) AND ((IIf([FTG_id] Is Null,True,[FTG_id]))<>False)) AND ((IIf([Basis_info_test.Basis_info_test_Id] Is Null,True,[Basis_info_test.Basis_info_test_Id]))<>False)) AND ((IIf([Categorie] Is Null,True,[Categorie]))<>False))
GROUP BY Basis_info_test.Categorie, Basis_info_test.Basis_info_test_Id, Ltg.Ltg_nr_Id, Ftg_info.Ftg_Id;

en daarna de query opgedeelt per id soort.
(voorbeeld)
SELECT DISTINCT qID_Overzicht.Categorie, qID_Overzicht.Basis_info_test_Id
FROM qID_Overzicht;

en daarna de opgedeelde query laten rekenen.
(voorbeeld)
SELECT DISTINCTROW qID_Overzicht.Categorie, Count(qID_Overzicht_Basis_ID.Basis_info_test_Id) AS AantalVanBasis_info_test_Id
FROM qID_Overzicht_Basis_ID
GROUP BY qID_Overzicht.Categorie;

nu enkel nog de 3 totaal querys samenvoegen en overzicht is klaar
 
Ik zal proberen het uniform te vermelden wat ik wil.

Ik heb 3 soorten id's waarvan ik de aantal UNIEKE records wil weten per categorie.

elk soort id heeft een eigen tabel, maar zijn met elkaar verbonden.
id_1 is het hoofd id id_2 en id_3 zijn een sub id.
De Categorie wordt bij id_1 opgegeven.

in een overzicht wil ik dat er per categorie de aantallen unieke records per id soort wordt weergegeven.
(vb)
___________id_1___________id_2___________id_3
Categorie 1
Categorie 2
Categorie 3
Categorie 4

ik hoop dat ik duidelijk genoeg ben geweest en dat jij of iemand anders mij uit de brand kan helpen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan