Avatar billede medusa Nybegynder
26. april 2003 - 14:16 Der er 11 kommentarer og
1 løsning

Excel -> Notes

Hej Eksperter, jeg har et problem med integrationen mellem notes og Excel. Først står jeg i notes og henter data fra forskellige dokumenter, og informationen sendes over i et regneark. Nu skal det så fungere sådan at man skal kunne rette/oprette informationer i regnearket og trykke på en knap som så går over i notes og retter/opretter oplysningerne. Men det kan min computer ikke. Når jeg trykker på knappen til at oprette får jeg beskeden "db not open". Det er jo samme database som jeg står i, så gu' er den åben. Det mystiske er at det virker for mine kollegaer men bare ikke for mig. Jeg tror det har noget med en opsætning i enter Notes eller Excel, men jeg har virkelig ingen idé om hvor jeg skal begynde at lede. Nogen som kan hjælpe?
Avatar billede jogii Nybegynder
28. april 2003 - 09:54 #1
Hej Medusa.
Umiddelbart er der ingen "standard" forbindelse mellem Excel og Notes. Hvis nogen har mulighed for at læse Notes data direkte i et regneark er dette programmeret ind i regnearket. På samme måde må det være programmeret et opdateringer fra Excel bliver overført til Notes. Det ligger med andre or i de knapper som udvikleren har lagt ind i regnearket.

Oftest anvendes en teknik der hedder ODBC. Det er en forbindelse mellem systemer, hvor der tages højde for brugerens rettigheder i de pågældende systemer. Når ODBC ikke virker kan det enten skyldes at ODBC er sat forkert op på din maskine (meget tænkeligt) eller at dine adgangsrettigheder til Notes-databasen ikke er tilstrækkelige (oprette/rette dokumenter).
//Jörg
Avatar billede medusa Nybegynder
28. april 2003 - 09:57 #2
Hej Jörg
Nu er jeg ikke ekspert på ODBC, så kan du fortælle mig hvor jeg kan se min opsætning ?
Avatar billede jogii Nybegynder
28. april 2003 - 10:11 #3
Det kommer an på så meget. Men først og fremmest skal du se om det overhovedet er ODBC der anvendes. En anden mulighed er nemlig OLE. Det er "knappen" i regnearket som fortæller hvad der brugt. Alt andet lige er det bedst at du kontakter den der har oprettet/programmeret det pågældende regnark.
//Jörg
Avatar billede medusa Nybegynder
28. april 2003 - 10:24 #4
Jeg søgte på ODBC i windows og fik en ODBC-administrator i kontrolpanelet. Jeg tjekkede min indstilling med min kollega's og det var ens.
På knappen bruges COM som connection metode.
Avatar billede jogii Nybegynder
28. april 2003 - 10:32 #5
Så vidt så godt. Så er det ikke ODBC vi skal bekymre os om.
Har du prøvet at udfylde dit regneark og give det videre til en anden person? Denne test kan afsløre om det er regnearkets programmering, dine indtastninger eller din forbindelse der er noget i vejen med.

Når COM/OLE melder tilbage at "Database not open" kan det skyldes at koden får fat i en lokal udgave af databasen. Er det muligt?
Må du offentliggøre den kode der anvendes til knappen, eller dele af den?
Avatar billede medusa Nybegynder
28. april 2003 - 10:37 #6
Vi lavede en test hvor knappen forsøgte at få fat på min lokale navne/adressebog, men det gik heller ikke. Jeg er derfor meget sikker på det er min computer som har en eller anden sindsyg indstilling.
Her er den meget simple kode i knappen. Man spørger sig selv hvordan noget så simpelt kan gå galt?!

Sub Opret()
    Dim session As New NotesSession
    Call session.Initialize
   
    Dim db As NotesDatabase
    Dim agent As NotesAgent
   
    Set db = session.GetDatabase("DemoServer", "Markedsfoering\demo\Prototyp.nsf")
    Set agent = db.GetAgent("aa_ExcelDanDokument")
    agent.Run
   
End Sub
Avatar billede jogii Nybegynder
28. april 2003 - 11:16 #7
Nu er jeg ikke en ørn til Excel/VB, men afhængig af om det er VB eller VBscript skal Notes kaldes på forskellig vis.

Din kode ser ud som ægte VisualBasic kode.
Nedenstående kode er den til at kalde Notes via OLE

    Dim session As Object
    Dim db As Object
 
    Set session = CreateObject("Notes.NotesSession")
    MsgBox session.UserName
    Set db = session.GetDatabase("", "names.nsf")
    MsgBox db.Title

For at kalde Notes via COM skal koden vist nok se sådan ud:

    Dim session As Object
    Dim db As Object
 
    Set session = CreateObject("Lotus.NotesSession")
    call session.Initialize
    MsgBox session.UserName
    Set db = session.GetDatabase("", "names.nsf")
    MsgBox db.Title

//Jörg
Avatar billede medusa Nybegynder
28. april 2003 - 11:22 #8
Det er vist ikke den store forskel på din eller min måde at kalde notes på, da det jo virker for alle andre end mig.

Jeg prøvede at sætte din kode ind i en knap i et regneark. Første msgbox var ok, men ved msgbox db.title fik jeg kun en blank msgbox.
Avatar billede jogii Nybegynder
28. april 2003 - 11:27 #9
Og det ligemeget om du bruger OLE eller COM?
Avatar billede medusa Nybegynder
28. april 2003 - 11:32 #10
Hov! Der virker på OLE men ikke COM.....hmmm! Så må der vel være noget galt med mine COM instillinger.
Avatar billede jogii Nybegynder
28. april 2003 - 11:33 #11
Jeg kan f.eks. ikke få COM-kaldet til at virke på min maskine. Det skyldes nok de mange version af Notes og forskellige placeringer af NOTES.INI for mit vedkommende.
I hjælpeteksten til Notes.COM står følgende:

"Do not confuse these with the OLE automation objects Notes.NotesSession and Notes.NotesUIWorkspace.
The Domino COM objects must be able to locate a valid names.nsf file, looking first in the Domino or Notes program directory and then at the PATH system variable. The KeyFileName setting in the names.nsf file specifies the user ID that COM uses."

//Jörg
Avatar billede medusa Nybegynder
28. april 2003 - 13:43 #12
Jeg har taget kontakt til vores drift-afdeling. Noget jeg generelt nødigt gør da de alligevel ikke fatter en dyt om notes, men problemet må jo ligge på min maskine eller notesprofilen, og det må altså være deres job at finde ud af.

Tusind tak for din hjælp, det fik da indsnævret problemet kraftigt.
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