Autor Thema: Datenbankvorwahl mit VB6  (Gelesen 5153 mal)

Offline Mortione

  • Frischling
  • *
  • Beiträge: 26
Datenbankvorwahl mit VB6
« am: 19.04.07 - 08:26:11 »
Hallo zusammen,
in einem VB6 Programm erzeuge ich eine Notes E-Mail. Klappt wunderbar.
Ich möchte jetzt vor dem erzeugen der E-Mail eine Auswahl meiner zwei verfügbaren Datenbänke erstellen. Wie kann ich denn Einfluß auf die angewählten Datenbänke nehmen.
Danke im voraus.
Folgenden Code verwende ich zur Zeit:

    Dim Maildb As Object 'Die Datenbank
    Dim UserName As String 'Der Benutzername
    Dim MailDbName As String 'Der Datenbankname
    Dim MailDoc As Object 'Das Maildokument selbst
    Dim MailUIDoc As Object 'Das Frontend-Maildokument selbst
    Dim AttachME As Object 'Der Anhang (Richtext)
    Dim Session As Object 'Die Notes Session
    Dim EmbedObj As Object 'Ein eingebettetes Objekt (Anhang)
    Set Session = CreateObject("Notes.NotesSession")

    Set Maildb = Session.GETDATABASE("", MailDbName)

     If Maildb.isOpen = True Then
          'Fertig zum mailen!
     Else
         Maildb.OPENMAIL
     End If
   
    'Ein neues Maildokument erstellen
    Set MailDoc = Maildb.CreateDocument
   
    MailDoc.Form = "Memo"
    MailDoc.sendto = Recipient
    MailDoc.Subject = Subject
    MailDoc.body = BodyText
    MailDoc.SAVEMESSAGEONSEND = SaveIt

Driri

  • Gast
Re: Datenbankvorwahl mit VB6
« Antwort #1 am: 19.04.07 - 08:28:03 »
Zitat
Set Maildb = Session.GETDATABASE("", MailDbName)

An der Stelle definierst Du die Datenbank. Du müßetst also an der Stelle für eine entsprechende Auswahl sorgen und dann erst mit Set Maildb die jeweilige DB zuweisen.

Offline Mortione

  • Frischling
  • *
  • Beiträge: 26
Re: Datenbankvorwahl mit VB6
« Antwort #2 am: 19.04.07 - 09:12:06 »
Hallo Diri,
vielen Dank, aber da liegt mein Problem. Es wird ja meine Standarddatenbank gezogen.
Ich denke es muss so funktionieren:
...
MailDbName = "mail\a\Datenbank_1.nsf"
else
MailDbName = "mail\a\Datenbank_2.nsf"
Das funktioniert aber nicht.

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Datenbankvorwahl mit VB6
« Antwort #3 am: 19.04.07 - 09:18:40 »
Definiere "Das funktioniert aber nicht."

Weist er der Variablen den korrekten Wert zu und öffnet trotzdem die falsche DB?
Oder kommt er erst gar nicht in den korrekten "if/else" Zweig hinein?

usw?

"Das funktioniert aber nicht" hilft und nicht wirklich weiter, Dir zu helfen.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Datenbankvorwahl mit VB6
« Antwort #4 am: 19.04.07 - 09:54:08 »
... im Augenblick sehe ich noch keine Verzweigung für die Auswahl einer DB???

Wie soll die Entscheidung zur Datenbank denn gefällt werden? - Frontend - Backend ??

Toni
Grüßle Toni :)

Offline Mortione

  • Frischling
  • *
  • Beiträge: 26
Re: Datenbankvorwahl mit VB6
« Antwort #5 am: 19.04.07 - 09:59:41 »
Stimmt schwache Aussage:

Also das ist der Code :
Public Sub SendNotesMail(Subject As String, Recipient, BodyText As String, SaveIt As Boolean)
    Dim Maildb As Object 'Die Datenbank
    Dim UserName As String 'Der Benutzername
    Dim MailDbName As String 'Der Datenbankname
    Dim MailDoc As Object 'Das Maildokument selbst
    Dim MailUIDoc As Object 'Das Frontend-Maildokument selbst
    Dim AttachME As Object 'Der Anhang (Richtext)
    Dim Session As Object 'Die Notes Session
    Dim EmbedObj As Object 'Ein eingebettetes Objekt (Anhang)
   
    'Vorwahl der Datenbank

         'MailDbName = "mail\a\standard.nsf"
     'oder
    MailDbName = "mail\a\automsv.nsf"
   
       
    'Die Session starten
    Set Session = CreateObject("Notes.NotesSession")
       
    'Datenbank öffnen
     Set Maildb = Session.GETDATABASE("", MailDbName)
     
     If Maildb.isOpen = True Then
          'Fertig zum mailen!
     Else
         Maildb.OPENMAIL
     End If
   
    'Ein neues Maildokument erstellen
    Set MailDoc = Maildb.CreateDocument
   
    MailDoc.Form = "Memo"
    MailDoc.sendto = Recipient
    MailDoc.Subject = Subject
    MailDoc.body = BodyText
    MailDoc.SAVEMESSAGEONSEND = SaveIt
   
    Dim Workspace As Object
    Set Workspace = CreateObject("Notes.NotesUIWorkspace")
   
    Call Workspace.EditDocument(True, MailDoc).GotoField("Body")


Tschuldigung aber mein Wissen über Notes hält sich stark in Grenzen.
Vielen Dank schon einmal

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Datenbankvorwahl mit VB6
« Antwort #6 am: 19.04.07 - 10:02:24 »
... ich sehe immer noch keine Verzweigung, und ob du die Entscheidung im Frontend oder Backend haben willst? Gib mal genauer bekannt, wie du den Ablauf haben willst...

Toni
Grüßle Toni :)

Offline Mortione

  • Frischling
  • *
  • Beiträge: 26
Re: Datenbankvorwahl mit VB6
« Antwort #7 am: 19.04.07 - 10:20:25 »
Also das ganze befindet sich in meinem VB6 Programm im Frontend.
Der User arbeitet zeitgleich mit meinem VB6 Programm und hat Notes 7 geöffnet. Innerhalb des VB6-Programms wird die Routine gestartet und in Notes wird dann die entsprechende Mail generiert.

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Datenbankvorwahl mit VB6
« Antwort #8 am: 19.04.07 - 10:27:15 »
.. du musst vor dem initialisieren der  MailDB den User zu einer Entscheidung füheren, welche der beiden Datenbanken verwendet werden soll...

Dazu kannst du entweder den Dialog mit Ja/Nein-MsgBox verwenden oder über eine separate Dialogmaske arbeiten, die du in VB6 dazu benützt...

Toni
Grüßle Toni :)

Offline Mortione

  • Frischling
  • *
  • Beiträge: 26
Re: Datenbankvorwahl mit VB6
« Antwort #9 am: 19.04.07 - 10:57:10 »
Hallo ata,

ja das verstehe ich mit der Entscheidung (fehlt noch), aber wie wird den die entsprechende Datenbank angesprochen ?
Egal was ich hier reinschreibe oder kompl. weglasse, es wird immer die
Standard-Datenbank geöffnet
...
MailDbName = "mail\a\automsv.nsf
...

Ist  MailDbName = überhaupt richtig ?

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Datenbankvorwahl mit VB6
« Antwort #10 am: 19.04.07 - 11:13:22 »
Ich denke mal, dass das daran liegt, dass die Datenbank noch nicht offen ist und der Code jedesmal in diese Verzweigung zum "OpenMail" kommt:
Code
If Maildb.isOpen = True Then
          'Fertig zum mailen!
     Else
         Maildb.OPENMAIL
End If
Und eben dieser Code verursacht das. Designerhilfe sagt zu "OpenMail":
Zitat
Assigns a database to the current user's mail database and opens that database.
Ich würde an deiner Stelle dort mit notesDatabase.open(server,database) arbeiten. Das tut das, was du möchtest.

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Datenbankvorwahl mit VB6
« Antwort #11 am: 19.04.07 - 15:35:17 »
... oder mit NotesSession

Dim session As new NotesSession
Dim dbMail As NotesDatabase

Set dbMail = session.GetDatabase( "Servername" , "Pfad" )

If dbMail.IsOpen Then
  ' OK
Else
   dbMail.Open
End If

.. so auf die schnelle

toni
Grüßle Toni :)

Offline MadMetzger

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.052
  • Geschlecht: Männlich
  • f.k.a. Alexis Pyromanis
Re: Datenbankvorwahl mit VB6
« Antwort #12 am: 19.04.07 - 16:28:34 »
Anton, so macht er das ja auch. Ich meinte eigentlich nur, dass er das OpenMail durch das Open ersetzen sollte.

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Datenbankvorwahl mit VB6
« Antwort #13 am: 19.04.07 - 23:24:43 »
@MadMetzger

... du hast das absolut richtig erkannt - er öffnet ja explicit seine Standard-Mail-DB. Ich hatte ihm nur noch einen weiteren Weg zur Initialisierung einer DB gegeben...

Toni
Grüßle Toni :)

Offline Mortione

  • Frischling
  • *
  • Beiträge: 26
Re: Datenbankvorwahl mit VB6
« Antwort #14 am: 20.04.07 - 14:04:45 »
Gruß an alle !!!
Vielen Dank - Es funktioniert

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz