Alle ingave bijhouden

Status
Niet open voor verdere reacties.

LucBrands

Gebruiker
Lid geworden
12 jan 2012
Berichten
38
Hallo,

ik zit met het volgende:

Ik heb een database gemaakt met gekoppelde talbellen die ik uit excel haal. Deze excel file wordt elke dag aangepast. Dus elke dag zijn dit nieuwe waarden.
Tevens geef ik ook via een invulformulier gegevens bij.

Nu zou ik graag de gegevens die ik binnenhaal uit excel en de gegevens die ik in geef elke dag bijhouden.
Helaas zie ik niet hoe ik dat moet doen.

Kan dit wel?
 
Ik snap niet helemaal wat je bedoelt. Als je mij ondersteboven zou houden uit een raam, zou ik zeggen: hij wil een historietabel hebben waarin elke mutatie wordt vastgelegd. Maar dat is alleen omdat ik liever niet uit een raam hang ;)
 
Ja, eigenlijk zou het dat wel kunnen zijn. Dus:
Gegevens die ik elke dag via de excel tabel binnen haal en de gegevens die ik elke dag ingeef bijhouden in een "tabel" zodat ik hiermee MTD (Month to Date) grafieken en tabellen kan maken.
 
Als je een Excel tabel koppelt in Access, dan kun je de gegevens in Access wel bekijken, maar niet muteren (althans: ik weet niet beter...). Dus hoe muteer je die tabellen dan? Overigens is dat maar de helft van je probleem, want je geeft ook aan dat de tabellen in Excel worden bijgehouden. En dat registreert Access dan niet, en kun je dus ook moeilijk in een logbestand bijhouden. En nog een probleem: op wélk moment wil je de mutaties vastleggen? Als een Excel record 3 keer verandert, dan zie je in Access toch alleen de laatste status. De vorige mutaties zie je niet. Kortom: al sta ik weer rechtop, helemaal duidelijk is het nog steeds niet :)
 
Dit is wat ik doe en zou willen doen:
- Ik run elke morgen een query in AS400 die mij een tabel geeft in excel.
- Nu kan ik die excel tabel in Access koppelen (dat is geen probleem)
- In access wil ik elke dag ook nog gegevens invoeren (dat is ook geen probleem)
- Wat er dan moet gebeuren is dat de gegevens die ik in geef en inlees weggeschreven worden als waarden zodat deze niet meer kunnen veranderd worden. Liefst in een tabel.
- Later kan ik dan met deze tabel (bestaande uit enkel waarden) verder werken om grafieken en rapporten te kunnen maken.
- Elke dag wordt deze "tabel" dus aangevuld met de nieuwe daggegevens.
 
Ben jij een 'Miracle Worker'?
- Nu kan ik die excel tabel in Access koppelen (dat is geen probleem)
- In access wil ik elke dag ook nog gegevens invoeren (dat is ook geen probleem)
Volgens mijn plaatje is dat onmogelijk... En mijn ervaring is ook inderdaad dat je een gekoppelde Excel sheet niet kunt bewerken.
 

Bijlagen

  • Externe gegevens ophalen - Excel-werkblad.png
    Externe gegevens ophalen - Excel-werkblad.png
    6,3 KB · Weergaven: 40
Dag OctaFish,

dat ik geen wijzigingen kan doen in de gekoppelde tabel begrijp ik. Het is niet de bedoeling dat ik in deze gekoppelde tabel wijzigingen via access doe.
Dus wat doe ik:
Ik maak een nieuwe Formulier aan en haal de gegevens via een query uit die gekoppelde excel-tabel. Op dit formulier kan ik ook extra gegevens invoeren (dus niet in de gekoppelde excel-tabel).
Na het ingegeven en inlezen van de nodige getallen wil ik nu deze gegevens (van het nieuwe formulier) wegschrijven (liefst automatisch) als data in een gegevenstabel. Dus elke dag komt er in deze tabel dan een lijn bij.
 
als ik data importeer heb ik in de access tabel vaak een veld 'datumimport' met als standaardwaarde now(). Dus bij alle nieuwe data die in de tabel wordt geimporteerd komt automatisch ook de datum van importeren. Is dat wat je bedoelt. Dit werkt ook als je de data via een toevoegquery toevoegd.
 
Ik maak een nieuwe Formulier aan en haal de gegevens via een query uit die gekoppelde excel-tabel. Op dit formulier kan ik ook extra gegevens invoeren (dus niet in de gekoppelde excel-tabel). Na het ingegeven en inlezen van de nodige getallen wil ik nu deze gegevens (van het nieuwe formulier) wegschrijven (liefst automatisch) als data in een gegevenstabel. Dus elke dag komt er in deze tabel dan een lijn bij.
Als je werkt met een vaste gekoppelde Excel tabel, die dus altijd gekoppeld is (en dat lijkt mij het handigst) aan de database, dan is het simpel om daar iets voor te maken. Je historietabel koppel je dan namelijk aan de Excel tabel (mits dat uiteraard kan; je moet dan in het Excel bestand wel een unieke sleutel kunnen vaststellen) met een één-op-veel relatie met de historietabel. Je hoofdformulier is dan het Excelbestand, en de historietabel is dan een doorlopend subformulier op dat hoofdformulier. Hoef je verder helemaal niks in te regelen.
 
OK, de excel tabel is steeds dezelfde tabel maar steeds met nieuwe data, weliswaar steeds in hetzelfde formaat. Deze excel tabel is dus steeds gekoppeld.
Helaas wordt deze excel file elke dag opnieuw gegenereerd en overschreven. Een unique sleutel aanmaken in het excel bestand is dus onmogelijk omdat dit de dag erna wordt overschreven.
 
Ik bedoelde ook niet eens zozeer een unieke sleutel als apart gegeven in je Excel tabel, al zou dat het mooiste zijn. Maar een combinatie van velden in de tabel werkt ook prima. Dus als je een Datumveld kunt combineren met een Klantnummer kom je vermoed ik ook al een heel eind. Waar het om gaat is dat je een unieke combinatie van gegevens vind in het Excel bestand, die je dan in ieder geval ook in je historie tabel opneemt, alsmede de extra velden die je wilt invullen.
 
Ik heb dit nog een bekeken en wil het nu dus zo:

- ik run een AS400 query dik ik opsla in een excel file A
- ik open in access deze file A als gekoppelde tabel (welke ik in access niet verander)
- nu wil ik dat de gegevens van deze tabel A elke dag (liefst automatisch) worden weggeschreven in een tabel B (?)
- dus tabel B moet de gegevens bijhouden van alle dagen, hierdoor kan ik maand en jaar gegevens ophalen
- bijkomend mogen deze gegevens in tabel B pas definitief bijgehouden worden na de huidige dag (dus als er dezelfde dag wijzigingen zijn moeten deze uiteraard ook in tabel B aangepast worden)

- daarbij zou ik ook nog elke dag enkele gegevens manueel willen bijvoegen, maar dat zou gewoon moeten lukken via aanmaak van een formulier
 
Ik snap je voorlaatste wens niet helemaal; wil je alle wijzigingen op een dag bijhouden in tabel B, of wil je één kopie van tabel A van de laatste (al dan aangepaste) records wegzetten?
 
Tabel B is eigenlijk een copy van Tabel A maar met nog enkele gegevens:
- een 5 tal manuele ingaves
- verschillende gegevens die ik bereken via querys

Tabel B wordt elke dag langer omdat ik alle gegevens van de vorige dag opnieuw nodig heb om maand en jaar formulieren/grafieken te maken

Ik zou de access database willen bijvoegen maar krijg steeds een foutmelding tijdens het uploaden.
 
Ik snap dat tabel B een kopie is van Tabel A met wat extra velden. Mijn vraag was echter of je van elk record uit A één record wilt in B, waarin je dan extra gegevens invult en muteert, of wil je ook nog van elke mutatie in B een registratie? Want dat vereist een andere insteek.
 
Dag Michel,
je hebt me op het spoor van de "append" queries gezet. Dit ziet er naar uit dat ik momenteel hiermee verder kan. Dus ik ga daar nu wat mee experimenteren en kom later hierop nog terug. Alvast voor nu bedankt voor het geduld en de hulp.
 
je kan in een query ook een kolom vullen met een vaste inhoud. bijvoorbeeld ipv een veld kiezen type je
Code:
wijzigingdatum: now()
als je dit dan tegelijk met je data toevoegd heb je een datumveld gevuld
 
Waarschijnlijk doet TS dat al :). De vraag is ook niet zozeer hoe je een veld vult, maar of je kiest voor één record met daarin steeds de laatste mutatie, of voor een historietabel waarin je elke mutatie toevoegt met een toevoegquery. En ik vermoed dat Luc voor de tweede variant gaat kiezen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan