laatste datum in rapport

Status
Niet open voor verdere reacties.

Dicklz

Gebruiker
Lid geworden
13 mei 2014
Berichten
14
Hallo allemaal,

Ik ben bezig met een database voor een begraafplaats en wil een rapport maken waarin alle graven staan met daarachter de laatste datum wanneer iemand is bijgezet in dat graf. Ik ben bezig geweest met DMin, maar ik kom hier helaas niet uit.
Ik hoop dat iemand mij hiermee kan helpen, het liefst in Jip en Janneke taal, want ik ben nog niet zolang met Access aan de gang.
Alvast bedankt,


Dick

Bekijk bijlage test begraafplaats 15-5.rar
 
Dmin haalt de eerste waard op, niet de laatste. Daarvoor gebruik je Dmax. Datums zijn getallen, en hoe later de datum, hoe groter het getal. Met Max kom je dus ook een heel eind.
 
Michel,

zoals ik het zie moet ik een filter hebben dat per graf de laatste datum (=hoogste getal) weergeeft. Hoe doe ik dat?
 
Ik zal vanavond even naar je db kijken. Eerst eten :)
 
En waar wil je die functie dan toepassen? Is nu nog een zoekplaatje... Althans: ik kan het rapport niet vinden!
 
Michel,
Ik zie geen kans meer om vanavond e.e.a. op te sturen, dat wordt morgen. Vast bedankt voor de hulp

Dick
 
Is goed. Hou er wel rekening mee dat ik morgen dienst heb bij de verkiezingen, en dus érg weinig tijd (if any) heb om draadjes te lezen. Dus het kon wel eens vrijdag worden voordat ik er naar kan kijken. Neemt niet weg dat er voldoende anderen zijn die de kennis ook hebben. Als de kat van huis is...
 
Dit zijn 2 formules die je kunt gebruiken in je query:
Code:
Expr1: DMax("[Overlijdensdatum]";"Begraafplaats";"[Grafnummer] = '" & [Grafnummer] & "'")
en
Code:
Expr2: DLast("[Overlijdensdatum]";"Begraafplaats";"[Grafnummer] = '" & [Grafnummer] & "'")
Ze geven, als het goed is, de laatste datum, waarbij de functie Last nog een beetje onbetrouwbaar is in dit geval, omdat Last naar de toevoegdatum kijkt. En dat hoeft dus niet noodzakelijkerwijs de hoogste datum te zijn. DMax doet dat gegarandeerd wel.
 
Michel,

dank je wel voor de oplossing het werkt goed op de eerste record na. Wat ik graag nog zou willen weten is hoe je elk grafnummer maar 1x vermeld wordt in je rapport. Verder krijg ik wanneer ik het rapport start de volgende boodschap in een pop-up:

Parameterwaarde opgeven Query1.Grafnummer

Ik heb het bestand bijgevoegd zodat je kunt zien wat ik bedoel.
Alvast bedankt voor de hulp


Dick

Bekijk bijlage test begraafplaats 22-5-14 a.rar
 
Ik had hetzelfde probleem, tot ik de Relaties controleerde en daar zag dat je die verkeerd hebt gemaakt. D.w.z. je hebt nog wel [Graven].[Grafnummer] gekoppeld aan [Begraafplaatsen].[Grafnummer], maar geen <Referentiële integriteit afdwingen> aangevinkt. Nu is de relatie volkomen waardeloos, en kun je net zo goed Grafnummer koppelen aan Tussenvoegsels, de relatie zal net zo goed (dus slecht) werken.
Je zult merken dat als je <Referentiële integriteit afdwingen> in de relatie [Graven].[Grafnummer] --> [Begraafplaatsen].[Grafnummer] aanvinkt, dat je de relatie niet kunt opslaan. Dat is een veeg teken, want dat betekent dat de Gegevenstypes niet overeenkomen. En dat moet je dus eerst oplossen. Het is al voldoende als je de invoermaskers gelijk maakt, en de veldlengte (die klopt nu namelijk niet). Heb je de <Referentiële integriteit> voor elkaar, dan klopt je query ook weer.
 
Michel,

Ik krijg het niet voor elkaar om de <Referentiële integriteit> voor elkaar te krijgen. Het type veld, de veldlengte en het invoermasker zijn voor beide tabellen gelijk, maar als ik <Referentiële integriteit> aanvink krijg ik de boodschap: :"Microsoft Access kan geen relatie maken waarvoor referentiële integriteit moet worden afgedwongen.
De gegevens in de tabel Begraafplaats zijn strijdig met de regels voor referentiële integriteit. De gerelateerde tabel bevat bijvoorbeeld records die verwijzen naar een werknemer terwijl de primaire tabel geen overeenkomende record voor de werknemer bevat. ....."
Ik heb geen idee wat er fout kan zijn.

Groet,


Dick

Bekijk bijlage test begraafplaats 22-5-14 a.rar
 
Wellicht dat er een record is met een spatie o.i.d. Welke veldlengte gebruik je? De voorbeelden (en het invoermasker) gaan uit van 3 tekens, dus als je dat instelt als veldlengte in beide tabellen, dan vang je al een hoop ellende af denk ik. Bij mij werkte dat in ieder geval goed; daarna kon ik de tabellen probleemloos koppelen.
 

Bijlagen

Michel,

het koppelen van de tabellen is gelukt:d Ik krijg nog wel de melding Parameterwaarde opgeven Query1.Grafnummer. Als ik enter druk dan is het wel weg, maar het is vreemd. In mijn query heb ik nog steeds dubbele grafnummers. Hij zou in feite unieke nummers moeten laten zien. Ik heb een nieuwe database bijgevoegd.
Alvast bedankt,


Dick

Bekijk bijlage test begraafplaats 22-5-14 a.rar
 
@ Dick,
Indien je de DMax formule van Michel (ietsje gewijzigd om als resultaat 1 of 0 te geven) toepast in je query, dan kun je in het rapport (waarvan de naam ook begint met "Query" ?) filteren op die 1 of 0 en zo de unieke grafnummers bekomen (in het rapport, niet in de query), zie bijlage.
 

Bijlagen

Laatst bewerkt:
Dat je in de query dubbel graven ziet is niet zo boeiend, want dat mag. Sterker nog: moet :). In je rapport (waar de query de basis voor vormt) maak je vervolgens een groepeerniveaunaan op basis van het Grafnummer, en dan zet je het Grafnummer in de Groepskoptekst. iegelijk zet je daar alle grafgegevens neer. Dat zorgt er dan voor dat je de gegevs nog maar één keer ziet. In d detailsectie zet je dan de deelgegevens.
Vaak is het mooier om de labels van de velden naar de Koptekst te verhuizen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan