Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: TomLudwig am 07.10.03 - 08:26:18

Titel: Laufende Nummer vergeben
Beitrag von: TomLudwig am 07.10.03 - 08:26:18
Hallo,
ich möchte eine Laufende Nummer als eine Art "ID" vergeben. Bei folgendem Code kommt die Fehlermeldung "Type Mismatch"

Sub Querysave(Source As Notesuidocument, Continue As Variant)
   Dim ns As New NotesSession
   Dim db As NotesDatabase
   Dim nv As NotesView
   Dim doc As NotesDocument
   Dim item As NotesItem
   Dim flgcnt As Long
   
   Set db = ns.CurrentDatabase
   Set nv = db.GetView("ID")
   Set doc = nv.GetLastDocument
   Set item = doc.GetFirstItem("ID")
   flgcnt = item.Text
   flgcnt = flgcnt + 1
   
   Call source.FieldSetText("ID", flgcnt)      
End Sub

Definiere ich die Variable flgcnt als sting bekomme ich die Fehlermeldung auch.
Hat jemand die möglichkeit mir zu helfen?
Titel: Re:Laufende Nummer vergeben
Beitrag von: Markus Henke am 07.10.03 - 08:31:54
Hi,

wenn Du den Wert aus dem Feld holst, wird flgcnt mit einem String belegt (Item.Text). Dann versuchst Du einen String zu addieren. Das gibt den Fehler. Du musst den Inhalt der Variable vorher in eine Zahl umwandeln und dann addieren, oder das Feld ID muss ein Zahlenfeld sein. Dann brauchst Du das nicht. Das ist auch die schönere Lösung.

Gruß
Markus
Titel: Re:Laufende Nummer vergeben
Beitrag von: eknori (retired) am 07.10.03 - 08:33:21
Dim flgcnt As STRING
   
   Set db = ns.CurrentDatabase
   Set nv = db.GetView("ID")
   Set doc = nv.GetLastDocument
   Set item = doc.GetFirstItem("ID")
   flgcnt = item.Text
   flgcnt =  Cstr (Cint(flgcnt) + 1)
   
   Call source.FieldSetText("ID", flgcnt)  
Titel: Re:Laufende Nummer vergeben
Beitrag von: TomLudwig am 07.10.03 - 08:46:41
wunderbar.... danke....