uren berekenen in access 2007

Status
Niet open voor verdere reacties.

Pvg1907

Gebruiker
Lid geworden
18 okt 2012
Berichten
9
Beste access kenners,
ik heb voor mezelf een tabel gemaakt met daarin uren kolommen
kolom 1 tijd vertrek thuis
kolom 2 tijd begin cursus
hiervan heb ik een query gemaakt waarin die tijden naast elkaar staan
ik krijg het niet voor elkaar om in de derde kolom het verschil in een query te krijgen tussen deze twee tijden
(bij eigenschappen heb ik ze op korte tijd notatie staan)
ik heb ze nodig om mijn reistijd te kunnen berekenen
heeft iemand voor mij de manier hoe ik dat kan doen?
alvast dank voor de genomen moeite
Groet
PvG
 
Is het niet een idee om een derde kolom te maken met een berekend veld waarbij het verschil van de eerste twee kolommen wordt weergegeven. In een rapport gebaseerd op deze tabel kun je dan een totaalveld (tekstvak) opnemen in de voettekst gebaseerd op de expressie (som van het berekend veld)
 
Als de twee kolommen correcte data bevatten, kun je ze gewoon van elkaar aftrekken.
Code:
Reistijd: [Start cursus] - [Vertrektijd]
zou dan het resultaat moeten laten zien.
 
Nog wat: vergeet de tip van Jaap: loop met een grote boog om berekende velden heen, die horen niet thuis in een goede database :).
 
@octafish: je bedoelt de genoemde expressie als derde veld in de query ipv het berekende veld in de tabel?
Hoe kun je hier dan zo eenvoudig mogelijk een totaal van maken??
 
Heel simpel: niet doen. In een database sla je nooit (niet helemaal waar, maar wel in dit geval) berekeningen op. Daar zijn queries voor. Wat je absoluut nooit doet: gegevens opslaan die af te leiden zijn uit andere velden uit hetzelfde record. Normalisatieregel nummer 2 als ik mij niet vergis.
 
Als de twee kolommen correcte data bevatten, kun je ze gewoon van elkaar aftrekken.
Code:
Reistijd: [Start cursus] - [Vertrektijd]
zou dan het resultaat moeten laten zien.

Alvast bedankt voor de reactie;
als ik bovenstaande opbouw en uitvoer krijg ik het volgende resultaat
08:00-06:30 geeft als resultaat in kolom 3 0,0625
hier zou ik dus 1:30 willen zien staan
hoe kan ik dat voor mekaar krijgen ?
groet,
PvG
 
Je resultaat is correct, nu je opmaak nog. Tijden zijn, net als datums, getallen. Getallen kun je van elkaar aftrekken, en getallen kun je moet een andere opmaak een ander smoel geven. Je moet de berekening dus de opmaak "Korte tijdnotatie" geven.
 
GELUKT !!
Je wil niet weten hoeveel tijd ik hier aan gezeten heb
ik klikte steeds op eigenschappen en kreeg dan een drop down menu, maar daarin stond "korte tijdnotatie" niet in
ik heb het nu gewoon getypt en het is helemaal voor mekaar
ik ben blij
dank je OctaFish !
 
Formules zijn geen veldtype; vandaar dat Access niet op eigen houtje kan zien welke waarden er in staan. In dat geval moet je dus zelf uitzoeken welke notatie je wilt hebben. Dit kan ook, als je bijvoorbeeld ook secondes wilt zien: "hh:nn:ss".
 
oke,
als ik secondes wil hebben, dan moet ik bij eigenschappen "lange tijdnotatie" kiezen
dank je
 
Die werkt ook; ik wou alleen laten zien hoe je een opmaak met eigenschappen kunt maken :).
 
dat werkt inderdaad ook.
ik heb nog het een en ander te leren in access maar dat komt met de tijd
nogmaals dank
 
ik heb in mijn basistabel de datums ook zitten van zowel 2015 als 2016
ik wil twee query's maken om er uiteindelijk weer aparte rapporten van te kunnen maken
een voor 2015 en een voor 2016
hoe kan ik in het ontwerp van de query bij criteria aangeven dat ik bij de een alleen 2015 wil hebben en bij de ander alleen 2016 wil zien?
 
Stel dat je in je query een veld "date" opneemt met daarin een datum waarvan je enkel het jaar wilt gebruiken dan maak je daar bv gewoon van
Code:
Datum: Format([Date];"yyyy")

Je verwijst dan naar dat veld via bv een keuzelijst met een hoop jaartallen in een pop-up formuliertje dat je tussentijds opent.
 
hey johan
bedankt voor jouw reactie
ik bedoel eigenlijk dat mijn query de volledige lijst met datums moet laten zien van het jaar 2015
en de andere query de volledige lijst met datums laat zien van het jaar 2016
misschien had ik het niet goed omschreven
is daarvoor een makkelijke oplossing ?
 
Het idee van 2 queries vind ik overigens heel slecht, gewoon één query met een filter gebruiken. Nu blijf je elk jaar bezig.
En gebruik voor een jaartal de functie Year([Datum]) en niet Format.
 
bedankt beide
ik ben nu zover dat ik een query heb, maar wel met een extra kolom waarin alleen het jaartal komt staan.
als ik hiervan een rapport maak, dan filter ik in het rapport de kolom met alleen het jaartal om 2015 en 2016 uit elkaar te houden.
op mijn rapport komt dan wel die ene kolom staan met daarin 2015 of 2016 achter elke regel
kan dat nog weg of moet ik daar gewoon mee leren leven ?
 
Als je de db af heb, en al je formulieren staan er op, zit daar vast en formulier bij waarin je selecties kunt maken. En waarme je dan een rapport of formulier opent. Want zo zou ik het doen. Beperk het aantal formulieren en rapporten, en gebruik een startformulier met filters om de juist data te filteren. Bouw geen dingen in die je niet nodig hebt.
Tot het zo ver is zou ik zeggen: zet in het veld Jaartal dat je in de query hebt gemaakt een criterium dat om een jaartal vraagt. Ben je ook van het probleem af.
Oh ja: hoe je filter formulieren maakt staat in de Access cursus :).
 
Mensen bedankt !
ik ben goed geholpen !
tot de volgende keer
groet,
PvG
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan