Avatar billede cwc Nybegynder
26. august 2003 - 12:58 Der er 18 kommentarer og
4 løsninger

Hent eksterne data

Jeg har arbejdet en del med Excel, hvor jeg har lavet en makro der automatisk henter eksterne data, ved at køre en gemt forespørgsel.

Eksempel :
    Range("A1").Select
    With ActiveSheet.QueryTables.Add(Connection:= _
        "FINDER;C:\Dataoverførsel.dqy")
    End With

Hvordan gøres dette i Access ???, således at jeg kan afspille en makro der vil overskrive en given tabel, med resultatet af en gemt forespørgsel ???
26. august 2003 - 13:03 #1
Lav en makro, som benytter makrohandlingen "TransferDatabase" (OverførDatabase).
Handlingsargumenterne taler næsten for sig selv...
Avatar billede cwc Nybegynder
26. august 2003 - 13:14 #2
Nu har jeg prøvet at benytte "OverførDatabase", om det virker ved jeg endnu ikke... Access melder tilbage at "Den installerbare ISAM kan ikke findes" ???
26. august 2003 - 13:17 #3
Har du valgt "Microsoft Access" i Database type? I så fald, er der noget galt med din Access-installation
Avatar billede overchord Nybegynder
26. august 2003 - 13:49 #4
Det lyder som om du har problemer med de filer der fortolker hvordan en excel fil ser ud (ISAM driver). Jeg har selv haft problemer med det.
Det foerste check for at finde ud af om det er problemet er at proeve at importere et excel ark til en database. Hvis det giver samme fejlmeddelelse (processen starter fint nok, men fejlen dukker op naar du er naaet til et af de sidste punkter i wizarden) er det et problem med ISAM driveren.

Hvis det er et ISAM problem, saa check dette site for hvordan du loeser det:
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q171955

(fix er for Access 97)
Avatar billede terry Ekspert
26. august 2003 - 14:06 #5
If you are trying to IMPORT from external data then you can use

TransferSpreadsheet to get data from Excel an dLotus fiels

DoCmd.TransferSpreadsheet acImport, 3, "Employees","C:\Lotus\Newemps.wk3", True, "A1:G12"

or you can use TransferText to get data from other files

DoCmd.TransferText acExportDelim, "Standard Output", "External Report", "C:\Txtfiles\April.doc"
Avatar billede terry Ekspert
26. august 2003 - 14:07 #6
You should take a look at Access help for more infromation on this.
Avatar billede mugs Novice
26. august 2003 - 16:14 #7
Handlingen TransferDatabase overfører en database, medens handlingen TransferSpreadsheet overfører et regneark som en eksport eller inport. Som thomasjepsen skriver angiver argumenterne næsten sig selv.

Hvis du ike angiver en eksisterende tabel som destination, vil Access oprette en importtabel med det navn du har angivet. det er ikke sikkert, at dine data har den rette felttype til brug i den endelige tabel. Derfor kan du ved en tilføjelsesforespørgsel overføre data fra importtabellen til den rigtige tabel, der evt. har relationer til andre tabeller samt de korrekte datatyper.

Importtabellen kan du så slette med en ny handling i din makro. Handling hedder SletObjekt, også her taler argumenterne for sig selv.
Avatar billede mugs Novice
26. august 2003 - 16:48 #8
Er du interesseret, kan jeg sende dig en testdb med forskellige funktioner vedr. import og eksport til og fra Excel. Blot læg din e-mail.
Avatar billede cwc Nybegynder
27. august 2003 - 08:05 #9
Problemet er, at jeg vil overføre data fra et ERP-system på en AS/400 server. Det kan jeg ikke få til at virke med "TransferDatabase". Jeg har lavet en gemt forespørgsel i "Microsoft Query" (som virker), denne forespørgsel anvender jeg i Excel, men har jeg mulighed for at anvende den i Access gennem en makro ???
Avatar billede terry Ekspert
27. august 2003 - 08:28 #10
If you can use the query in Excel then I would say almost 100% that you can use it in Access using a macro or VBA code, I would think it easier with VBA as I have a feeling you need to connect to some external data source.
I would think that the code you use in Excel could be used in Access, can we see this code please?
27. august 2003 - 08:33 #11
Terry-> koden står i selve spørgsmålet ;o)
Avatar billede terry Ekspert
27. august 2003 - 10:05 #12
so it does Thomas, better open my eyes :o)

Any idea what Dataoverførsel.dqy contains?
Avatar billede cwc Nybegynder
27. august 2003 - 10:35 #13
Dataoverførsel.dqy indeholder f.eks. (åbnet i Notesblok):

XLODBC
1
DRIVER={Client Access ODBC Driver (32-bit)};SYSTEM=NUNCDK01;CMT=1;DBQ=DK610F;NAM=0;DFT=0;DSP=0;TFT=0;TSP=0;DEC=0;XDYNAMIC=0;RECBLOCK=0;BLOCKSIZE=32;SCROLLABLE=0;TRANSLATE=0;LAZYCLOSE=0;LIBVIEW=0;REMARKS=0;CONNTYPE=0;SORTTYPE=0;LANGUAGEID=ENU;SORTWEIGHT=0;PREFETCH=0;MGDSN=0;
SELECT IIML01.IPROD, IIML01.IDESC, IIML01.IITYP, IIML01.ICLAS, IIC.ICDES  FROM DKNUNC01.DK610F.IIC IIC, DKNUNC01.DK610F.IIML01 IIML01  WHERE IIML01.ICLAS = IIC.ICLAS AND ((IIML01.IITYP='B'))  ORDER BY IIML01.IPROD


IPROD    IDESC    IITYP    ICLAS    ICDES
Avatar billede overchord Nybegynder
27. august 2003 - 11:52 #14
cwc -> Faar du stadig fejl om ISAM driveren?
Avatar billede cwc Nybegynder
27. august 2003 - 11:59 #15
Nej, jeg kan sagtens importere et excel ark til en database.
Avatar billede terry Ekspert
27. august 2003 - 12:10 #16
can you explain what you are trying to do?
Do you want to import data FROM AS/400 INTO Excel is so why use Access? Or do you wnat to import data FROM AS/400 INTO Access?
Avatar billede terry Ekspert
27. august 2003 - 12:12 #17
I would also have thought that the Client Access ODBC Driver (32-bit) is available in Access! You should try making a data source (ODBC Data sources) and use this data source in Access to link up to the tables in AS/400
Avatar billede terry Ekspert
30. august 2003 - 12:07 #18
!
Avatar billede cwc Nybegynder
01. september 2003 - 14:54 #19
"try making a data source (ODBC Data sources) and use this data source in Access to link up to the tables in AS/400" øhhhhh hvordan gør man så det ???
Avatar billede terry Ekspert
01. september 2003 - 17:41 #20
Well in Windows XP you can find ODBC Data Sources in Control Panel Administrative Tools. Otherwise I think you will find it in Control Panel.

If you first look under the Drivers Tab you should be able to see if one is available for AS/400. Then if there is try adding one under system DSN.

If you can do this then in Access you can try linking tables and choose ODBC from Files Type and then select the DSN you just created.
Avatar billede cwc Nybegynder
03. september 2003 - 09:59 #21
Ok, det er vist på tide at lukke dette spørgsmål, da jeg desværre ikke har evner til at tolke løsningsforslagene...
Avatar billede staal84 Nybegynder
14. oktober 2009 - 22:09 #22
6år senere....(I tilfælde af du/andre stadig (ligesom mig) måtte sidde og rode med noget AS400...)

Hjælp-funktionen i 2003-udgaven har svaret på dit spørgsmål:

For ODBC databases, type the full Open Database Connectivity (ODBC) connection string. To see an example of a connection string, link an external table to Access by pointing to Get External Data on the File menu and clicking Link Tables. Open the table in Design view and view the table properties. The text in the Description property setting is the connection string for this table.

For more information on ODBC connection strings, see the Help file or other documentation for the ODBC driver of this type of ODBC database.

I mit tilfælge, hedder hele stien:
ODBC;DSN=FRQRY;;TABLE=FRQRY.MAPRISLAB9

Hvor FRQRY er min datakilde som er oprettet under administration i kontrolpanel og mit as400 udtræk hedder så FRQRY.MAPRISLAB9 som også senere bruges under kilde/source.
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