Weergeven van een geschiedenis

Status
Niet open voor verdere reacties.

Rommyke

Gebruiker
Lid geworden
29 mrt 2007
Berichten
357
Hoi allemaal ,

mijn geschiendenis van veranderde gegevens worden opgeslagen in een tabel History.


Als je nu de form frmWerknemersinfo opent kan je een History bekijken van die bepaalde persoon.

Ik zit echter nog met een probleem.

In mijn form frmhistory:

1) op het moment krijg ik alleen de cijfers weer die in mijn tabel staan en niet de namen

2) Als er maar 1 gegeven veranderd is moet hij enkel de veranderde gegevens weergeven en niet allemaal zoals ze in de tabel staan
 

Bijlagen

Laatst bewerkt:
1) op het moment krijg ik alleen de cijfers weer die in mijn tabel staan en niet de namen

Query maken waarin je de tabel met namen opneemt en deze joint met je ander tabel.

2) Als er maar 1 gegeven veranderd is moet hij enkel de veranderde gegevens weergeven en niet allemaal zoals ze in de tabel staan

Zul je met VBA moeten oplossen.

Groet,

Tardis
 
Query maken waarin je de tabel met namen opneemt en deze joint met je ander tabel.

hoi tardis ,


Ik zou dit ook met VBA willen doen .


Is het niet mogelijk om een listbox te maken en zo die waarde erin te zetten ?

Als je nu op detail klik in je form frmhistory krijg je een messagebox welk veld je veranderd maar niet de naam.
Als we het veld (afdelingsnaam) en de nieuwe afdelingsnaam nu eens allebei in een listbox zetten ?
 
Ik zou dit ook met VBA willen doen .
Is het niet mogelijk om een listbox te maken en zo die waarde erin te zetten ?

Hallo Rommyke,

nogmaals, gebruik een query, VBA heb je hiervoor helemaal niet nodig.
Heb er illustratie een aantal formulieren en 1 query aangepast.
Zie bijlage, aangepaste formulieren en de query heten blabla_AANGEPAST.

Voor je tweede vraag moet er voor zorgen dat alleen gewijzigde gegevens worden opgeslagen.
Daarvoor moet je de code die nu toepast aanpassen.
Wellicht dat de links in deze link

http://www.utteraccess.com/forums/showflat.php?Cat=&Board=83&Number=1431073

je daarbij inspiratie geven.

Groet,

Tardis
 

Bijlagen

Hoi Tardis,


Al bedankt , ben een heel stuk verder gekomen ,

maar er zit nog ergens een foutje in .

Als ik mijn review history oproep krijg ik de history van iedereen en niet alleen van die persoon die in mijn werknemersinfo staat .

Kan je eens checken ?
 
Heb het gevonden

in de qeury moest er nog als criteria '[Forms]![frmWerknemersInfo_aangepast]![WerknemersID] 'bijkomen

en overal 'group by'.

Vraag me niet waarom , maar dit lijkt me te werken
 
Laatst bewerkt:
Hallo Rommyke,

in de qeury moest er nog als criteria '[Forms]![frmWerknemersInfo_aangepast]![WerknemersID] 'bijkomen en overal 'group by'.

Nee hoor, dat hoeft zekers niet in mijn aangepaste formulieren en query.
Formulier frmHistory werkt in mijn geval zo, dat je dat formulier los kan openen ;)
Formulieren wil je in de regel namelijk zo opzetten, dat ze direkt te openen zijn.
Dat geeft je meer flexibiliteit en is tevens gebruikersvriendelijker.

Groet,

Tardis
 
Hallo Rommyke,



Nee hoor, dat hoeft zekers niet in mijn aangepaste formulieren en query.
Formulier frmHistory werkt in mijn geval zo, dat je dat formulier los kan openen ;)
Formulieren wil je in de regel namelijk zo opzetten, dat ze direkt te openen zijn.
Dat geeft je meer flexibiliteit en is tevens gebruikersvriendelijker.

Groet,

Tardis

Hoi Tardis,

daar ben ik volledig bij eens dat als je uw query los kunt openen dat het meer flexibiliteit geeft en gebruiksvriendelijker is .

De form 'FrmHistory_AANGEPAST' openen op zijn eigen werkt perfect,
maar er zit ergens een foutje dat als je in form 'frmWerknemersInfo_AANGEPAST' zit en je klikt op ' review History ' je alle history krijgt .Als je naar 2de persoon gaat en je drukt Review history, krijg je history van eerste persoon te zien .

Code:
Private Sub cmdHistory_Click()
    DoCmd.OpenForm "frmHistory_AANGEPAST", , "WerknemersID= " & Me.WerknemersID & ""
    End Sub

misschien ergens iets fout in bovenstaande regels ??:confused:

Zelf krijg ik het niet gevonden .

Krijg het wel aan het werk als ik criteria ingeef in de query maar dan is de flexibiliteit weg natuurlijk , wat jammer is .



Groetjes
Romain
 
Hallo Romain,

foutje aan mijn kant, komma vergeten in de code.
Code moet zijn

Code:
Private Sub cmdHistory_Click()
DoCmd.OpenForm "frmHistory_AANGEPAST", , , "WerknemersID= " & Me.WerknemersID & ""
End Sub

Groet,

Tardis
 
Super Tardis :thumb:


Werkt nu als een klokje .

Tardis waarom extra gebruik gemaakt van onderstaande code ?
Code:
 If CurrentProject.AllForms("frmWerknemersinfo_AANGEPAST").IsLoaded Then
    Forms("frmWerknemersInfo_AANGEPAST").Visible = False
    End If
 
Tardis waarom extra gebruik gemaakt van onderstaande code ?

Omdat je frmWerknemersInfo_AANGEPAST op niet zichtbaar zet in de Bij Openen gebeurtenis van frmHisory_AANGEPAST.
Ik wil frmHistor_AANGEPAST ook direkt kunnen openen.
Daarvoor check ik dan of je "Info" scherm geladen is of niet.

Groet,

Tardis
 
Ben het nu helemaal aan het verliezen.

In mijn Query worden de gegevens niet opgenomen van diegene waarbij het werknemersID boven de 30 liggen ?

Met mijn query is ook iets fout denk ik

Code:
SELECT TBlHistoryWerknemers.WerknemersID, TBlHistoryWerknemers.Date, TBlHistoryWerknemers.Historycode, TBlHistoryWerknemers.VeldenUpdated, TBlHistoryWerknemers.Comments, Afdelingen.Afdelingsnaam, Crews.CrewNaam, looncodes.Looncode, Statuten.StatuutNaam, Funkties.FunktieNaam, GetActionList([HistoryCode]) AS ActionTaken
FROM Afdelingen INNER JOIN (Statuten INNER JOIN (looncodes INNER JOIN (Crews INNER JOIN (Funkties INNER JOIN TBlHistoryWerknemers ON Funkties.FunktieID = TBlHistoryWerknemers.Funktienaam) ON Crews.CrewId = TBlHistoryWerknemers.Crewnaam) ON looncodes.LooncodeID = TBlHistoryWerknemers.Looncode) ON Statuten.StatuutID = TBlHistoryWerknemers.Statuutnaam) ON Afdelingen.AfdelingsID = TBlHistoryWerknemers.Afdelingsnaam
GROUP BY TBlHistoryWerknemers.WerknemersID, TBlHistoryWerknemers.Date, TBlHistoryWerknemers.Historycode, TBlHistoryWerknemers.VeldenUpdated, TBlHistoryWerknemers.Comments, Afdelingen.Afdelingsnaam, Crews.CrewNaam, looncodes.Looncode, Statuten.StatuutNaam, Funkties.FunktieNaam, GetActionList([HistoryCode]);
Tardis , als ik mijn query samenstel moet ik bij TOTAL 'Group by' zetten anders komt daar expresion te staan .

Wat ben ik fout aan het doen ??
 
Laatst bewerkt:
Er wordt niks meer opgenomen door de Query , heb de query al opnieuw proberen te maken maar zonder resultaat
 
Hallo Romain,

zonder voorbeeldbestand is het onmogelijk te bekijken waar het fout gaat.
Ik zou je query vanaf je vorige versie stap voor stap uitbreiden met een tabel, net zolang tot het mis gaat.
Dat je GROUP BY moet gebruiken terwijl dat in principe niet nodig zou moeten zijn, wijst er in ieder geval op dat er iets niet jofel zit.
Wijzig in ieder gevalde kolomnaam Date.
Date is een gereserveerd woord in Access en gebruik je beter niet als objektnaam.
Kan goed zijn dat daar je probleem door ontstaat.

Dat je query niets ophaalt zou wel eens aan je JOIN types kunnen liggen.
Als er aan 1 INNER JOIN niet wordt voldaan, levert je query geen resultaten op.
Je zult waarschijnlijken of meerdere INNER JOINS moeten vervangen door LEFT of RIGHT JOINS.
Ook hier geldt weer dat je je query het beste vanuit je laatste versie opbouwt, tabel met gebruik van INNER JOINS toevoegen totdat het mis gaat en dan de laatste INNER JOIN door een LEFT of RIGHT JOIN vervangen.
Zul je even zelf uit moeten proberen.

Groet,

Tardis
 
hoi Tardis ,

Heb het terug aan het werk gekregen :D

Ben super blij ... dacht dat ik het nooit ging vinden .

Date heb ik veranderd in BeginDatum .
En ik had al een kolom in mijn query opgenomen die nog niet ingevuld werd door mijn form.
Ik heb nu dus ook gemerkt dat als je 1 veld (bv Funktie) niet invult dat deze record dan ook niet in je query te zien is .
Zal dus best maar in mijn form maken dat de velden die ik in mijn query gebruik ook verplicht zijn om in te vullen .

Nogmaals bedankt Tardis ;)

Weet niet wat deze forum(en vooral ik ):p zonder u zou zijn :)

Groetjes
Romain
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan