Hallo
Ik had er al eerder een reactie onder geplaats die bijna gelijk was aan die van eremmel. Wij postten bijna gelijktijdig. Het lezen van zijn post bracht het volgende in mijn heriinering.
Je kunt met de mdbtools de tabellen omzetten naar leesbare bestanden onder linux het worden dan comma separated value files (CSV).
Ik denk dat de mdbtools niet standaard op je systeem staan maar dat je dat moet installeren. Hoe dat te doen met Ubuntu weet ik niet maar dat is misschien te vragen op een Ubuntu forum.
Ik heb een script gemaakt onder linux wat alle databestanden uitpakt van alle mdb files in een map. Als het goed is worden ze in afzonderlijk submappen geplaatst.
Nadat je de databestanden hebt uitgepakt kun je ze op verschillende manieren inlezen. Wat de beste manier is, is afhankelijk van veel zaken. De mogelijkheden zijn
a) als een calc file in een spreadsheet.
b) als een text file in the hsqldb file en dan langzaam omwerken naar een echte tabel.
Beide hebben hun eigen voordelen en nadelen.
Ik heb het idee gekregen dat het omwerken van een mdb database naar OpenOffice.org nog al wat problemen oplevert overigens afhankelijk van het oorspronkelijke ontwerp en het gewenste ontwerp.
En als afsluiting wees zeker dat je kopieen hebt.
Ik heb dit kunnen oefenen daar iemand zo vriendelijk is geweest mij een comlete mdb database op te sturen. Dat gaf mij de gelegenheid om dit te leren.
Romke
Hier onder staat het script.
Code: Selecteer alles
#!/bin/bash
# Dit script werkt alleen onder linux
# Het is de bedoeling dat dit script alle tabellen exporteerd.
# De opties die gegeven zorgen voor:
# a) Dat alleen gegevens bestanden worden ge-exporteerd.
# b) Dat datums in Amerikaanse stijl worden ge-exporteerd.
# c) Getallen komen met een punt als decimal separator.
#
# Het script zorgt er voor dat alle databases meegenomen worden.
# Voor elke database wordt een aparte map gemaakt en de bijbehorende bestanden worden daar ingeplaatst
#
# Voor een kleine database kan alles achteraf het gecorrigeerd worden met de hand
# Voor een grote database lijkt mij het beter om gelijk alles goed te krijgen.
# Ik denk dat exporteren naar een csv direct vanuit Access de voorkeur verdient.
for database in $(ls -1 *.mdb )
do
DirNaam="${database%*.mdb}" # Hier wordt de suffix weggehaald "Naamdatabase.mdb" wordt "Naamdatabase"
test -d "${DirNaam}" || mkdir "${DirNaam}"
for tabel in $(mdb-tables -1 "${database}")
do
echo "Ik werk aan deze : $database $tabel"
# Er is een amerikaanse regel en een Nederlandse regel
# mdb-export -D "%m-%d-%y" "${database}" "$tabel" >"${DirNaam}/${tabel}.csv"
# mdb-export -D "%d-%m-%y" "${database}" "$tabel" >"${DirNaam}/${tabel}.csv"
mdb-export -D "%Y-%m-%d" "${database}" "$tabel" >"${DirNaam}/${tabel}.csv"
done
done