Avatar billede region Nybegynder
13. oktober 2000 - 12:22 Der er 34 kommentarer og
2 løsninger

sammenkædning med xls

jeg har et xls fil der indeholder 2 ark

ark 1 = nøgletal
ark 2 = selskab

værdierne i ark 2 er links til ark 1.

Ved sammenkædning med access er hvert ark sammenkædet som en seperat tabel.

når jeg opdaterer ark1 med en værdi via access skrives denne også i xls arket, men åbner jeg så tabellen hvor ark 2 er baseret på vises der \" #Num! \".

hvordan får man Access til at angive denne værdi UDEN at skulle importere arket. ( det virker nemlig ved import idet man da \"trækker\" værdierne med over i Access.

Jeg kan bare ikke bruge import funktionen idet værdierne i ark 1 jo ændres løbende via access, og da ville jeg skulle importere ark 2 igen hver gang jeg havde lavet en ændring i ark 1...

Point gives for komplette løsning..
Avatar billede moses Praktikant
13. oktober 2000 - 13:26 #1
Hvis jeg prøver det samme:

Olsen.xls :  Ark1, Ark2
Celler i Ark2 = Samme Celler i Ark1

Og dernest linker hver af arkene til Access, så opdateres Ark2 ikke, når jeg skriver ind i Ark1.

Hvordan fik du den til det ??
Avatar billede region Nybegynder
13. oktober 2000 - 13:36 #2
he he..

det er netop det mit spørgsmål går på...!!!!
Avatar billede powell Nybegynder
13. oktober 2000 - 14:03 #3
Jeg tror jeg har en løsning:

Dim xl as Object
Efter tallende er kastet over i excell (jeg regner med at du da bruger, xl.Range(\"A1\").value = DIN_VARIABEL

Så skal du køre denne formel:
xl.Range(\"A3\").Formula = \"=A1\"

Håber det kan give dig et hint.
Avatar billede powell Nybegynder
13. oktober 2000 - 14:05 #4
Det jeg ikke ved er hvordan et andet Ark åbnes...
Avatar billede moses Praktikant
13. oktober 2000 - 14:13 #5
<<Powel>>
Når du linker Access til Excel, så linkes hvert ark, som en separat tabel.


Så vidt jeg ved, så er det smarteste at bruge referencen til Excel 9.0 eller hvad den nu hedder.
På den måde får du VB editoren til at kunne genkende Excels methods og Properties. Det gør arbejdet noget lettere og koden noget hurtigere.


Avatar billede region Nybegynder
13. oktober 2000 - 14:13 #6
Jeg ved ikke hvad du mener..!!!!!

eftersom tabellen er linket til et excel ark taster jeg jo bare en værdi i access tabellen som jo pr. automatik opdaterer xls arket...
Avatar billede moses Praktikant
13. oktober 2000 - 14:15 #7
Ark2 ovre i Excel filen opdateres ikke, fordi det er Excel, der skal gøre det.
Hvis du åbner Excel, så opdateres det.

Løsningen er altså at åbne Excel fra VB og åbne filen ad den vej.
Avatar billede region Nybegynder
13. oktober 2000 - 14:17 #8
moses...

kan du være mere specifik... jeg aner ikke en klap om VB eller VBA.. ( så godt som ingenting da )
Avatar billede powell Nybegynder
13. oktober 2000 - 14:17 #9
Jeg er bare en kode nørd, og kan godt lida at lave tingene fra bunden. Jeg forsøgte kun at give jer min løsning.

Kan man så ikke blot sende en VBA-kode som med den formael at den skal hente data\'erne fra Ark1?
Avatar billede powell Nybegynder
13. oktober 2000 - 14:19 #10
For at åbne excell:
Dim xl as object

Set xl = CreateObject(\"EXCEL.sheet\")

xl= nothing
Avatar billede powell Nybegynder
13. oktober 2000 - 14:20 #11
Den sidste linje skulle være Set xl = Nothing
Avatar billede region Nybegynder
13. oktober 2000 - 14:38 #12
Powell :

jeg synes det er kanon at nogen forsøger at hjælpe jeg ved bare ikke om det er den rigtige måde at gøre det på..
Avatar billede moses Praktikant
13. oktober 2000 - 14:43 #13
AHA !!!

Ingenting passer.

Du skal bare gå ind i din Access database, Åbne et eller andet Visual Basic halløj og vælge menupunktet \"Tools / References ...\"
Derinde vælger du \"Microsoft Excel 9.0 Object library\".

Så opdaterer den, som du er vandt til imellem to tabeller (En refresh af Access-tabellen \"Ark2\" er selvfølgelig nødvendig - som det er med de interne tabeller).
Avatar billede moses Praktikant
13. oktober 2000 - 14:46 #14
Og så er det halve af, hvad jeg siger alligevel noget vrøvl:

Du skal ikke opdatere på den linkede tabel \"Ark2\".

Hvis du åbner begge linkede tabeller og retter i \"Ark1\" tabellen (og husker at flytte dig væk fra den record !!), så opdateres \"Ark2\" tabellen automatisk.

Avatar billede region Nybegynder
13. oktober 2000 - 14:48 #15
øhhhh jeg har ikke \"\"Microsoft Excel 9.0 Object library\".

kun et \"Microsoft Excel 8.0 Object library\".


det er også access 97... kan dette betyde noget..???

Avatar billede moses Praktikant
13. oktober 2000 - 14:52 #16
Ja - at du kun kan åbne Excel 97 filer, men det følger jo pænt din Excel, som jeg må formode er en Excel 97 !!

Altså ingen betydning for dig.
Avatar billede moses Praktikant
13. oktober 2000 - 14:53 #17
Du vælger bare den Excel library udgave du nu har.
Avatar billede region Nybegynder
13. oktober 2000 - 14:54 #18
MOSES ER GUD....!!!!!

det virker sku...HURRA...
Avatar billede moses Praktikant
13. oktober 2000 - 14:55 #19
Så kan jeg fortælle noget, som ingen andre på denne dejlige grønne jord ved:

Gud har slet ikke skæg og ... gud er ikke neger !

Tak for komplimentet
Avatar billede region Nybegynder
18. oktober 2000 - 00:01 #20
MOSES.>

JEG HAR BRUG FOR DIN HJÆLP.....

Jeg har nu leget med dette men opdatering foretages kun efter jeg har åbnet excel og ikke såfremt jeg indtaster dataene via Access.

DVS at man i princippet skal indtaste datene i excel..gemme denne projektmappe...og derefter åbne access.

alternativt virker det også såfremt excel er åbent


kan man gøre noget smart VBA eller lign. for ikke at skulle have excel åben eller åbnet under indtastning..

håber du vil hjælpe mig, point kan gives såfremt du finder dette nødvendigt.
Avatar billede moses Praktikant
18. oktober 2000 - 14:53 #21
Jeg har ikke Access 97, så jeg kan ikke kontrollere det jeg siger nu, men det burde være sådan, som i Access 2000:

Åbn Excel.
Lav f.eks. 4 x 4 felter med tilfældige tegn på ark1.
Lav samme antal felter med \"=ark1!A1\", \"=ark1!A2\" osv.
Gem filen og luk Excel.

Åbn Accessdatabasen.
Lav et Tabel-link \"Ark1\" til det ene ark i Excel filen.
Lav et Tabel-link \"Ark2\" til det andet ark i Excel filen.
Check, at din database har flueben under references til \"Microsoft Excel 8.0 Object library\".
Gem det.
Åben Tabel-link \"Ark1\".
Åben Tabel-link \"Ark2\"
Hvis du retter i Tabellen \"Ark1\" og klikker væk fra den rettede record, så den gemmes, så vil Tabellen \"Ark2\" være rettet til det samme.
Avatar billede moses Praktikant
18. oktober 2000 - 14:55 #22
I princippet gør \"Microsoft Excel Object library\" det samme, som at åbne Excel og få den til at opdatere.
Avatar billede moses Praktikant
18. oktober 2000 - 14:57 #23
Jeg troede, at det virkede d. 13/10, da du sagde, at det virkede !?!
Avatar billede region Nybegynder
18. oktober 2000 - 15:03 #24
det gør det til dels også... MEN

Åben Tabel-link \"Ark1\".
Åben Tabel-link \"Ark2\"
Hvis du retter i Tabellen \"Ark1\" og klikker væk fra den rettede record, så den gemmes, så vil Tabellen \"Ark2\" være rettet til det samme.

virker ikke...
Jeg skal have excel åbnet før at opdateringen finder sted. alternativt lave opdateringen i excell
Avatar billede moses Praktikant
18. oktober 2000 - 15:19 #25
Det virker med \"Microsoft Excel Object library\" til Excel2000 / Access2000.

Så må du efter opdateringen i Ark1.
Lukke ark1
Udføre følgende kode:

    Dim ExcelInstant As New Excel.Application
    Set ExcelInstant = CreateObject(\"Excel.Application\")
    ExcelInstant.Workbooks.Open \"C:\\Book1.xls\"
    ExcelInstant.Workbooks(\"Book1.xls\").Close SaveChanges:=True
    Set ExcelInstant = Nothing
Avatar billede region Nybegynder
18. oktober 2000 - 16:40 #26
hmmm. virker ikke helt...

nu skriver den i ark 2 ( referencearket ) #Num!
akkurat som da jeg ikke havde indlæst Microsoft Excel 8.0 Object library
Avatar billede region Nybegynder
18. oktober 2000 - 16:43 #27
koden er indsat på en vilkårlig knap i en formular bare for at have en reference til koden
Avatar billede region Nybegynder
18. oktober 2000 - 16:56 #28
HMMM.. GGRRRR...

Der er et eller andet helt galt med lortet...

hør lige her....:

Jeg oprettede en formular som havde en trykknap. Der indsatte jeg koden. prøvede at køre koden så var det den skrev \" #NUM!\" i ark2.
Så prøvede jeg at slette min formular samt linkede tabeller og koder og startede forfra med link af disse uden VBA koden.. OG NU VIRKER DET GU-HJÆLPE-ME...?????

Jeg fatter ikke en brik af hvad der er foregået eller rettere sagt foregår... dog kan jeg konstatere at den opdaterer selv om ark 2 ikke er åbent.

Gud ved om det også virker i morgen når jeg kommer på arbejde igen...???!!!!


MOSES :

Hvad skal du have a\' point for din evige entusiasme..????
Avatar billede region Nybegynder
18. oktober 2000 - 17:15 #29
SURPRISE.....

nu virker det ikke igen.... MERD.!!!

sig hvad du skal have a point og vi lukker og slukker dette spørgsmål idet det ikke kan løses tilfredstillende...

MOSES ER DOG STADIG GUD..!!
Avatar billede moses Praktikant
19. oktober 2000 - 10:00 #30
Det er ok med pointene. Jeg har jo fået 390.

Det virker lidt mistænkeligt, at det nogle gange virker og nogle gang ikke virker ?!?!

Avatar billede region Nybegynder
19. oktober 2000 - 23:00 #31
Jeg vælger at tage basen med hjem og prøve p min egen maskine...

Jeg giver besked herom så vi forhåbenligt kan \"lære\" noget nyt...
Avatar billede moses Praktikant
25. oktober 2000 - 13:48 #32
Niels - Ifølge din mail, skulle der komme en \"sidste kommentar\" fra dig på dette spørgsmål. Hvor er den ??
Avatar billede region Nybegynder
25. oktober 2000 - 14:07 #33
ØHHH...UNDSKYLD...!!!

Det virker heller ikke derhjemme.. Den er utrolig ustadig hvad dette angår.. nogle gange virker det og nogle gange ikke.

Jeg har forsøgt at udelukke flere parametre, ja endda prøvet at lave en ny simpel database med et nyt regne ark med et felt i hver sheet... NO LUCK EITHER..!!!!

Jeg har normalt ingen bugs i min access eller excel hvorfor jeg ikke forstår problemet.


Umiddelbart virker det som om at access stepvurderer mine handlinger selvom jeg nogle gange lukker databasen for ligesom at \"resette\" den...
Avatar billede moses Praktikant
25. oktober 2000 - 14:24 #34
Umiddelbart kan jeg ikke se, hvad der går galt.

Jeg har ikke lige tid nu, men det du ellers kan gøre er, at \"Instantiate\" Excel, så den kører skjult i baggrunden.

Herefter lukker du filen op igennem dette objekt.
(Du må ikke have åbnet dine linkede tabeller til Excel filen ved dette)
Herefter kan du bruge dine tabeller, som normalt - og de bliver opdateret.

Avatar billede region Nybegynder
25. oktober 2000 - 14:37 #35
\"instantiate\"...????

Det lyder som noget VBA kode i access..!!!

har aldrig hørt om denne funktion, men har selv været inde på lignende, netop at excelarket blev kørt skjult på en server, dvs. åben hele tiden så den enkelte access bruger ikke også åbnede excell arket ved kørsel af access basen.

du får endnu engang tak for din entusiasme...og skal det koste point siger du bare til hvor mange...
Avatar billede moses Praktikant
25. oktober 2000 - 15:50 #36
Godwill is better than money my friend.
That\'s the way the Mafia works !!
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