Autor Thema: Illegal function call mit der Funktion "Len"  (Gelesen 1354 mal)

Offline Brocki

  • Frischling
  • *
  • Beiträge: 15
  • Geschlecht: Männlich
  • Leiter Anwendungsentwicklung
Illegal function call mit der Funktion "Len"
« am: 30.03.11 - 12:10:24 »
Hallo Zusammen,

ich habe eine kleine Unterroutine geschrieben mit der ich auf den gefüllten Inhalt von Feldern prüfe:

Sub transferValues(sourceDoc As NotesDocument, sourceFieldName As String, newDoc As NotesDocument, destFieldName As String)
   If Len( sourceDoc.Getitemvalue(sourceFieldName)(0) ) > 0 Then
       Call newDoc.ReplaceItemValue(destFieldName, sourceDoc.GetItemValue(sourceFieldName)(0))
   End If
End Sub

Das Feld bei dem die Fehlermeldung erscheint ist vom Typ "768" also Number oder NumberList.
In der Hilfe steht, das bei "numberExp" die Bytegröße zurückgegeben wird, wenn es gefüllt ist.
Aber wie gesagt es knallt mit der genannten Fehlermeldung und das verstehe ich nicht.

Hat dies jemand schon mal gehabt? Welche Erfahrungen habt Ihr mit dieser Funktion erlebt?

Grüße Stefan

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Illegal function call mit der Funktion "Len"
« Antwort #1 am: 30.03.11 - 12:29:16 »
Hallo,

Soweit ich mich erinnere, bezieht sich dieses aber darauf, wenn mit Len eine numerische Variable abgefragt wird.

Dim lngTest As Long

lngTest = 1900
Len(lngTest)


Andreas

Offline Brocki

  • Frischling
  • *
  • Beiträge: 15
  • Geschlecht: Männlich
  • Leiter Anwendungsentwicklung
Re: Illegal function call mit der Funktion "Len"
« Antwort #2 am: 30.03.11 - 12:59:48 »
Hallo,

hier mein Workaround:

Sub transferValues(sourceDoc As NotesDocument, sourceFieldName As String, newDoc As NotesDocument, destFieldName As String)
    Dim item As NotesItem
    Set item = sourceDoc.GetFirstItem(sourceFieldName)
    
    If Not (item Is Nothing) Then
        If Len( item.Text ) > 0 Then
            Call newDoc.ReplaceItemValue(destFieldName, sourceDoc.GetItemValue(sourceFieldName))
        End If
    End If    
End Sub

Evtl. geht es auch eleganter.
Für meine Zecke geht es.

Grüße Stefan

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz