Autor Thema: db öffnen  (Gelesen 2593 mal)

Offline my head

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
db öffnen
« am: 15.05.03 - 13:15:13 »
wie öffne ich eine datenbank mit script damit ich darin etwas suchen kann?

ich hab den namen und will in der anderen db anhand des namens eine tel-nr finden...


Offline Performance

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.096
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:db öffnen
« Antwort #1 am: 15.05.03 - 13:24:49 »
dim db as NotesDatabase
Set db = New NotesDatabase(dbServer, dbPath )

suchen mit der Funktion  db.search


ist alles in der Hilfe sehr gut beschrieben  ;)


cu
Wir können alles außer hochdeutsch !

Alles ist möglich, es ist nur eine Frage der Zeit oder des Geldes!

Offline my head

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
Re:db öffnen
« Antwort #2 am: 15.05.03 - 14:58:30 »
wenn ich mit einer collection dann durch alle dokumente gehe, brauch ich ne schleife...

do while doc <>""
 ....
loop

funktioniert nicht... was brauch ich da??

Offline MisterDa

  • Aktives Mitglied
  • ***
  • Beiträge: 163
  • Geschlecht: Männlich
  • Was zählen Schafe, wenn sie nicht schlafen können?
Re:db öffnen
« Antwort #3 am: 15.05.03 - 15:07:46 »
Set doc = documentCollection.GetFirstDocument
...
While Not (doc Is Nothing)
               .....
   Set doc = documentCollection.GetNextDocument(doc)
Wend

Sollte funktionieren

Gruß
MisterDa
« Letzte Änderung: 15.05.03 - 15:09:26 von MisterDa »
Win2k
Designer 5.08

Offline my head

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
Re:db öffnen
« Antwort #4 am: 15.05.03 - 15:15:22 »
ich habe das ganze so gelöst... krieg aber immer die meldung "type mismatch" beim ausführen


Sub Initialize
   'Variablendeklarationen für AKD-TelefonDB
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim collection As NotesViewEntryCollection
   Dim doc As NotesDocument
   Dim entry As NotesViewEntry
   'Variablendeklarationen für DB "alle Nummern"
   Dim srcDb As NotesDatabase
   Dim srcView As NotesView
   Dim srcCollection As NotesViewEntryCollection
   Dim srcDoc As NotesDocument
   Dim srcEntry As NotesViewEntry
   'Variablenbelegung für AKD-TelefonDB   
   Set db = session.CurrentDatabase
   Set view = db.GetView("uebersicht")
   Set collection = view.AllEntries
   'Variablenbelegung für DB "alle Nummern"
   Set srcDb = New NotesDatabase("","names.nsf")
   Set srcView = srcDb.GetView("People")
   Set srcCollection = srcview.AllEntries
   'Variablenbelegung zum "Suchen"
   Set entry = collection.GetFirstEntry()   
   Set doc = entry.Document
   Set srcEntry = srcCollection.GetFirstEntry()   
   Set srcDoc =srcEntry.Document
   While Not (doc Is Nothing)
      If doc.nmbTel = "" Then
         If doc.txtNachname = srcDoc.LastName Then
            If doc.txtVorname = src.FirstName Then
               doc.nmbTel = srcDoc.OfficePhoneNumber
            Else
               Set srcEntry = srcCollection.GetNextEntry(SrcEntry)
               Set srcDoc =srcEntry.Document
            End If
         Else
            Set srcEntry = srcCollection.GetNextEntry(srcEntry)
            Set srcDoc =srcEntry.Document
         End If
      End If
      Set entry = collection.GetNextEntry(entry)
      Set doc = entry.Document
   Wend
End Sub

Offline MisterDa

  • Aktives Mitglied
  • ***
  • Beiträge: 163
  • Geschlecht: Männlich
  • Was zählen Schafe, wenn sie nicht schlafen können?
Re:db öffnen
« Antwort #5 am: 15.05.03 - 15:22:35 »
an welcher Stelle kriegst die Meldung genau? Hast mal den debugger drübelaufen lassen?

MisterDa
Win2k
Designer 5.08

Offline my head

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
Re:db öffnen
« Antwort #6 am: 15.05.03 - 15:30:46 »
weiß nicht wo!
krieg die meldung beim ausführen!

wie komm ich in den debug-modus?
bzw. wie stell ich fest wo der fehler ist??

Offline MisterDa

  • Aktives Mitglied
  • ***
  • Beiträge: 163
  • Geschlecht: Männlich
  • Was zählen Schafe, wenn sie nicht schlafen können?
Re:db öffnen
« Antwort #7 am: 15.05.03 - 15:34:32 »
in den Debug-Modus kommst über Datei->Extras->Debug Lotus Script
Der Debugger startet dann automatisch, sobald du beim Ausführen Code ausführst..

Dann kannst du deine Code-Zeilen Schritt für Schritt durchgehen und feststellen wo der Fehler liegt.

MisterDa
Win2k
Designer 5.08

Offline my head

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
Re:db öffnen
« Antwort #8 am: 15.05.03 - 15:39:20 »
if doc.nmbTel = "" then

da ist der type mismatch...
nmbTel ist ein textfeld

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:db öffnen
« Antwort #9 am: 15.05.03 - 15:41:08 »
Hi,

die Abfrage muß so aussehen:

if doc.nmbTel(0) = "" then ...


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

Offline my head

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
Re:db öffnen
« Antwort #10 am: 16.05.03 - 08:41:20 »
in diesem script sind zwei fehler (fett markiert!):
1. hier sollte der wert in die andere variable übertragen werden...
2. hier kommt die meldung "object variable not set"

kann mir irgendwer helfen??
ich hab nämlich keine ahnung was das sein könnte!

danke schon mal


Sub Initialize
   Dim schalter As Integer
   'Variablendeklarationen für AKD-TelefonDB
   Dim session As New NotesSession
   Dim db As NotesDatabase
   Dim view As NotesView
   Dim collection As NotesViewEntryCollection
   Dim doc As NotesDocument
   Dim entry As NotesViewEntry
   'Variablendeklarationen für DB "alle Nummern"
   Dim srcDb As NotesDatabase
   Dim srcView As NotesView
   Dim srcCollection As NotesViewEntryCollection
   Dim srcDoc As NotesDocument
   Dim srcEntry As NotesViewEntry
   'Variablenbelegung für AKD-TelefonDB   
   Set db = session.CurrentDatabase
   Set view = db.GetView("uebersicht")
   Set collection = view.AllEntries
   'Variablenbelegung für DB "alle Nummern"
   Set srcDb = New NotesDatabase("","names.nsf")
   Set srcView = srcDb.GetView("People")
   Set srcCollection = srcview.AllEntries
   'Variablenbelegung zum "Suchen"
   Set entry = collection.GetFirstEntry()   
   Set doc = entry.Document
   Set srcEntry = srcCollection.GetFirstEntry()   
   Set srcDoc =srcEntry.Document
   While Not (doc Is Nothing)
      schalter = 0
      If doc.nmbTel(0)= "" Then
         While Not schalter = 1
            If doc.txtNachname(0)= srcDoc.LastName(0) Then
               If doc.txtVorname(0) = srcDoc.FirstName(0) Then
                  doc.nmbTel = srcDoc.OfficePhoneNumber
                  schalter = 1
               Else
                  Set srcEntry = srcCollection.GetNextEntry(SrcEntry)
                  Set srcDoc =srcEntry.Document
               End If
            Else
               Set srcEntry = srcCollection.GetNextEntry(srcEntry)
               Set srcDoc =srcEntry.Document

            End If
         Wend
      End If
      Set entry = collection.GetNextEntry(entry)
      Set doc = entry.Document
   Wend
End Sub

Offline Don Pasquale

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.390
  • Geschlecht: Männlich
  • Don Pasquale
    • Auf Verlorenem Posten
Re:db öffnen
« Antwort #11 am: 16.05.03 - 08:49:08 »


1) Hier muß mindestens das item angesprochen werden :
doc.nmbTel = srcDoc.OfficePhoneNumber(0)

sicher wäre da auch noch eine Zuweisung a la

set item =


Hier funktioniert es :
Set srcEntry = srcCollection.GetFirstEntry()  
und hier nicht :
Set srcEntry = srcCollection.GetNextEntry(srcEntry)

Suche den Unterschied :-)


ciao

Don Pasquale

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:db öffnen
« Antwort #12 am: 16.05.03 - 09:04:47 »
Hi,

Zitat
1) Hier muß mindestens das item angesprochen werden :
doc.nmbTel = srcDoc.OfficePhoneNumber(0)

Da muss ich aber widersprechen. Das sollte auch so gehen:

doc.nmbTel = srcDoc.OfficePhoneNumber

Ich mach das nur so und habe bisher nie Probleme gehabt.


Zitat
Hier funktioniert es :
Set srcEntry = srcCollection.GetFirstEntry()  
und hier nicht :
Set srcEntry = srcCollection.GetNextEntry(srcEntry)

Suche den Unterschied :-)

Wo soll den bitte schön der Unterschied sein? Oder bin ich blind so früh am Morgen.

Axel


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

Offline Axel_Janssen

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 769
Re:db öffnen
« Antwort #13 am: 16.05.03 - 09:13:13 »
... vielleicht ist srcdoc nothing.
ich würde das mal im debugger nachprüfen.
... design patterns are abstract designs that help identify the structure and elements involved in a specific design solution. From this, a concrete implementation can be produced.
Kyle Brown

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz