Avatar billede lorentsnv Nybegynder
10. marts 2005 - 17:15 Der er 4 kommentarer og
1 løsning

Bruge Excel (2002) som front-end til database (SQL Server)

Jeg har behov for at udvikle et Excel add-in, for at bruge Excel som front end til en SQL Server.

Formålet er at lave det mulig for brugerne at fortsætte med at bruge Excel til at lave budgetter/prognoser i, men samtidig sikkre at data bliver gemt på en central database.

Jeg forestiller mig, at have et skjult ark, hvor der defineres ranges der skal gemmes/opdatares til/fra database. Der vil nok også være skjulte rækker/kolonner der indeholder ID'er på de rækker og kolonner der skal gemmes. Brugerne skal, når de åbner arket, kunne refreshe sine tal fra databasen, og når de er færdige med at ændre sine tal, skal ændringer (og kun ændringer) kunne gemmes ned i databasen. I udgangspunktet forestiller jeg mig at udvikle noget VBA der bruger ADO til at gemme/hente data fra database. Udfordringen bliver at lave koden så generel, at den kan genbruges på mange forskellige regneark, sålænge de opfylder nogle krav til hvor informationer om aktuelle ranges er, og også indeholder nødvendige ID'er til at hente/gemme i databasen.


Har nogen tilsvarende erfaringer som de kan viderebringe, eller eventuelt har link til nogle eksempler på sådan funktionalitet?
Avatar billede tonnym Nybegynder
11. marts 2005 - 10:09 #1
Lyder spændende da jeg selv bruger excel som front end til access databaser i en lang række rapporter.

Desværre har jeg ikke, endnu, lavet data overførslen to vejs, men det er noget jeg kunne forestille mig at bruge i fremtiden.

Jeg kunne tænke at det måske var en løsning med et ark som henter data, og et ark som sender data, således kan man fra ind data arket hente data frem i det layout man vil, og i "ud data arket" lave en makro som sender data tilbage hvis de er forskellige fra det man hentede. Måske lidt kompliceret i forhold til hvad en super expert i VBA kan lave, men det er mine udmiddelbare tanker omkring to vejs kommunikation med en database.

Men mest af alt, så blot en kommentar for at kunne følge udviklingen :o)
Avatar billede lorentsnv Nybegynder
11. marts 2005 - 11:58 #2
Hej tonnym, og tak for din kommentar. Vi har også været inde på tanken om at have et ind-data-ark og et  ud-data-ark, eller også have et ark skjult, hvor den egentlige datauveksling med databasen foregår, og så kan brugerne linke sig til data og dermed være mere fleksible i opstilning af sine data.

Foreløbig er vi gået lidt fra denne tanke, da vi også vil have cellekommentarer gemt i databasen, og måske også noget af formateringen (baggrundsfarve bruges i nuværende regneark til at indikere foreskellige 'stader' af data).

I første omgang vil vi nok lade brugerne indatere data direkte i det dataområde som skal udveksles i databasen, men vi vil definere nogle ranges som bliver udveklet med database, og alle områder udover disse, bliver kun gemt i Excel. Derved er der nogle områder af regnearket hvor der vil være nogle regler for hvordan opsætning og brug af disse områder skal være, samt nogle områder hvor brugerne frit kan gøre hvad de vil, men hvor de sidste områder ikke bliver behandlet.
Avatar billede bak Forsker
11. marts 2005 - 22:41 #3
hvordan havde i tænkt jer at gemme kommentarer og formatering i en sql-database ?
Bortset fra det lille issue, så ville tonnym's problem være til at løse, hvis man brugte skabeloner til brugerne (det er vel i princippet det man gør).
hvis man bruger guiden "Skabelon med datasporing" få man mulighed for at bruge en accessdatabase (eller et excel regneark, dbase-fil mv.) til at gemme nøjagtig de felter man har lyst til.
Så er problemet vel kun at få data hentet ind, men det ser ud til at du godt kan, tonny.
Lorentsnv's problem kan ikke løses på den måde, da vi her taler om en sql-database og det ser umiddelbart ikke ud til at datasporing understøtter dette.
Vil lige tænke videre over det :-)
Avatar billede bak Forsker
11. marts 2005 - 22:44 #4
BTW har i set denne artikel, der er ikke langt fra asp til vba
http://www.eksperten.dk/artikler/378
Avatar billede lorentsnv Nybegynder
25. august 2006 - 23:02 #5
Jeg lukker spørgsmålet nu. Jeg fik lavet en løsning med .net til Excel 2002, ved at bruge Office XP Primary Interop Assemblies (PIAs). Derved kunne jeg lave en vb.net løsning hvor jeg lavet en Excel add-in som sendte alle data til en central database, og hentet alle data tilbage fra central database for rapportering.

Jeg brugte ikke nogen af svarene i denne løsning, da der ikke var noget nye i dem, og har derfor i udgangspunktet ikke uddelt poeng. Hvis i er ueninge i dette, hører jeg gerne fra jer.
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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