Autor Thema: Richtextfeld-Inhalte in neue Maske importieren  (Gelesen 2522 mal)

Offline KiTaMann

  • Aktives Mitglied
  • ***
  • Beiträge: 111
  • Geschlecht: Männlich
  • Nimm Platz in meiner Datenbank!
Richtextfeld-Inhalte in neue Maske importieren
« am: 21.03.06 - 18:59:41 »
Guten Abend zusammen,

ich versuche gerade aus 7 Datenbanken eine zu machen, indem ich die Dokumente der "glorreichen 7" über einen Agenten kopiere und in die neue Datenbank hineinschmeiße - funktioniert soweit für meine Begriffe ganz ordentlich.

Nun befinden sich in den Ursprungsdokumenten jedoch neben Text auch diverse "Buidln", die ich nicht in die neuen Dokumente herüberkopiert bekomme.

Hat jemand eine Idee?

Gruß

Klaus
Gruß Klaus

"Alle Menschen sind klug.
Die einen vorher, die anderen nachher."

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Richtextfeld-Inhalte in neue Maske importieren
« Antwort #1 am: 22.03.06 - 07:48:51 »
Das ist jetzt schwierig.

Kopierst Du die ganzen Dokumente oder nur den Inhalt der Dokumente in ein neues Dokument?

Gruss

André
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Glombi

  • Gast
Re: Richtextfeld-Inhalte in neue Maske importieren
« Antwort #2 am: 22.03.06 - 07:57:57 »
Hallo Klaus,

welche Methode bzw. Formelsprachenbefehel verwendest Du denn zum Kopieren?

Ich würde empfehlen, ein
 call doc.CopyToDatabase( targetdb )
zu verwenden. Damit werden Dokumente 1 zu 1 kopiert, auch die "Buidln".

Mit CopyAllItems könnte es Schwierigkeiten geben.

Du kannst ja mal den Code posten...

Andreas

Offline KiTaMann

  • Aktives Mitglied
  • ***
  • Beiträge: 111
  • Geschlecht: Männlich
  • Nimm Platz in meiner Datenbank!
Re: Richtextfeld-Inhalte in neue Maske importieren
« Antwort #3 am: 22.03.06 - 08:35:49 »
Guten Morgen,

ich skizziere nochmals kurz mein Problem:

@André:
ich möchte die INHALTE der Felder kopieren und in neue Dokumente einfügen. Hierbei habe ich auch ein RT-Feld, in dem neben Text auch Bilder vorhanden sind.

@Andreas:
ich möchte die Infos aus den Dokumenten der 7 DBs in eine neue Maske der Zieldatenbank abbilden; wenn es nur darum ginge, die Dokumente in ein DB zu packen, hätte ich dies ja auch einfach per Copy & Paste tun können.

Da ich nur 5 Felder habe, deren Inhalte ich kopieren und einfügen möchte, habe ich item für item angesprochen (und dabei auch (erfolglos) mit RTItem "experimentiert"). Code sieht nunmehr so aus:

Sub FeldwerteEinfügen
   Dim session As New NotesSession
   Dim AuswahlDoc As NotesDocument
   Dim ZielDoc As NotesDocument
   Dim db As NotesDatabase
   Dim Infothek As NotesDatabase
   Dim col As NotesDocumentCollection
   
   Dim Item As NotesItem
   Dim Thema As String
   Dim import As Variant
   Dim quelle As String
   Dim doctype As String
   
   
   Set db = session.CurrentDatabase
   Set Infothek = New Notesdatabase("","Infothek50")
   
   Set col = db.unprocessedDocuments
   
   If col.count > 0 Then
      
      For i = 1 To col.count
         
         Set AuswahlDoc = col.GetNthDocument(i)      
         
         Set item = AuswahlDoc.GetFirstItem("doctype")
         doctype = Trim(item.Text)
         
         Set item = AuswahlDoc.GetFirstItem("Thema")
         Thema = Trim(item.Text)
         
         Set item= AuswahlDoc.GetFirstItem("Import")
         import = (item.values)
         
         Set item = AuswahlDoc.GetFirstItem("Quelle")
         Quelle = Trim(item.Text)
         
         Set ZielDoc = Infothek.CreateDocument
         
         ZielDoc.Form = "Gesundheit"
         ZielDoc.doctype = doctype
         ZielDoc.Thema = Thema
         ZielDoc.import = import
         ZielDoc.quelle = quelle
         
         Call ZielDoc.save(True,True)
         
      Next      
   End If   
End Sub

Text ist da, Buidln fehlen.

Grüße

Klaus
Gruß Klaus

"Alle Menschen sind klug.
Die einen vorher, die anderen nachher."

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Richtextfeld-Inhalte in neue Maske importieren
« Antwort #4 am: 22.03.06 - 08:42:39 »
Das RTI musst Du kopieren mit NotesItem.CopyItemToDocument. Du kopierst bisher ja ausdrücklich nur Plain Text.

Bernhard

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Richtextfeld-Inhalte in neue Maske importieren
« Antwort #5 am: 22.03.06 - 08:43:37 »
Bernhard, Du bist echt immer schneller....  :)

Set notesItem = notesItem.CopyItemToDocument( notesDocument, newName$ )

Gruss

André
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline KiTaMann

  • Aktives Mitglied
  • ***
  • Beiträge: 111
  • Geschlecht: Männlich
  • Nimm Platz in meiner Datenbank!
Re: Richtextfeld-Inhalte in neue Maske importieren
« Antwort #6 am: 22.03.06 - 08:57:16 »
Hallo Bernhard, hallo André,

hatte ja schon eerwähnt, dass ich vorher schon mit z.B. mit RTItem experimentiert hatte; als autodidaktischer Script-Anfänger stehe ich vor dem Problem, wie ich das Dokument ansprechen soll, welche Variable "fülle" ich  mit den kopierten Werten?

Oder soll das so aussehen?
   
         
   Set item = AuswahlDoc.CopyItemToDocument("Import",ZielDoc.import)

Gibt aber leider folgende Fehlermeldung:

"WRONG NUMBER OF ARRAY SUBSCRIPTS"

 ???

Gruß
Klaus         
Gruß Klaus

"Alle Menschen sind klug.
Die einen vorher, die anderen nachher."

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Richtextfeld-Inhalte in neue Maske importieren
« Antwort #7 am: 22.03.06 - 09:01:35 »
Die Syntax für diese Methode ist falsch verwendet - die Parameter sind exakt verdreht.

Bernhard

Glombi

  • Gast
Re: Richtextfeld-Inhalte in neue Maske importieren
« Antwort #8 am: 22.03.06 - 09:04:56 »
Ich würde es so machen

Dim rtitem_Source as NotesRichTextItem
Dim rtitem as NotesRichTextItem
...

set rtitem_Source = AuswahlDoc.GetFirstItem( "Import" )

Set rtitem = rtitem_Source.CopyItemToDocument( ZielDoc, "Import")

Andreas

Offline KiTaMann

  • Aktives Mitglied
  • ***
  • Beiträge: 111
  • Geschlecht: Männlich
  • Nimm Platz in meiner Datenbank!
Re: Richtextfeld-Inhalte in neue Maske importieren
« Antwort #9 am: 22.03.06 - 09:13:15 »
Stimmt!

So geht's  ;D:

   Set item = AuswahlDoc.GetFirstItem("Import")
   Call item.CopyItemToDocument(ZielDoc,"Import")

Danke Bernhard!

Gruß
Klaus
Gruß Klaus

"Alle Menschen sind klug.
Die einen vorher, die anderen nachher."

Offline KiTaMann

  • Aktives Mitglied
  • ***
  • Beiträge: 111
  • Geschlecht: Männlich
  • Nimm Platz in meiner Datenbank!
Re: Richtextfeld-Inhalte in neue Maske importieren
« Antwort #10 am: 22.03.06 - 09:15:43 »
Hallo Andreas,

bist mir gerade beim Antworten "rein- " und damit "durchgerutscht".

Auch Dir besten Dank!


Klaus
Gruß Klaus

"Alle Menschen sind klug.
Die einen vorher, die anderen nachher."

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz