Autor Thema: öffentliches Adressbuch definieren  (Gelesen 2354 mal)

Offline Lorenz

  • Junior Mitglied
  • **
  • Beiträge: 63
  • Geschlecht: Männlich
öffentliches Adressbuch definieren
« am: 25.07.03 - 08:58:56 »
hallo

ich habe hier ein script von axel (thx) und mir gemischt ::). ziel ist es aus dem names, bzw. der view ($VIMPeople), neue dokumente heraus zu kopieren. der kopiervorgang funktioniert eigentlich gut, solange der agent im names ist. kopiere ich den agent aber in meine db. funktioniert gar nichts mehr. dh. es gibt aber auch keine fehlermeldung.

ich vermute der fehler ligt im oberen teil, bei der selektion des names / ($VI.. view. kann mir jemand helfen?

vielen dank für eure hilfe

das script:

Sub Initialize
   Dim doc As NotesDocument
   Dim doc1 As NotesDocument
   
   Dim Session As New NotesSession
   Dim db As NotesDatabase
   Set db = session.CurrentDatabase
   
   
   Dim view As NotesView
   Dim picklist As Variant
   Dim namesdoc As NotesDocument
   Dim item As NotesItem
   Dim vTmp As Variant  
   Dim i As Integer
   Dim books As Variant
   Dim done As Integer
   Dim iMaxValue As Integer
   
   
'Suchen des öffentlichen Adressbuches und Zugriff auf die entspr. Ansicht  
   done = False
   books = session.AddressBooks
   
   Forall b In books
      
      If (b.IsPublicAddressBook) And (Not done) Then
         
         Call b.Open( "", "" )
         Set view = b.GetView("($VIMPeople)")
         
         done = True
         
      End If
   End Forall
   
   Msgbox "TEST"
   
   
   If done Then
      
   ///hier beginnt der kopiervorgang

Set doc = view.GetFirstDocument
      
      While Not ( doc Is Nothing )   
         Set tmpdoc  = view.GetNextDocument(doc)         
                  
         Set doc1=db.createDocument

doc1.Form="Formname"

usw....
« Letzte Änderung: 25.07.03 - 08:59:16 von Lorenz »

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:öffentliches Adressbuch definieren
« Antwort #1 am: 25.07.03 - 09:12:57 »
Hi,

ich kann auf den ersten Blick nicht erkennen, wo ein Fehler sein kann. Lass mal den Debugger drüber laufen und schau die die einzelnen Variablen an.

Läuft deine DB lokal oder auf dem Server? Lokal funktioniert das Ganze nicht richtig.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Glombi

  • Gast
Re:öffentliches Adressbuch definieren
« Antwort #2 am: 25.07.03 - 09:23:14 »
Hi,
hast Du denn die richtige Maske in Deiner Datenbank? Darfst Du in der Datenbank Dokument erstellen?

Wird die msgbox "TEST" angezeigt?

Besser wäre noch ein
if not view is nothing then
...
end if
Wenn man auf Objekte zugreift, IMMER vorher abfragen, ob die überhaupt da sind.

Und wie Axel bereits gesagt hat, bie Fehler zuerst mal den Debugger laufen lassen - Step by Step.

Andreas

Offline Lorenz

  • Junior Mitglied
  • **
  • Beiträge: 63
  • Geschlecht: Männlich
Re:öffentliches Adressbuch definieren
« Antwort #3 am: 25.07.03 - 09:30:57 »
Hallo

also die db ist auf einem server. von dort aus ist es auch möglich ein names zu finden.

der dubugger meint nicht viel. er bringt keine fehlermeldungen.

obwohl ich eigentlich kein freund von hardcoded script bin, könnte ich ja auch einfach die db mit namen fest programieren. müsste ich da in etwa folgendes script eingeben:

Call b.Open( "AdminServer", "names.nsf" )
Set view = b.GetView("($VIMPeople)")

wie müsste ich b definieren

mittels
dim b as string
b = session.AdressBooks

???

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:öffentliches Adressbuch definieren
« Antwort #4 am: 25.07.03 - 09:39:17 »
Hi,

b wird nicht definiert, das passiert automatisch.  Schau dir dazu auch mal die Hilfe zur ForAll - Anweisung in der Designer-Hilfe an.

Ich habe auch nicht erwartet, dass der Debugger ein Fehlermeldung bringt. Ich bin eher an dem Verhalten der Variablen interessiert. Wann wird welche Variable gefüllt. nur so kann man den Fehler einkreisen.

Zitat

Call b.Open( "AdminServer", "names.nsf" )
Set view = b.GetView("($VIMPeople)")


Wenn du das so machen willst, dann ist b vom Typ Notesdatabase

Dim b As NotesDatabase

Set b = New NotesDatabase("AdminServer", "names.nsf")
Set view = b.GetView("($VIMPeople)")

Würde ich dir aber nicht empfehlen.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Lorenz

  • Junior Mitglied
  • **
  • Beiträge: 63
  • Geschlecht: Männlich
Re:öffentliches Adressbuch definieren
« Antwort #5 am: 25.07.03 - 10:10:45 »
da ich das ding heute produktiv schalten muss werde ich wohl die hc (hardcoded) variante wählen.
klar hat man da nur nachteile, bis auf dass ich schneller fertig bin.

ich werd mir aber für die ferien mal noch ein script buch kaufen. ich suche so was mit der stufe "wenig weiter als anfänger". kennst du da ein gutes?

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:öffentliches Adressbuch definieren
« Antwort #6 am: 25.07.03 - 10:41:05 »
Hi,

schau mal hier: http://www.cul.de/domino5.html

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Lorenz

  • Junior Mitglied
  • **
  • Beiträge: 63
  • Geschlecht: Männlich
Re:öffentliches Adressbuch definieren
« Antwort #7 am: 25.07.03 - 13:23:36 »
gekauft  ;)

vielen dank.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz