Avatar billede kc230877 Nybegynder
09. oktober 2003 - 09:26 Der er 1 løsning

Hvordan hentes et bestemt Item i Lotus Notes database

Jeg er ved at udvikle et Windows Host script i VBScript og er rendt ind i et problem. Jeg skal hente nogle oplysninger fra dokumenterne i et view som ligger i en Lotus Notes database.

Mit problem er at jeg kan ikke få fat i textfeltet 'id' som ligger i dokumenterne. Jeg har selvfølgelig fjerne udkommentering ud for det pågældende forsøg, før jeg har testet.

Er det en forkert metode jeg bruger eller skal feltet 'id' sættes til en eller form for public på formelementet?


Min kode ser sådan ud:

Dim Session
Dim Db
Dim View
Dim doc
Dim str
Dim pathto, pathfrom
Dim uid, item

Set Session = CreateObject("Notes.NotesSession")
Set Db = Session.GETDATABASE("Dompub09/srv/domdoc", "b00011/fototek/users.nsf")
Set View = Db.GetView("FotoOk")
Set doc = View.GetFirstDocument()

'pathfrom = "M:\\AFD4140\\Intranet\\Fototek\\Thumbnails"
'pathto = "c:\\temp\\tn"

While Not(doc Is Nothing)

' -> Mit første forsøg giver ikke noget resultat (=fejl) <-
'    Forall uid In doc.items
'        Wscript.echo(uid.Name)
'    end forall


' -> Dette forsøg giver også fejl <-
'    Set uid = doc.GetItemValue("id")


' -> Dette giver ikke fejl før jeg vil skrive navnet på feltet ud.
'    uid = doc.GetItemValue("id")
'      Wscript.Echo(uid.Name)


' -> Dette giver resultatet -1, men jeg ved at feltet eksistere.
        Wscript.Echo(doc.hasItem("id"))

    Set doc = view.GetNextDocument(doc)
Wend

Set doc = Nothing
Set View = Nothing
Set Db = Nothing
Set Session = Nothing
Avatar billede kc230877 Nybegynder
09. oktober 2003 - 10:54 #1
Jeg fandt selv en løsning.

Efter at jeg havde omskrevet en koden i while-løkken, viker scriptet.

Resultatet er her:

Dim Session
Dim Db
Dim View
Dim doc
Dim str
Dim pathto, pathfrom
Dim uid

Set Session = CreateObject("Notes.NotesSession")

Set Db = Session.GETDATABASE("Dompub09/srv/domdoc", "b00011/fototek/users.nsf")
Set View = Db.GetView("FotoOk")
Set doc = View.GetFirstDocument()

'pathfrom = "M:\\AFD4140\\Intranet\\Fototek\\Thumbnails"
'pathto = "c:\\temp\\tn"

While Not(doc Is Nothing)

    For each uid in doc.items
        if (uid.name = "id") then
            wscript.echo(uid.text)
        end if
    next

    Set doc = view.GetNextDocument(doc)
   
Wend

Set doc = Nothing
Set View = Nothing
Set Db = Nothing
Set Session = Nothing
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
Kurser inden for grundlæggende programmering

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