Datumvelden meerdere tabellen vergelijken

Status
Niet open voor verdere reacties.

dicbro2

Gebruiker
Lid geworden
19 mei 2014
Berichten
5
Hoi
Ik heb heel internet afgestruind en weet het even niet meer.

Ik heb twee tabellen in Access met daarin in beide tabellen een datum.
Nu wil ik een veld vullen met een bepaalde waarde die afhangt of datum 1 groter is dan datum 2.
IIf([Datum1]>[Datum2];[Veld1];[Veld2])

Echter dit levert als resultaat een leeg veld op.

Waar gaat het mis?

Groet
Marion
 
Kun je iets beter uitleggen wat de bedoeling is? Je hebt het over 2 tabellen; zijn die aan elkaar gekoppeld? En wat bedoel je hier mee?
Nu wil ik een veld vullen met een bepaalde waarde die afhangt of datum 1 groter is dan datum 2. IIf([Datum1]>[Datum2];[Veld1];[Veld2])
Een 'veld vullen' doe je in één van de 2 tabellen. Maar vullen met wat? Waar komen Veld1 en Veld2 vandaan?
 
Crossposten zonder dat te melden wordt niet echt op prijs gesteld. Nu laat je mensen onafhankelijk van elkaar naar dezelfde oplossing zoeken, en dat is dus niet netjes. Iedereen steekt tenslotte op vrijwillige basis zijn/haar eigen vrije tijd in het zoeken naar een oplossing. Je hebt de vraag ook op hier gesteld.
 
Zoals eerder in andere thread vermeld, excuus voor het dubbel plaatsen.
Ik waardeer de inzet van een ieder die andermans problemen helpt oplossen.
De andere thread heb ik op status opgelost gezet en ga nu op deze site verder.
 
Laatst bewerkt:
Goeie keus :). Al was het maar omdat dit forum voor mijn gevoel toch wat meer gelezen/bekeken wordt dan OfficeForum, dat sinds de verhuizing nog lastig gevonden wordt. Maar ik heb al een paar dagen een paar vragen gesteld; heb je daar al antwoord op?
 
Dat idee had ik ook en na veel struinen hier, ben ik echt onder de indruk van je access-kennis.
Ik heb een tabel met een uniek ID, naam, adres, postcode, woonplaats, oppervlakte, basisdatum. Dit gebruik ik als basistabel en geeft de stand van zaken weer per 16-6-2013 (=basisdatum).
Dit bestand ga ik bijwerken (vanuit een papieren stapel met wijzigingen) naar de datum per heden, stand van zaken nu. Van elk veld dat ik ga wijzigen wil ik de historie bewaren, dus heb ik van elk veld een afzonderlijke tabel gemaakt met daarin het unieke ID, datum en veldnaam. Dus T-Naam met UniekId, Naam, mutatiedatum dan T_Adres met UniekID, adres en mutatiedatum enz. Ook wil ik alle wijzigingen in beeld hebben, dus wanneer bijvoorbeeld een adres gewijzigd is. per uniekID kunnen meerdere mutaties plaatsvinden in de loop der tijd.

Via een totaalquery wil ik dan de huidige stand van zaken in beeld brengen, dus als de mutatiedatum recenter is dan de basisdatum, dan moet hij het veld weergeven uit de losse tabel, zijn er geen wijzigingen dan moet de waarde van de basistabel worden weergegeven.

Mijn kennis van access is niet top en ik dacht dat dit zo de beste manier was om zo een mutatiebestand op te bouwen en de gegevens te bewaren.

Een voorbeeld om e.e.a te verduidelijken, dit staat in het basisbestand:

ID Naam Adres Plaats Oppervlakte Basisdatum
100 Bedrijf1 Straat Fictief 100 16-06-2013

Op 01-09-2013 verandert bedrijfsnaam in bedrijf2, dan wordt dan in mijn tabel Naam weggeschreven met uniek-Id, nieuwe naam en wijzigingsdatum.
Op 01-01-2014 verandert oppervlakte in 200, tabel Oppervlakte wordt uniek-Id, nieuwe oppervlakte en wijzigingsdatum.

De actuele stand van zaken roep ik op via de totaalquery waarbij per veld de laatste datum wordt opgeroepen, die wordt dan vergeleken met de basisdatum en afhankelijk van die uitkomst wil ik het veld of uit de basistabel of uit de mutatietabel van dat veld hebben.

Zucht, of heb jij een meer eenvoudige oplossing om tot zoiets te komen?
 
@Octafish Zou jij bereid zijn (om tegen vergoeding) bovengenoemde database op te zetten? Of vraag ik nu iets heel raars?
 
Vragen zijn (meestal) niet raar, hooguit de antwoorden :). Ik zou je een andere structuur aanraden dan
... dus heb ik van elk veld een afzonderlijke tabel gemaakt met daarin het unieke ID, datum en veldnaam.
Ik heb voor één van onze eigen databases een historietabel gemaakt die met één tabel werkt en voor elke mutatie een record aanmaakt met Datum, Tijd, User, RecID, Tabelnaam, Veldnaam, Oude waarde en Nieuwe waarde.
Wordt er in een tabel iets gewijzigd, dan worden alle veranderde gegevens dus weggezet naar dezelfde historietabel. Het formulier doet dat op basis van de gewijzigde velden op het formulier, zodat de gebruiker eigenlijk niks hoeft te doen behalve muteren natuurlijk. Voordeel van één tabel is natuurlijk dat je alle mutaties gewoon kunt laten zien in een doorlopend formulier. In mijn systeem kun je ook een specifieke mutatie herstellen, of door alle mutaties vanaf een bepaald punt terug te zetten.
Maar het is dus goed te maken.
Ik zou zeggen: stuur me een berichtje met je contactgegevens, en dan kijken we wel of het haalbaar is voor mij (qua tijd etc).
 
Heb 'm beantwoord :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan