Autor Thema: Spezielle Dokumenten Abfrage  (Gelesen 1519 mal)

Offline Joe Kinley

  • Frischling
  • *
  • Beiträge: 6
  • Ich liebe dieses Forum!
Spezielle Dokumenten Abfrage
« am: 29.01.04 - 18:15:58 »
Hi Leute...
Ich hab absolut keine Ahnung wie ich folgenden Sachverhalt in Code schreibe... irgendwie funzt das nicht richtig:

Falls (If) Dokument 1 (aus Database 1) in Database 2 Nicht vorhanden ist, dann kopiere es in Database 2, ansonsten gehe zu Label sowieso....

Wenn ich einfachso kopiere, macht er doppelt und dreifache Daten... und ich will nicht immer sichergehen, dass das Dokument net schon existiert...
Wie krieg ich das hin?

Glombi

  • Gast
Re:Spezielle Dokumenten Abfrage
« Antwort #1 am: 29.01.04 - 18:40:15 »
Ein Dokument kann immer nur in einer Datenbank vorhanden sein- rein physikalisch gesehen. In der anderen Datenbank kann aber eine Kopie sein. Jetzt stellt sich die Frage, wie checkt man ab, ob eine Kopie da ist. Da gehe ich so vor:
Beim Kopieren schreibe ich ein Zusatzfeld namens "SourceDocID" die Dokumenten-ID des Ursprungsdokuments.

Z.B. So
... das übliche Set und Dim Gedöns ...
set copydoc = sourcedoc.CopyToDatabase( targetdb )
copydoc.SourceDocID = sourcedoc.UniversalID
call copydoc.Save(true,true)

Das setzt natürlich voraus, dass man das kopierte Dokument ändern darf!

Damit kann man vor dem Kopieren prüfen, ob es bereits ein Dokument gibt, in dem in SourceDocID die DokumentUnqiueID steht - z.B. mit
set copydoc = view.GetDocumentByKey( sourcedoc.UniversalID, true )
if copydoc is nothing then
 'hier dann den Code für's Kopieren reinsetzen...

end if

Andreas
« Letzte Änderung: 29.01.04 - 18:42:09 von Glombi »

Offline Joe Kinley

  • Frischling
  • *
  • Beiträge: 6
  • Ich liebe dieses Forum!
Re:Spezielle Dokumenten Abfrage
« Antwort #2 am: 29.01.04 - 18:49:22 »
Mmmh.. okay... werd ich mal ausprobieren... aber
Was ist, wenn ich kein zusätzliches Feld hineinbringen kann?
Geht das nicht anders ?

Glombi

  • Gast
Re:Spezielle Dokumenten Abfrage
« Antwort #3 am: 29.01.04 - 18:54:42 »
Was ist, wenn ich kein zusätzliches Feld hineinbringen kann?
Geht das nicht anders ?
Das geht auch, Du brauchst nur einen eindeutigen Schlüssel. Das kann bspw. eine Kombination von Feldern sein oder ein bestimmtes Feld, welches das Dokument eindeutig identifiziert. Dann brauchst Du in der 2. Datenbank eine Ansicht, die nach diesem Feld sortiert ist. Dort dann wie in meinem Beispielcode das Dokument holen. Falls es keines gibt, kannst Du es kopierern.

Andreas

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Spezielle Dokumenten Abfrage
« Antwort #4 am: 29.01.04 - 18:56:57 »
Ich glaube, wir sollten hier erstmal ein paar mehr Grundlagen erfragen:
Was ist für Dich ein Zustand "Dokument 1 ist in DB1 vorhanden, aber nicht in DB2" ? Dafür muss es ja Bedingungen geben.

Was "funzt" bei Dir "irgendwie" nicht ? Hast Du schon irgendwas selber als Ansatz ausprobiert ?

Danach (!) können wir Ansätze wie den von Andreas weiter diskutieren. Bisher ist das "Skispringen im Nebel" - und das Orakel ist auch gerade wieder nicht greifbar ...

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz