Autor Thema: Löschen von Dokumenten aus einer DB zur anderen  (Gelesen 5890 mal)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Löschen von Dokumenten aus einer DB zur anderen
« Antwort #20 am: 09.09.03 - 14:32:53 »
Schick' doch bitte mal den Code, den Du schon fertig hast.

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re:Löschen von Dokumenten aus einer DB zur anderen
« Antwort #21 am: 09.09.03 - 14:39:06 »
Hier mein Code:

Sub Click(Source As Button)
   Dim session As New NotesSession
   Dim workspace As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim collection As NotesDocumentCollection
   Dim doc As NotesDocument
   Set db=session.CurrentDatabase
                'Öffnet Fenster in der Ressourcen-Datenbank
   Set collection = workspace.PickListCollection(1, True,_
   "DE01-SPK24/DE01","local\File012.nsf","My Reservations","Überschrift", _
   "Please select a document")
   ?????????   
   Set rtitem = New NotesRichTextItem( doc, "Link" )
   Call rtitem.AppendDocLink( doc, "" )
   
End Sub
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Löschen von Dokumenten aus einer DB zur anderen
« Antwort #22 am: 09.09.03 - 14:43:46 »
Sag zunächst der PicklistCollection, daß nur ein Doc gewählt werden kann (sonst müßtest Du ja n Links einfügen.

Aus der Collection holst Du Dir dann das erste (und einzige) Dokument:
Set doc = collection.GetFirstDocument.
Und damit hastDu auch schon den Parameter LinkTo (wie schon im Code vorhanden).
Nach Picklist würde ich auf gültige Auswahl checken:
If collection.Count <> 0 then
   <Gemecker>
   Exit Sub
End If

HTH,
Bernhard

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re:Löschen von Dokumenten aus einer DB zur anderen
« Antwort #23 am: 10.09.03 - 09:46:54 »
Hallo Berhard,

tut mir leid, bin zu dumm für Script und benötige noch einmal Support.

Bin jetzt schon mal so weit, dass ich beliebige Daten des ausgewählten PickList-Objektes kriege und auch einbinden kann. Nicht jedoch den Link ???

Was muss ich ändern:

Sub Click(Source As Button)
   Dim session As New NotesSession
   Dim workspace As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim collection As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim rtitem As Variant   
   Set db=session.CurrentDatabase
   
   
   Set collection = workspace.PickListCollection(1, False,_
   "DOW-DE01-SPK24/DE01/DOW","local\deuta\de012.nsf","Meine Reservierungen","Auswahlmaske", "Reservierung auswählen")
   
   If collection.Count <> 1 Then
      Messagebox "Eine Reservierung auswählen"
      Exit Sub
   End If
   
   Set doc = collection.GetFirstDocument
   ' Beispiel Parameter auslesen
   Set uidoc = workspace.CurrentDocument  
   Call uidoc.FieldAppendText( "Sonstiges", doc.Authors(0))
   ?????????
   Set rtitem = New NotesRichTextItem( doc, "Link" )
   Call rtitem.AppendDocLink( doc, "Link")   
   
End Sub

Deine Hilfe wäre mir sehr recht.

Alexis
« Letzte Änderung: 10.09.03 - 09:49:51 von Alexis »
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Löschen von Dokumenten aus einer DB zur anderen
« Antwort #24 am: 10.09.03 - 09:52:01 »
doc ist das zu verlinkende Doc, und uidoc ist sicherlich das Dokument, wo der Link 'rein soll.

Set doc = collection.GetFirstDocument
   ' Beispiel Parameter auslesen
   Set uidoc = workspace.CurrentDocument  
   Call uidoc.FieldAppendText( "Sonstiges", doc.Authors(0))
   ?????????

   'Mit den folgenden beiden Zeilen erzeugst Du das Link-Feld samt Link im zu verlinkenden Dokument - was sicher nicht erwünscht ist:
   Set rtitem = New NotesRichTextItem( doc, "Link" )
   Call rtitem.AppendDocLink( doc, "Link")  
   
Daher:
   Dim docCurrent as NotesDocument
   Set uidoc = workspace.CurrentDocument  
   Set docCurrent = uidoc.Document
   Set rtitem = New NotesRichTextItem( docCurrent, "Link" )
   Call rtitem.AppendDocLink (doc, "Link")  

Da rtitem ja ein RTF ist, ist das Ergebnis erst nach dem Speichern und erneutem Öffnen des uidocs zu sehen.

HTH,
Bernhard

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re:Löschen von Dokumenten aus einer DB zur anderen
« Antwort #25 am: 10.09.03 - 11:09:21 »
Bernhard,

leider sehe ich den Link in der Maske nicht  :-[

Nicht nach Abspeichern,
Feld "Link" als RTF mit Mehrfachwerten oder auch nicht,
Feld "Link" berechnet oder auch nicht.

Hast Du noch 'ne Idee?
Kann der Debugger helfen?

Alexis
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Löschen von Dokumenten aus einer DB zur anderen
« Antwort #26 am: 10.09.03 - 11:46:59 »
Deklariere mal Dein rtitem als NotesRichTextItem statt als Variant. Und dann schau mal im Debugger, wie die Variablen nacheinander belegt werden.
Auf die Schnelle sehe ich nicht, was sonst nicht paßt.

So long,
Bernhard

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re:Löschen von Dokumenten aus einer DB zur anderen
« Antwort #27 am: 10.09.03 - 12:11:37 »
Berhard,

mir fällt nur auf, dass uidoc vom Typ Variant ist.

Als NotesDocument deklariert erhalte ich die Fehlermeldung in der Zeile Set uidoc = workspace.CurrentDocument "Type mismatch CurrentDocument"

???
Alexis
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Löschen von Dokumenten aus einer DB zur anderen
« Antwort #28 am: 10.09.03 - 12:16:03 »
Da habe ich total übersehen, daß Du ja uidoc gar nicht deklariert hast:
Dim uidoc as NotesUIDocument

Dazu noch ein Tip: Schreibe nie eine einzige Zeile LS, ohne in die Options des Moduls eingetragen zu haben:
Option Declare

HTH,
Bernhard

Offline Alexis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 534
  • Geschlecht: Männlich
  • LotusNotes macht süchtig!
Re:Löschen von Dokumenten aus einer DB zur anderen
« Antwort #29 am: 11.09.03 - 12:26:11 »
Hallo Forum, hallo Bernhard,

leider bin ich bis jetzt noch nicht erfolgreich, obwohl die Hilfestellung von Berhard für mich Script-Greenhorn prima war und nun leider  8) Urlaub ansteht. Hier der letzte Stand des Scripts, vielleicht hat noch jemand in der Zwischenzeit 'ne Idee, warum der Link nicht in der Maske erscheint. Nach dem Urlaub geht' weiter.

Sub Click(Source As Button)
   Dim session As New NotesSession
   Dim workspace As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim collection As NotesDocumentCollection
   Dim doc As NotesDocument  ' Reservierung
   Dim uidoc As NotesUIDocument ' Bewirtungsmaske
   Dim docCurrent As NotesDocument
   Dim rtitem As NotesRichTextItem
   
   Set db=session.CurrentDatabase
   Set collection = workspace.PickListCollection(1, False,_
   "DE01-SPK24/DE01","DOW012.nsf","My Reservations","My Dialog", _
   "Please select a document.")              
   
     If collection.Count <> 1 Then
      Messagebox "Eine Reservierung auswählen"
      Exit Sub
   End If
   
   Set doc = collection.GetFirstDocument          
   Set uidoc = workspace.CurrentDocument
   Set docCurrent = uidoc.Document          
   Set rtitem = New NotesRichTextItem( docCurrent, "Link" )
   Call rtitem.AppendDocLink (doc, "Link", "Link")      
   
End Sub

Danke und tschüss
Alexis
wenn ich kein Problem hätte, wär' ich nicht hier ---
wenn ich im Forum eine Lösung gefunden hätte, wär' ich nicht hier ---
wenn ich nicht wüsste, dass mir hier fast immer geholfen wird, wär' ich AUCH nicht hier ---

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Löschen von Dokumenten aus einer DB zur anderen
« Antwort #30 am: 11.09.03 - 12:36:39 »
Hm, Du fügst den Link im Backend ein, speichern tust Du dann aber offensichtlich im FrontEnd.Das UI-Dokument weiß aber nicht, was Du hinter seinem Rücken getan hast.
Beende mal Deine Aktion mit einem
Call docCurrent.Save (True, False, True)

HTH,
Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz