Update Query

Status
Niet open voor verdere reacties.

Jasper07

Gebruiker
Lid geworden
16 nov 2011
Berichten
5
Hallo,
Ik heb vrij weinig ervaring met access, vandaar dat ik nu hier ben.
Ik werk op het moment met een database waarin allemaal documenten geregistreerd staan.
Deze documenten staan allemaal onder aparte kopjes (in aparte tabellen), maar nu is er ook een grote tabel waar alle documenten instaan.
Nu wilde ik een update query maken waardoor, onafhankelijk waar iemand een nieuw document toevoegd of gegevens hiervan verwijderd, de document gegevens altijd in de betreffende tabellen (de specifieke en grote tabel) up-to-date zijn.
Ik heb al het een en ander geprobeerd, maar het werkte niet naar behoren dus ik wil graag stap voor stap opnieuw beginnen met de update query.

Kunnen jullie mij hiermee helpen?
Alvast bedankt!
 
Leg eerst even uit wat je nu eigenlijk aan het doen bent, want helemaal snappen doe ik het niet. Ik snap dat je documenten registreert in een database, maar daar stopt het begrip een beetje. Want waarom sla je die documenten op in verschillende tabellen? En waarom dan ook nog eens in één centrale tabel? Niet alleen een heel onhandige constructie, maar ook nog eens lastig bij te houden, zoals je al gemerkt hebt. Wat is het probleem om alle documenten één keer op te slaan in één tabel, wat normaal zou zijn in een database?
 
Het is een database die al bestond, en die moet ik nu bijhouden.

De documenten behoren bij verschillende personen en zijn onder te verdelen in verschillende categorië (vb. Rijbewijs, Paspoort, Diploma's) en per categorie zijn er aparte tabellen gemaakt om aparte forms en reports te maken.
Daarnaast is er ook een grote tabel waar al deze documenten in samenkomen en hieruit wordt bijvoorbeeld een lijst van documenten per medewerker gecrëerd.

Als je een tip hebt om het efficiënter te maken is dat ook fijn!
Dan ga ik dat gewoon doen; het moet zo efficient mogelijk blijven uiteindelijk.
 
Alles wat je beschrijft past prima in één tabel. Sterker nog: je hebt ook maar één formulier, en (vermoedelijk) één rapport nodig. Kwestie van juist inrichten van de tabellen! In je hoofdtabel zet je bijvoorbeeld een kolom Categorie, en Medewerker. Op je hoofdformulier filter je dan op categorie, en het formulier dat je dan opent, laat alleen die documenten zien die bij die categorie horen. Je zult het ongetwijfeld met mij eens zijn dat het onderhouden van één formulier een stuk makkelijker is dan het onderhouden van 12 formulieren...
Vermoedelijk is het ombouwen niet eens zoveel werk, want ik vermoed dat de formulieren en rapporten redelijk op elkaar zullen lijken, aangezien ze min of meer dezelfde tabellen als basis hebben. Er is veel gemak en tijdwinst te halen, als je alles zoveel mogelijk terugbrengt naar de essentiële onderdelen.
 
Laatst bewerkt:
Dat ben ik helemaal met je eens OctaFish :)
Ik had al een kolom 'Medewerker' en heb zelf een kolom 'Categorie' toegevoegd, maar kun je me een iets beter beeld geven hoe ik er dan 1 formulier en 1 rapport voor kan gebruiken :o?
Heb zelf nog nooit met access gewerkt namelijk...
 
Dat is niet in een paar zinnen gezegd, vrees ik; daarvoor zou ik de situatie beter moeten kennen. Of in ieder geval de db moeten zien. In beginsel komt het hier op neer: je filtert de toepassingen op basis van een gebruiker, die dan inlogt en gelijk zijn eigen gegevens etc. te zien krijgt, of je maakt een hoofdformulier waarbij men selecteert wat er getoond moet worden. Het formulier en rapport wordt dan gefilterd op basis van de keuze.
 
Okee, daar kan ik wel wat mee denk ik, of het in ieder geval wat makkelijker maken
Zou ik dan moeten selecteren m.b.v. Queries?
 
Dat kan, maar hoeft niet eens. Je kunt een formulier filteren, en een rapport ook. Voorbeeldje:

Code:
Private Sub Rechtzaken_Click()
    DoCmd.OpenForm "fRechtzakent", , , , , , cboCategorie.Value
End Sub

Code:
Private Sub Form_Load()
    If Not Nz(Me.OpenArgs, "") = "" Then
        Me.Filter = "Categorie = " & Me.OpenArgs
        Me.FilterOn = True
    Else
        Me.Filter = "Categorie = ""
        Me.FilterOn = False
    End If
End Sub

In dit voorbeeldje heb je op een formulier een keuzelijst cboCategorie, waarmee je categorieën filtert, en een knop waarmee je het volgende rapport (fRechtzaken) opent.
Je kiest eerst een categorie (of niet, is niet verplicht) en vervolgens kijkt het formulier fRechtzaken of er een filter is meegenomen of niet. Zo ja, dan wordt het formulier gefilterd.
Hiermee kun je dus met één keuzelijst alle formulieren vervangen die dezelfde tabel(gegevens) gebruiken.
 
Bedankt voor de input en het meedenken Octafish!
Aangezien er in de database een hoop dingen gebruikt werden die ik niet meer terug kon herleiden hoe of wat dat in elkaar zat heb ik het anders opgelost.
Er is nogsteeds 1 grote database met alle documenten en met behulp van querries en een categorie nummer worden deze documenten nu gescheiden.

Nogmaals bedankt octafish! Je hebt me hier heel erg mee geholpen :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan