Avatar billede pgroen Nybegynder
08. oktober 2004 - 11:11 Der er 7 kommentarer og
2 løsninger

Adgang til Oracle fra Word-VBA

Er der nogen der kan vise et eksempel til hvorledes man
fx. kan befolke en word-tabel fra en Oracle-tabel ?

- Eller bare opdatere en tekst med et eller andet hentet fra Oracle...

(Jeg er ikke VBA-haj, så gerne skåret ud i pædagogisk pap :-))
Avatar billede lbaad Nybegynder
08. oktober 2004 - 12:44 #1
tror ikke, at du kan gøre det til Word. Men du kan gøre det til Excel via ODBC kald.
Avatar billede holdam Nybegynder
08. oktober 2004 - 14:18 #2
Du indsætter et "database" felt i dit Word-dokument og vælger "Insert Database..."

Så vælger du "Get Data...". Nu skal du oprette en "data source" ("New source..."). Vælg at du gerne vil hente data fra Oracle, angiv server-navn (tns-navn) og brugernavn/password.

Nu skal du så vælge din tabel. Find den fra listen (som sikkert er lang, i hvert fald hvis det er Microsofts ODBC-driver der anvendes). Gem din "data connection file" under et passende navn, vælg nu denne data source, vælg "Open", vælg "Insert Data ...", vælg "Insert Records (All)".

Dermed har du dine Oracle-data som en tabel i dit Word-dokument.
Avatar billede pgroen Nybegynder
08. oktober 2004 - 14:44 #3
Ja, det fungerer jo fint.

Men, hvis jeg nu ønsker mig en lille knap oppe over tabellen, hvor der står 'Opdatér'
- kan DET så lade sig gøre, med et par liniers VBA-kode?
Avatar billede lbaad Nybegynder
08. oktober 2004 - 15:53 #4
Sorry - troede ikke det kunne lade sig gøre.
Avatar billede qualjyn Nybegynder
11. oktober 2004 - 07:53 #5
Ja, det kan det godt. Du skal der vælge at indsætte et object - en knap, og på den oprette en funktion til at opdatere database komponenten. Husker jeg ret, kan du fra editoren (ALT+F11) se de objekter du har indsat særligt i dokumentet.

Det skal dog siges, at det ikke altid er en fordel (hverken performance mæssigt eller designmæssigt), at skubbe alt for meget funktionalitet ind i et worddokument, fremfor en gængs applikation, som noget skrevet i vb, c++, java, delphi eller et .net sprog.
Avatar billede pgroen Nybegynder
11. oktober 2004 - 10:09 #6
lbaad - det er ikke ALT+F11, men ALT+F9
Og så skal man lige huske at sætte et flueben ved "Insert data as field";
så kører det som smurt.
Avatar billede qualjyn Nybegynder
11. oktober 2004 - 10:12 #7
hehe, pgroen, du må have spist søm :) Jeg ved ikke hvad ALT+F9 gør, men det er ALT+F8 for at åbne en macro launcher, og ALT+F11 for en VBA editor, og det har det vist været i en del år, efterhånden :)
Avatar billede pgroen Nybegynder
11. oktober 2004 - 10:18 #8
Hov, qualjyn, undskyld, det var egentlig meningen du skulle haft point for det her - håber ikke det ødelægger din dag :-)

Men i øvrigt, så viser ALT+F9 feltkoderne, og det var så'n set det jeg mente...
Avatar billede qualjyn Nybegynder
11. oktober 2004 - 10:36 #9
hehe, det gør skam ikke noget - og jeg håber heller ikke du tog det med sømmene alvorligt :)

Jeg vidste faktisk ikke man kunne indsætte et database felt på den møde, før jeg så det beskrevet - jeg ville have gjort det med vba (en dårligere, omend lidt mere fleksibel metode). Så jeg har skam også lært noget - selvom jeg ikke kan få det til at virke her :(

Anyways, hav en god dag, begge to :)

/Kim
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
Computerworld tilbyder specialiserede kurser i database-management

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