Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Darkface am 17.10.02 - 08:57:24

Titel: Lotus Script: Dialogbox Werte übernehmen
Beitrag von: Darkface am 17.10.02 - 08:57:24
Hallo zusammen,
ich habe folgendes Problem:

Nach dem klick auf dem Button öffnet sich eine Dialogbox.
Nun soll man den Namen und die Nummer eingeben. Diese Dialogbox soll als neues Dokument gespeichert werden und es sollen die 2 Werte (Name + Vorname)aus der Dialogbox in das Hauptdokument (wo der Button sich befindet) übernommen werden.


Danke für jede Hilfe.

Gruß
  André
Titel: Re:Lotus Script: Dialogbox Werte übernehmen
Beitrag von: Glombi am 17.10.02 - 09:06:18
Das könntest Du so machen:

dim ws as New NotesUIWorkspace
dim session as New NotesSession
dim db as NotesDatebase
dim doc as NotesDocument
dim dialogdoc as NotesDocument
dim ret as Integer

set db = session.CurrentDatabase
set doc = ws.CurrentDocument.Document  'oder wie auch immer
set dialogdoc = db.CreateDocument
ret = ws.Dialogbox(,... bla,...,dialogdoc)
if ret then
doc.Name = dialogdoc.Name(0)
doc.VorName = dialogdoc.VorName(0)

'Wenn das Dok. aus der Dialogbox tatsächlich gespeichert werden soll ???
'musst Du noch ein paar Infos setzen:
dialogdoc.Form = "<maskenname / alias>"
call dialogdoc.Save(True,true,true)

end if

Gruß
Andreas
Titel: Re:Lotus Script: Dialogbox Werte übernehmen
Beitrag von: Darkface am 17.10.02 - 09:42:13
Ich habe folgenden Code und er gibt mir einen Fehler aus:
Code
Sub Click(Source As Button)
   Dim oSession As NotesSession
   Dim dbCurrent As NotesDatabase   
   Dim oWorkspace As New NotesUIWorkspace
   Dim docHaupt As NotesUIDocument
   Dim docDialog As NotesDocument
   Dim nDialog As Integer
   
   Set dbCurrent = oSession.CurrentDatabase
   Set docHaupt = oWorkspace.CurrentDocument
   Set docDialog = dbCurrent.CreateDocument
   ndialog = oWorkspace.Dialogbox("Dialog",True,True,False,False,False,docDialog)
   If nDialog Then
      docHaupt.Name = docDialog.DName(0)'Not a Member Name
      docHaupt.Vorname = docDialog.DVorname(0)''Not a Member Vorname
      
      docDialog.Form = "Dialog"
      Call docDialog.Save(True,True,True)
   End If
End Sub

und bei diesem Fehler komme ich nicht weiter. Danke schonmal für die Hilfe.

Gruß
  André
Titel: Re:Lotus Script: Dialogbox Werte übernehmen
Beitrag von: ata am 17.10.02 - 09:46:42
... wie heißt den der Fehler?

ata
Titel: Re:Lotus Script: Dialogbox Werte übernehmen
Beitrag von: Glombi am 17.10.02 - 09:56:04
Hi Ata,
es muss

ndialog = oWorkspace.Dialogbox("Dialog",True,True,False,False,False,False,"TITEL der Dialogbox",docDialog)

heissen, es fehlt ein "false" und der Titel der Dialogbox.

Gruß
Andreas
Titel: Re:Lotus Script: Dialogbox Werte übernehmen
Beitrag von: Glombi am 17.10.02 - 10:00:45
Noch ein Tipp: Wenn Du in der Maske für die Dialogbox die gleichen Feldnamen wie in der Maske verwendest, werden die Werte automatisch übernommen. Vorausgesetzt der Parameter "NoFieldUpdate" ist auf "False" gesetzt (das ist das 3. False in der Formel oben)

Gruß
Andreas
Titel: Re:Lotus Script: Dialogbox Werte übernehmen
Beitrag von: Darkface am 18.10.02 - 08:07:04
Es will nicht gehen. Er sagt mir an folgender Stelle:
Code
docHaupt.Name = docDialog.DName(0)
docHaupt.Vorname = docDialog.DVorname(0)Vorname

Not a Member Name
Not a Member Vorname

Woran kann das liegen?

Gruß
  André
Titel: Re:Lotus Script: Dialogbox Werte übernehmen
Beitrag von: ata am 18.10.02 - 08:35:13
... das sagt er weil du in deinem Code davon ausgehst, daß docHaupt ein NotesDocument ist, es ist aber tatsächlich ein NoteUIDocument. => oWorkspace.CurrentDocument

richtig wäre
Set docHaupt = oWorkspace.CurrentDocument.Document

Die Fehlermeldungen besagen, daß dies keine bekannten Eigenschaften oder Methoden des Objektes sind...

ata
   
Titel: Re:Lotus Script: Dialogbox Werte übernehmen
Beitrag von: Darkface am 18.10.02 - 09:24:28
Ok den Fehler habe ich un raus, aber wie es ja so ist habe ich einen neuen:-( Des sagt bei mir "Object Variable not Set"

Code
Set dbCurrent = oSession.CurrentDatabase

Das wird vielleicht ne schwere Geburt. *g*

Gruß
  André
Titel: Re:Lotus Script: Dialogbox Werte übernehmen
Beitrag von: adminnaddel am 18.10.02 - 09:36:27
@Darkface,

morgen......wäre schon toll, wenn du das problem selber gelöst hast, es dann auch zu posten......es soll leute geben, die lernen von anderen ;D...ja, ich bin gemeint.
wäre toll, wenn du solch etwas postes, denn auch ich bin gerade dabei, dein script durch laufen zu lassen und ich finde nicht den fehler!
grüsse
Titel: Re:Lotus Script: Dialogbox Werte übernehmen
Beitrag von: Glombi am 18.10.02 - 18:31:39
Es fehlt noch

set oSession = New NotesSession

erst dann kannst Du die NotesDatabase setzen

Gruß
Andreas
Titel: Re:Lotus Script: Dialogbox Werte übernehmen
Beitrag von: Darkface am 21.10.02 - 08:15:25
Oh ja stimmt. Danke für alles.

Es funktioniert.

Gruß
  André
Titel: Re:Lotus Script: Dialogbox Werte übernehmen
Beitrag von: Darkface am 21.10.02 - 12:19:09
@adminnaddel:
hier ist der fertige Code.

Code
Sub Click(Source As Button)
   Dim oWorkspace As New NotesUIWorkspace   
   Dim oSession As NotesSession
   Dim dbCurrent As NotesDatabase   
   Dim docHaupt As NotesDocument
   Dim docDialog As NotesDocument
   Dim nDialog As Variant
   
   Set oSession = New NotesSession
   Set dbCurrent = oSession.CurrentDatabase
   Set docHaupt = oWorkspace.CurrentDocument.Document
   Set docDialog = dbCurrent.CreateDocument
   
   nDialog = oWorkspace.Dialogbox("Dialog",True,True,False,False,False,False,"neue Person",docDialog)
   
   If nDialog Then
      docHaupt.Name = docDialog.DName(0)
      docHaupt.Vorname = docDialog.DVorname(0)
      
      docDialog.Form = "Dialog"   
      Call docDialog.Save(True,True,True)
   End If
   
End Sub


Gruß
  Darkface