Autor Thema: Funktion requires a valid ADT argument  (Gelesen 1575 mal)

Offline Steffen_Albrecht

  • Senior Mitglied
  • ****
  • Beiträge: 300
  • Geschlecht: Männlich
  • Trübsal ist nicht das Einzige was man blasen kann!
Funktion requires a valid ADT argument
« am: 29.01.03 - 12:25:14 »
Hallo,

oben genannte Fehlermeldung erscheint, wenn die erste If- Bedingung erfüllt ist.
Ich verstehe nicht ganz warum.
Vielleicht kann mir einer von Euch auf die Sprünge helfen?

Gruß
   Steffen


key="LRGInfo_08"+uidoc.FieldGetText("Projektbezeichnung")+uidoc.FieldGetText("InterneAuftragsnummer")
   If (uidoc.FieldGetText("Zweck_08")<>"") Then
      Set doc = view.GetDocumentByKey( key  , exact  )
      If Not(doc Is Nothing) Then
         Set uidoc=workspace.ComposeDocument( "","", "LRGInfo_08")
      Else
         Set uidoc=workspace.EditDocument( False , uidoc )
      End If
   Else
      Messagebox("Bitte beben Sie den Verwendungszweck an bevor Sie ein neues Dokument erstellen")
   End If      

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Funktion requires a valid ADT argument
« Antwort #1 am: 29.01.03 - 12:34:29 »
... ich denke dazu gibt es bereits Postings dazu. Geh doch mal über die Suche und gib 500 Tage asl Zeitraum ein...

ata
Grüßle Toni :)

klaussal

  • Gast
Re:Funktion requires a valid ADT argument
« Antwort #2 am: 29.01.03 - 12:35:08 »
...
wie sehen denn die DIMs aus ?

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Funktion requires a valid ADT argument
« Antwort #3 am: 29.01.03 - 12:36:52 »
... ich denke das Frontend-Doc liegt noch nicht im Backend vor...

ata
Grüßle Toni :)

Offline Steffen_Albrecht

  • Senior Mitglied
  • ****
  • Beiträge: 300
  • Geschlecht: Männlich
  • Trübsal ist nicht das Einzige was man blasen kann!
Re:Funktion requires a valid ADT argument
« Antwort #4 am: 29.01.03 - 14:09:39 »
Hallo hier mein kompletter Quellcode:

Sub Click(Source As Button)
   
   Dim session As New NotesSession
   Dim workspace As New NotesUIWorkspace
   Dim db As NotesDatabase
   Dim uidoc As NotesUIDocument
   Dim key As String
   Dim doc As NotesDocument
   Dim view As NotesView
   
   Set uidoc = workspace.currentdocument
   Set db=session.CurrentDatabase
   Set view=db.GetView("(FindDocs)")
   
   key="LRGInfo_08"+uidoc.FieldGetText("Projektbezeichnung")+uidoc.FieldGetText("InterneAuftragsnummer")
   
   If (uidoc.FieldGetText("Zweck_08")<>"") Then
      Set doc = view.GetDocumentByKey( key  , exact  )      
      If Not(doc Is Nothing) Then
'         Set uidoc=workspace.ComposeDocument( "","", "LRGInfo_08")
'         Call uidoc.GotoField("Lieferant")
         Messagebox("Test")
      Else
'         Set uidoc=workspace.EditDocument( False , uidoc )
'         Call uidoc.GotoField("Lieferant")
         Call workspace.EditDocument( True, uidoc )
      End If      
   Else
      Messagebox("Bitte beben Sie den Verwendungszweck an bevor Sie ein neues Dokument erstellen")
   End If      
   
End Sub

Der Sinn des Ganzen soll sein, dass auf knopfdruck ein Antwortdokunent auf das aktuell geöffnete erzeugt werden soll. Existiert das Doc schon, soll es geöffnet werden.

Gruß
   Steffen
« Letzte Änderung: 29.01.03 - 14:12:42 von Steffen_Albrecht »

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re:Funktion requires a valid ADT argument
« Antwort #5 am: 29.01.03 - 16:17:30 »
... nimm anstelle des uidoc lieber ein doc

Dim doc As NotesDocument
Set doc = workspace.CurrentDocument.Document

... einen Wert eines Feldes verwenden

sValue = CStr(doc.Feldname(0))

... wichtig ist es, das Feld als Array mit Index "0" ansprechen...

... also in deinem Fall

key="LRGInfo_08"+doc.Projektbezeichnung(0)+doc.InterneAuftragsnummer(0)
   
   If (doc.Zweck_08(0)<>"") Then.....

... und dann noch ein fehler im Script...

Set uidoc=workspace.EditDocument( False , uidoc )

... uidoc ist falsch, du benötigst ein NotesDocument, kein UIDocument...

ata

« Letzte Änderung: 29.01.03 - 16:18:02 von ata »
Grüßle Toni :)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz