Avatar billede avalon116 Nybegynder
04. februar 2004 - 09:00 Der er 12 kommentarer og
3 løsninger

Koble tabeller/ hente data fra fil

Jeg har en database, med en række tableller, der hvert år skal udskiftes med tabeller med sammen struktur, men med nyt indhold. Dvs. de gamle poster skal fjernes så tabellerne kun består af overskrifter og de nye data indsættes. Datafilerne er txt-filer.

I dag sletter jeg alle poster og importerer de nye poster, men det er ærlig talt lidt besværligt (der er over 40.000 poster i nogle af tabellerne, så det tager ogsp lang tid).

Kan man ikke bevare tabellerne tomme og så koble dem sammen med datafilerne, således at indholdet blot ændres ´ved at udskifte datafilerne?
Avatar billede terry Ekspert
04. februar 2004 - 09:50 #1
A method is to drop the table and then create it again!
Avatar billede terry Ekspert
04. februar 2004 - 09:53 #2
This is mor ethan likley faster than deleting your records but even so you still have to load the data into the table and this is more than likley what takes time as you more than likely have to create indexes also! I dont think it is a good idea to keep the data in the datafiles as they are not indexed.
Avatar billede terry Ekspert
04. februar 2004 - 09:55 #3
I dont know what you mean by "så det tager ogsp lang tid"! But you could do this for example on an evening or weekend!
Avatar billede bsod Nybegynder
04. februar 2004 - 10:02 #4
Du kan gemme dine importspecifikationer ved at vælge Avanceret og derefter genbruge disse fra år til år. Selve udskiftningen kan du herefter automatisere via en makro.
Avatar billede avalon116 Nybegynder
04. februar 2004 - 10:16 #5
nej det ville være meget irriterende at skulle oprette tabellerne igen hver gang, da der er temmelig mange kolonner, og der følger ikke overskrifter med fra datafilerne. Så skulle jeg skrive overskrifterne igen.

Men hvis man kan gemme disse i importspecifikationerne er det da en mulig løsning, den prøver jeg lige af.
Avatar billede terry Ekspert
04. februar 2004 - 10:32 #6
Having your column names in the import specification will help be still, I think what is taking time IS the actual import NOT the delete. I suggest you test this before using time altering your import spec.
Avatar billede terry Ekspert
04. februar 2004 - 10:33 #7
will help be still, = will help but still,
Avatar billede avalon116 Nybegynder
04. februar 2004 - 10:37 #8
jamen jeg sletter inden jeg importerer, så det er sletningerne der tager tid.
Kan man da slette samtidig med at man importerer?
Avatar billede terry Ekspert
04. februar 2004 - 10:41 #9
If the delete is taking time then your only solution I see is to drop the table!
Avatar billede terry Ekspert
04. februar 2004 - 10:43 #10
"Kan man da slette samtidig med at man importerer?" ?

How are you deleting?

Docmd.runsql "DELETE * FROM YourTable"
Avatar billede avalon116 Nybegynder
04. februar 2004 - 10:46 #11
jeg sletter dem bare ved at markere og slette...og det tager en evighed
Avatar billede avalon116 Nybegynder
04. februar 2004 - 10:47 #12
og der er ikke 40.000 poster, men 400.000
Avatar billede terry Ekspert
04. februar 2004 - 10:57 #13
Markere in the table?
Try using a delete query an dsee if it is faster!
Avatar billede avalon116 Nybegynder
04. februar 2004 - 11:11 #14
ok absolut hurtigere

Så må det være en kombi af at slette med kommando og importere med samme importspecifikationer.
Tak skal I have, jeg deler pointsene mellem jer
Avatar billede terry Ekspert
04. februar 2004 - 11:11 #15
This is VERY LIKELY why its taking time
"jeg sletter dem bare ved at markere og slette...og det tager en evighed"
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester