optellen van waarden in Acces

Status
Niet open voor verdere reacties.

Metcon

Gebruiker
Lid geworden
21 apr 2004
Berichten
7
Dag forumleden......dit is mijn eerste bezoek aan dit forum....dus ik groet u !!!

Ik stoei al een paar dagen met een Acces probleem en vraag jullie hulp, want zelf kom ik er niet uit....!!

Ik zal mijn probleem even uitleggen en misschien kunnen jullie mj dan helpen>...

Ik ben een analyse programma aan het ontwikkelen waarin werkzaamheden van monteurs komen te staan.
De werkzaamheden kunnen bestaan uit Preventief onderhoud en Correctief onderhoud.
In de analyse is een storinglijst ingebouwd, waarop men storingen aan de machine in kan vullen....dus: 12 storingen aan de machine betekent 12 taken voor de monteurs.....
bij elke taak krijgt men de keus is het preventief of correctief onderhoud en wat is de tijdsduur van de klus...
wat ik nu aan het eind wil weten is wat is de totale tijdsduur van al de preventieve onderhoudstaken die er zijn.....dus over alle analyses en over indivudele analyses.
De tijdsduur is een invul vak en staat voor taak 1 in de tabel taak1....en voor de taak 2 in tabel taak 2 etc...tot taak 12.

VRAAG: Hoe krijg ik nu al deze specifieke velden bijelkaar en opgeteld!!!

HELP !!!!
 
Door in een query alle velden bij elkaar op te tellen. Indien je een uitwerking wil moet je eerst met een datastructuur komen (voorbeeldbestand).

Waarom gebruik je voor elke taak een aparte tabel, kun je niet gewoon veel beter alle taken in één tabel onder brengen en een kolom taaknummer toevoegen?
 
Maar hoe laat is ze optellen dan? met welke specifieke code of term kan ik deze optelling tot stand brengen???
 
Ben je bekend met selectie query's? In de query krijg je iets als
SELECT tabel1.veldnaam + tabel2.veldnaam
FROM tabel1,tabel2
WHERE veldnaamonderhoudpreventief = 'preventief'

Hoe je de tabellen moet koppelen (extra voorwaarde onder de WHERE component) hang af van je datastrustuur, maar als je nou gewoon één tabel maakt met alle taken daarin dan kun je gewoon.

SELECT sum(veldnaam)
FROM tabel1
WHERE veldnaamonderhoudpreventief = 'preventief'

met sum tel je alle waarden automatisch bij elkaar op, dat maakt het leven een stuk simpeler
 
Beste flBos !!!

Ik heb jou antwoord uitgeprobeerd en het werkt !!!!

(helaas tot op zeker hoogte) !!!

Als ik namelijk bijvoorbeeld eerst 5 preventieve taken heb en de rest correctief..dan stopt de optelling....heb ik dan 12 preventieve taken dan telt hij rustig door en krijg ik er een waarde uit....

weet je ook hoe ik in het geval van geen preventieve taak toch een waarde, bijv. de waarde nul, ingevuld krijg....want een nul telt ie natuurlijk gewoon op!!!

graag je reactie!
 
Kun je in de query niet gewoon selecteren op het soort onderhoud, zodat je alleen de preventieve taken selecteert en daar de werkduur van optelt. Met zoiets als:

WHERE veldnaamonderhoudpreventief = 'preventief'

Of heb je zo'n veld niet in de tabel staan?
Als je wil dat in een bepaalde kolom een 0 in wordt gevuld als standaard dan moet je dit in tabelontwerp doen. Je kiest daar het veld en kunt een standaardwaarde invullen. Je kunt ook het gegevenstype bepalen, waar heb je dat momenteel op staan?
 
standaard waarde = 0 ?!

Beste flBos !!!

Ik heb jouw tips gebruikt en heb de standaard op nul gezet...
in de schermweergave krijg ik inderdaad nu een nul te zien, maar nog steeds lukt de optelling niet....
ik heb het idee dat het programma vast loopt zodra ik niet alle taken preventief heb.....dus stel ik doe eerst 6 preventieve taken en dan 6 correctieve...dan geeft het resultaat niet in het antwoord van de query....maar vul ik overal preventief in dan doe het het wel, maar geeft het programma een ontzettende grote rij getallen!

Weet je of er een marcotekst is waarmee je kan zeggen: als het geen preventief is, vul dan toch een 0 in....of zoiets..

Graag stuur ik je een "foto" van hoe ik mijn query heb opgebouwd....zodat je misschien even mee kan kijken!!!
want zelf kom ik er echt niet uit!!

groet Metcon
 
Waarden optellen uit verschillende tabellen

Beste forumleden...

Graag u tips of hulp bij het oplossen van een optel probleem in Acces!!!

Ik heb een programma waar ik 12 tabbladen heb gemaakt. De gegevens van elk tabblad staan in een eigen tabel.....op elke van deze tabbladen worden gegevens ingevuld omtrent machineonderhoud.
De gegevens bestaan uit een taakomschrijving, en een keuze uit preventief of correctief onderhoud. Daarnaast worden de manuren ingevuld en de benodigde aantal mensen voor de klus.
Wat ik nu graag wil hebben is een mogelijkheid dat ik, als het preventief onderhoud betreft !!, de uren van alle preventieve taken bij elkaar optel!

Wat heb ik al.!!
Ik heb al de optelquery waar ik de waarden optel, maar mijn probleem is als volgt.
Stel ik heb 1 analyse met 12 taken. Dit betekent dus 12 tabbladen. Als is overal 1 uur preventief onderhoud invul dan krijg ik keurig 12 uur totaal te zien.
Maak ik van één van de taken Correctief onderhoud, dan loopt het programma als het ware vast en genereerd geen totaalgetal!!!
Mijn vraag is dan ook: Hoe kan ik zorgen dat het programma....indien Correctief onderhoud gekozen toch een waarde nul invult. waardoor de optelling toch tot staand komt ???? ook al heb ik bijvoorbeeld maar 3 taken i.p.v. 12

Tevens heb ik het volgende probleem!
Nu heb ik 1 analyse met 12 taken, maar maak ik daarbij een tweede analyse met bijvoorbeeld 12 taken dan genereerd het programma een gigantische rij (513) met getallen, waar ik dus eigenlijk maar 2 rijen wil hebben.
Het geheel moet ook opgaan als ik bij beide analyses maar bijv. 3 taken/tabbladen heb.

graag jullie hlup, want ik kom er echt niet uit!!!

groet.
 
Als je ej query in SQL view zet zie je alleen maar tekst. Plaats deze tekst op het forum en dan zien we wel wat er mis is.

Maar waarschijnlijk moet je ergens een IIF functie gebruiken. Hiermee kun je controleren of een waarde > 0 is, zoiet als IIF(uren>0;uren;0)


Grtz,
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan