Koppelen verschillende bestanden tot 1 tabel

  • Onderwerp starter Onderwerp starter Butz
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Butz

Gebruiker
Lid geworden
30 mrt 2006
Berichten
7
Wie kan mij helpen?

Ik heb diverse .mdb bestanden allen verschillend van naam bv. 01-12-2005.mdb en 01-01-2006.mdb. allemaal met een tabel HISTORIE

Ik wil al deze bestanden via een keuze menu seleceteren en met een knop inlezen en de gegevens uit de tabel HISTORIE koppelen tot 1 tabel. Deze gehele tabel wil ik weer gebruiken voor vervolg acties en rapportages.

Het mooiste zou nog zijn dat hij de bestanden herkend en een fout genereerd bij het inlezen van 2 keer hetzelfde bestand met tabel HISTORIE

Wie kan mij helpen?:o
 
Om dat helemaal automatisch te laten gaan zul je effies lekker moeten gaan programmeren.

In pseudocode wat je moet doen, tussen haakjes staan links naar websites waar je meer informatie kunt vinden hoe dat te doen):

Lees directory met mdb bestanden (http://www.mvps.org/access/api/api0001.htm)
Loop door directory met mdb bestanden (Hiervoor gebruik je het Dir commando van access)
Open een mdb bestand (hiervoor gebruik je de OpenDatabase methode van het DBEngine object)
Open recordset met de tabel die je wilt kopieren
Loop door recordset
Als Record nog niet opgenomen (met behulp van de dCount() functie)
Voeg record toe (met behulp van een SQL Insert statement)
Einde Als Record nog niet opgenomen
Einde Loop door Recordset
Einde Loop door directory met mdb bestanden
 
Hoi Bartuls,

Bedankt voor je reactie. Ik ben eerst maar eens eenvoudig begonnen. Ik vond op het net een functie voor het tonen van bestanden. Ben hiermee aan het testen gegaan en dat lijkt ok.

Daarnaast ben ik met het SQL statement in de weer gegaan. Binnen een query lukt het om hard ingegeven waarden aan de tabel toe te voegen.

Het openen van de database lukt ook nog en bij het openen van de recordset gaat het niet goed.

Ik ben nu aan het proberen om eerst een enkel bestand met de tabel HISTORIE in te lezen in een nieuwe tabel Storingen. Heb jij toevallig een code hiervoor beschikbaar of kun je mij opgang helpen?
 
Hoe meer details je geeft, hoe beter je geholpen kan worden.
Je hebt het over een bestand HISTORIE. Is dat een access database? Is dat een ASCII bestand?
Staan in HISTORIE en Storingen dezelfde velden? In dezelfde volgorde?

Dit soort zaken bepalen voor een heel groot deel wat voor soort code of je nodig hebt.
Het is altijd handig als je je mdb en je bestand even zou kunnen posten in een winzip bestandje.
 
De bestandsnamen van de bestanden (allen access bestanden) zijn bv. 01-12-2005.MDB en zijn allemaal gelijk van opzet.
Ze bevatten allemaal een tabel HISTORIE met de velden, datum, tijd, keyname, omschrijving, gebruiker, resultaat en volgnummer.

De bedoeling is dat deze velden overgenomen worden in de tabel Storingen met dezelfe velden.

Als het voor 1 bestand lukt dan wil ik hem verder gaat uitbouwen met andere bestanden en gaan kijken of ik de loop voor het vullen en controleren voor elkaar kan krijgen.
 

Bijlagen

Extern bestand inlezen in niewe tabel

Ik probeer een extern bestand in te lezen in een nieuwe tabel. De gegevens uit het bestand worden 1 op 1 overgenomen. Ik ben nog niet zolang bezig met Access en heb het volgende geprobeerd:

Ik heb een knop aangemaakt waarmee ik de actie wil uitvoeren.

Sub Knop0_Click()

Dim dbsMTB As Database
Dim rstHISTORIE As Recordset
Dim tblStoringen As TableDef

Set dbsMTB = OpenDatabase("c:\backup eap\01-12-2005.mdb")
Set rstHISTORIE = dbsMTB.OpenRecordset("HISTORIE")

DoCmd.SetWarnings False
tblStoringen = DoCmd.RunSQL("INSERT INTO Storingen SELECT * FROM HISTORIE")
DoCmd.SetWarnings True

rstHITORIE.Close
dbsMTB.Close
tblStoringen.Close
End Sub

Wie kan mij vertellen wat ik niet goed doe?

Alvast bedankt !!!
 
Ik heb de uitwerking zoals ik die al eerder gemeld hebt even in jou voorbeeld gezet.
Je moet wel zorgen dat de velden in de tabellen van hetzelfde type zijn (ik heb dat aangepast).

Ik heb de verwerking voor de velden Datum en Tijd voor je gedaan, de overige velden zul je zelf moeten toevoegen.
Als je op de knop van je formulier drukt, wordt je eerst gevraagd een folder te selecteren. Ik ben ervanuit gegaan dat in die folder alleen maar de te verwerken mdb's met per mdb 1 Historie tabel staan.
Alle mdb's in die folder worden vervolgens verwerkt.
 

Bijlagen

Laatst bewerkt:
Ik heb je andere post hierbij gezet. Blijf bij één thread als het over hetzelfde onderwerp gaat.
 
Hoi Bartuls,

Helemaal top !!! Bedankt voor je hulp :thumb: :thumb: :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan