tellen van inhoud

Status
Niet open voor verdere reacties.

Natalie95

Gebruiker
Lid geworden
10 sep 2015
Berichten
5
Hallo allemaal,

mijn naam is Natalie en ik ben hier als nieuwkomer.
ik ben sinds een maand of 3 begonnen in access ,maar nu heb ik een vraag.

ik heb een database gemaakt met twee tabellen , en deze zijn gelinkt met een vreemde sleutel.
in de hoofdtabel (Boxen) heb ik een aantal velden staan , waaronder de naam van een Box.

in deze tabel heb ik nu 30 boxen staan en kan dus alle dertig boxen bekijken.

in de andere tabel (inhoud) heb ik de inhoud van alle boxen staan en deze tabel is dus gekoppeld aan de tabel Boxen

als ik nu in box 5 een item stop (in dit geval informatie van een een foto ) krijgt de tabel inhoud via de vreemde sleutel een getal
wanneer ik nog een item in box 5 stop , krijgt de tabel inhoud bij dat record weer een getal , maar dat is hetzelfde getal.

hoe kan ik nu deze getallen ( in dit geval een 3) er staat nu 7 keer het getal 3 in de tabel) als informatie van hoeveel foto``s er in een Box zitten

in mijn geval 7 , maar hoe kan ik dat getal krijgen

nu krijg ik 21 , maar ik wil het aantal drieen 3,3,3,3,3,3,3, = 7 ( ja eigenlijk 21)

ik hoop dat iemand mij hierbij kan helpen

groetjes van Natalie,
 
Welkom Natalie. Zou je misschien je database kunnen uploaden hier (zonodig zonder eventuele 'gevoelige' gegevens)? Dan kunnen we zien wat je precies bedoelt want dat is mij in ieder geval niet geheel duidelijk (een vreemde sleutel??? :) ).
Graag uploaden in een Zip-bestand.
 
Hallo PFL,

dank je voor je reactie , hierbij mijn database.

in de tabel foto`s staan in kolom BoxNRID de boxnummers waar de foto`s inzitten
deze wil ik graag tellen en op het formulier weergeven.

er zijn nu 3 foto`s van Chelsey en 1 van Karin die in box 5 zitten, maar als ik dat weer wil geven staat er 20 i.p.v 4

Hoe kan ik dat oplossen

Alvast bedanktBekijk bijlage FotoArchiefNatalie.zip
 
tellen

Hallo meneer Paul,

Dit is precies wat ik zou willen,maar ik krijg het in mijn database niet voor elkaar.
wat u heeft gemaakt werkt bij mij niet
ik heb het net zo over genomen maar hij kent het veld "aantal" niet
Wilt u , als u tijd heeft dit uitleggen ?

Het is knap gedaan door u

groetjes Natalie
 
Kun je de database weer even uploaden? Dan kan ik kijken waar het mis gaat.

En bedankt voor je lovende woorden maar zo knap is het niet hoor :p Ben ook maar een amateur.
 
Beste Paul,

Ik heb nog eens alles nagekeken , en zag dat er een veld in de tabel fotos is bijgekomen, en allen hebben ze de waarde 1.
heb dit in mijn database ook gemaakt en na het proberen kwam ik er achter dat het veld "aantal" een standaard waarde van 1 heeft,
ik heb dit ook in de tabel fotos aangepast en nu werkt het wel.
Maar hoe ? ... Onder in de voettekst staat het veld text15 met daarin "=Som([Aantal])" ,dat telt alle 1 tjes.
en boven in het formulier staat het veld "text7" en daarin staat "=[Fotos Subformulier].[Form]![Text15]" .
maar hoe kan hij nou zien dat er 2 , 3, of 5 fotos in een box zitten.

Graag wil ik eigenlijk weten wat er nou gebeurd

groetjes Natalie.
 
Ik neem aan dat je het veld Aantal numeriek hebt gemaakt en ook aan je subformulier hebt toegevoegd? Zo ja, dan kun je er berekeningen op los laten omdat het een numeriek veld is. De functie "=Som([veldnaam])" (in dit geval dus =Som([Aantal])) telt niet zozeer alle 1 tjes maar telt alle waardes in het veld bij elkaar op.

Als je in de Formulierweergave van het subformulier kijkt (dus niet in de Gegevensbladweergave want daar zie je het niet) dan zul je zien dat daar het totaal aantal foto's staat van alle boxen bij elkaar (9 stuks, tenzij je er inmiddels meer hebt ingevoerd).

Als je echter naar je hoofdformulier gaat dan zie je dat hij daar het totaal aantal foto's aangeeft van de box die je op dat moment geselecteerd hebt. Dus 2 foto's in Box 1, 1 foto in Box 2, 2 foto's in Box 3, etc.
En als je het aantal van een foto wijzigt dan zul je zien dat het totaal aantal automatisch aangepast wordt.

De eigenschap Standaard Waarde van een veld in een tabel (of in een formulier, daar kan het ook) geldt alleen voor nieuwe records die je invoert, zodat je niet bij elke nieuwe invoer het aantal hoeft in te geven. Maar als het aantal een keer anders is dan de standaard waarde kun je het wel aanpassen. Zo zou je bijvoorbeeld in Box 5 die 3 foto's van Chelsey die je nu stuk voor stuk hebt ingevoerd ook in 1 record kunnen zetten met het aantal 3.

wordt vervolgd....
 
Zoals gezegd zie je het tekstvak met het totale aantal niet in de Gegevensbladweergave van het subformulier. De Gegevensbladweergave is de meest eenvoudige weergave waar toegevoegde besturingselementen zoals labels, tekstvakken en knoppen niet zichtbaar zijn. Aangezien jij de standaardweergave van het subformulier op Gegevensblad hebt gezet (wat prima is trouwens) zie je het tekstvak met het totale aantal dus ook niet op het hoofdformulier. Daarom heb je daar dus een tekstvak nodig dat verwijst naar het tekstvak met het totale aantal op het subformulier en dat doe je met de functie "=[naam subformulier].[Form]![naam besturingselement]".
In dit geval dus "=[Fotos Subformulier].[Form]![Text15]".

Overigens nog een opmerking over de naam van je subformulier: Access houdt niet zo van spaties in namen, dat kan soms problemen geven. 'FotosSubformulier' of 'Fotos_ Subformulier' was dus beter geweest.
 
Laatst bewerkt:
Dan nog even terug naar de reden waarom het oorspronkelijk niet werkte in jouw database. Je had het veld 'BoxNRID' twee keer op je formulier gezet en je wilde in één van die weergaven het totaal aantal foto's zien. Dat gaat nooit werken. Ook al zet je een veld 10 keer op een formulier dan zul je 10 keer dezelfde gegevens zien. En als je de gegevens in 1 van de 10 weergaven wijzigt dan zullen de andere 9 weergaven meteen mee-wijzigen, simpelweg omdat ze allemaal hetzelfde veld in de tabel als bron hebben.

Bovendien was het in dit geval ook nog eens een Autonummeringsveld en die kun je sowieso nooit wijzigen.
 
Dan nog wat anders (en dan hou ik m'n mond voorlopig :)): in principe probeer je in een database elk gegeven slechts 1 keer vast te leggen. Dat scheelt opslagruimte en het verhoogt de snelheid.
In de tabel Fotos zie je een herhaling van gegevens: 3 keer Merlinde, 3 keer Chelsey, 3 keer Zandvoort, 3 keer Egmond, etc. etc.
Wat je zou kunnen doen is aparte tabellen maken voor je modellen, de plaatsnamen, de ISO-waarden en de sluitertijden. En in elke tabel voeg je dan een autonummeringsveld toe (een ID).
Vervolgens voeg je deze ID's toe aan de tabel Fotos (als numeriek veld) en je legt de koppelingen in het scherm Relaties.

Daarna voeg je de ID-velden uit de tabel Fotos toe aan het Fotos Subformulier en wijzig je ze in 'Keuzelijst met Invoervak'. Daarmee kun je dan keuzelijsten maken waarin je het model, de plaatsnaam, de ISO-waarde en de sluitertijd kunt selecteren. Dat hoef je dan niet meer allemaal in te typen en in je tabel Fotos worden alleen de ID-nummers opgeslagen i.p.v. steeds dezelfde teksten.

Daarmee heb je dan echt een relationele database. Maar misschien ga ik nu te snel voor je? :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan