Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

auf lotus notes datenbank mit excel zugreifen

Forumthread: auf lotus notes datenbank mit excel zugreifen

auf lotus notes datenbank mit excel zugreifen
30.01.2004 11:48:33
alex mair
hallo liebe excelgemeinde,
ich möchte den benutzern einer bestimmten excel-vba-anwendung es gerne ermöglichen, einfach mittels knopfdruck dem excelmodell zugrundeliegende notes - daten zu aktualisieren.
momentan geht das nur indem der benutzer in notes einsteigt, die entsprechende db öffnet, einen file-export macht, excel öffnet und das file lädt.
das geht doch auch über odbc oder?
mein problem nur dass ich von odbc - bis auf die bedeutung des kürzels - keine ahnung habe. selbst nach 2 stunden netzrecherche ist es mir nicht gelungen durchzublicken..
könnte mir bitte jemand kurz beschreiben, wie ich am besten vorgehe? oder kennt / hat wer beispielcode?
vielen dank im voraus!!
alex
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: auf lotus notes datenbank mit excel zugreifen
30.01.2004 13:16:31
Andi_H
Hi Alex,
diesen Code habe ich mal im Netz gefunden um Lotus Datenbank auszulesen.
Option Explicit

Sub adressen_notes()
Dim session As Object
Dim db As Object
Dim view As Object
Dim doc As Object
Dim feld1 As Object
Dim feld2 As Object
Dim Zeile As Integer
'Positionieren auf DB
Set session = CreateObject("Notes.Notessession")
Set db = session.getdatabase("SERVER", "DATENBANK") 'anpassen!!!
'Positionieren auf Ansicht und erstes Dokument
Set view = db.getview("Nach Kategorie")
'     Set doc = view.GetFirstDocument()
Zeile = 1
While Not (doc Is Nothing)
Set feld1 = doc.getfirstitem("Subject")
Worksheets("Tabelle1").Cells(Zeile, 1).Value = feld1.Text
Set feld1 = Nothing
Set doc = view.getnextdocument(doc)
'i = i + 1
Zeile = Zeile + 1
Wend
End Sub

Anzeige
AW: auf lotus notes datenbank mit excel zugreifen
30.01.2004 14:03:26
alex mair
danke, andi
bei mir kommt mit dem code allerdings auch der ominöse laufzeitfehler 7063. konntest du inwischen dieses problem lösen? (hab deinen beitrag im archiv diesbezüglich gefunden)
ciao, alex
AW: NOCH OFFEN
30.01.2004 14:59:22
Andi_H
hi alex,
leider nein, weder hier im Forum, noch sonst im Netz bin ich fündig geworden. Ich nutze Notes nur beruflich und unsere Firmenversion von Notes wurde etwas modifiziert. Ich dachte mir irgendwann das es wohl daran liegen wird.
Hatte schon öfters bezüglich Notes gepostet, das einzige was ich bisher funktionstüchtig vorliegen habe ist die Funktion SENDNOTESMAIL mittels dieser man mails verschickt und kürzlich habe ich hier im Forum eine Anleitung bekommen wie man mehrere Empfänger mittels Excel einfügen kann.
Gruß
ANdi
Anzeige
Lösung
04.02.2004 10:43:33
alex mair
hi andi,
ich hoffe du hast diesen thread noch per mail abonniert. wenn nicht stehts hier für das archiv. die lösung mittels ODBC ist nicht notwendig, ein arbeitskollege empfahl mir auf support.ibm.com nach redbooks zu suchen und ich wurde fündig.
dort gibt es eines namens "COM togther with domino" - von dem hab ich vorliegendes wissen.
ciao, alex


Sub Notes_Telefonbuch_lesen()
' Zugriff auf Notes - Datenbanken mittels COM (Component Objekt Model) ab (Domino) Version 5.0.2b
' Verweis auf Lotus Domino Objects (domobj.tlb) unbedingt erforderlich
' Entsprechende dll findet sich unter..\notes\nlsxbe.dll
' Registrieren z.B. über Start --> Ausführen:  regsvr32 [pfad]\nlsxbe.dll
' Vorliegender code erstellt mittels "com together with domino redbook" - handbuch
Dim DomSession As New NotesSession  'Session
Dim DomDir As NotesDatabase         'Datenbank
Dim DomView As NotesView            'Ansicht
Dim DomDoc As NotesDocument         'Dokument
Dim StrName As String
Dim i As Long
' zur Fehlerbehandlung
Dim StrTestDomSession As String
On Error GoTo ErrorHandler
' zum Testen ob die Notessession schon steht, wenn nicht-
' initialisiert der Errorhandler die Session (Passwortabfrage)
StrTestDomSession = DomSession.CommonUserName
Set DomDir = DomSession.GetDatabase("SERVER", "PFAD+DATENBANKNAME")
Set DomView = DomDir.GetView("ANSICHT")
Set DomDoc = DomView.GetFirstDocument
i = 1
While Not (DomDoc Is Nothing)
' Felder auslesen - Parameter "(0)" unbedingt erforderlich !
' bei meinen drei Beispieldatenfeldern handelt sich es um Telefonbuch- Felder
StrName = DomDoc.GetItemValue("lastname")(0) & " " _
& DomDoc.GetItemValue("firstname")(0) & " " _
& DomDoc.GetItemValue("shortname")(0)
' nächstes Dokument
Set DomDoc = DomView.GetNextDocument(DomDoc)
MsgBox StrName, vbInformation, "Datensatz Nr. " & i
i = i + 1
Wend
GoTo done
ErrorHandler:
If Err = ERR_NOTES_SESSION_NOT_INIT Then
DomSession.Initialize
Resume Next
Else
MsgBox "Laufzeitfehler Nr. " & Err & vbLf & Err.Description, vbCritical
End If
done:
End Sub

Anzeige
;
Anzeige

Infobox / Tutorial

Auf Lotus Notes Datenbank mit Excel zugreifen


Schritt-für-Schritt-Anleitung

Um auf eine Lotus Notes Datenbank mit Excel zuzugreifen, kannst du die folgenden Schritte befolgen:

  1. ODBC-Treiber installieren: Stelle sicher, dass der ODBC-Treiber für Lotus Notes installiert ist. Dies ermöglicht Excel den Zugriff auf die Datenbank.
  2. Datenquelle einrichten:
    • Gehe zu Systemsteuerung > Verwaltung > Datenquellen (ODBC).
    • Füge eine neue Datenquelle hinzu und wähle den Lotus Notes ODBC-Treiber aus.
    • Konfiguriere die Verbindung zu deiner Lotus Notes DB.
  3. Daten abrufen:
    • Öffne Excel und gehe zu Daten > Externe Daten abrufen > Aus anderen Quellen > ODBC-Datenbank.
    • Wähle die zuvor erstellte Datenquelle aus und klicke auf OK.
    • Folge den Anweisungen, um die benötigten Daten zu importieren.

Häufige Fehler und Lösungen

  • Laufzeitfehler 7063: Dieser Fehler tritt häufig bei der Verwendung von VBA-Code auf. Überprüfe, ob die Verbindung zur Lotus Notes Datenbank korrekt ist und ob alle erforderlichen Felder in der Datenbank vorhanden sind.
  • Session nicht initialisiert: Stelle sicher, dass die Lotus Notes-Sitzung korrekt initialisiert wurde. Wenn du eine Fehlermeldung erhältst, versuche, die Session im Fehlerbehandler zu initialisieren.

Alternative Methoden

Wenn du keinen ODBC-Zugriff nutzen möchtest, kannst du auch die Lotus Notes Excel Integration verwenden. Eine andere Möglichkeit ist die Verwendung von VBA mit der COM-Schnittstelle.

Beispielcode:

Dim session As Object
Set session = CreateObject("Notes.NotesSession")

Dieser Ansatz ermöglicht dir, direkt auf die Daten in der Lotus Notes Datenbank zuzugreifen, ohne ODBC verwenden zu müssen.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du mit VBA Daten aus einer Lotus Notes DB auslesen kannst:

Sub adressen_notes()
    Dim session As Object
    Dim db As Object
    Dim view As Object
    Dim doc As Object
    Dim Zeile As Integer
    Set session = CreateObject("Notes.Notessession")
    Set db = session.getdatabase("SERVER", "DATENBANK") ' SERVER und DATABASE anpassen
    Set view = db.getview("Nach Kategorie")

    Zeile = 1
    Set doc = view.GetFirstDocument()
    While Not (doc Is Nothing)
        Worksheets("Tabelle1").Cells(Zeile, 1).Value = doc.getfirstitem("Subject").Text
        Set doc = view.getnextdocument(doc)
        Zeile = Zeile + 1
    Wend
End Sub

Tipps für Profis

  • Fehlerprotokollierung: Implementiere eine Fehlerprotokollierung in deinen VBA-Skripten, um bei Problemen schneller reagieren zu können.
  • Batch-Verarbeitung: Wenn du große Datenmengen verarbeiten musst, überlege, eine Batch-Verarbeitung zu implementieren, um die Effizienz zu steigern.
  • Dokumentation: Halte die Lotus Notes Anleitung und alle relevanten Informationen zu deiner Datenbank griffbereit, um bei Problemen schnell Lösungen zu finden.

FAQ: Häufige Fragen

1. Was ist ODBC?
ODBC steht für Open Database Connectivity und ist eine Schnittstelle, die es ermöglicht, auf verschiedene Datenquellen zuzugreifen, einschließlich Lotus Notes Datenbanken.

2. Wie kann ich eine Lotus Notes Datenbank erstellen?
Um eine Lotus Notes Datenbank zu erstellen, musst du die Lotus Notes-Anwendung öffnen und im Menü die Option zum Erstellen einer neuen Datenbank auswählen. Eine detaillierte Lotus Notes Datenbank erstellen Anleitung findest du in der Lotus-Dokumentation.

3. Kann ich mehrere Lotus Notes Datenbanken in Excel abrufen?
Ja, du kannst mehrere Datenbanken abrufen, indem du verschiedene ODBC-Datenquellen einrichtest oder den VBA-Code anpasst, um die Daten aus verschiedenen Datenbanken zu importieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige