Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Thorsten Kalweit am 24.06.09 - 09:56:56

Titel: LS Script Array
Beitrag von: Thorsten Kalweit am 24.06.09 - 09:56:56
Guten Morgen zusammen,

ich stehe (noch) am Anfang der Scriptprogrammierung und versuche gerade aus einer Suchansicht die Werte der ersten Spalte in ein Textfeld zu schreiben.
Hier ist erstmal mein Script

Code
Sub Click(Source As Button)
	Const ABTFIL$ = "(orderReportKauf2)"
	
	Dim ws As New NotesUIWorkspace
	Dim s As New NotesSession
	Dim db As NotesDatabase
	Dim view As NotesView
	Dim doc As NotesDocument
	Dim thisdoc As NotesDocument
	Dim listAbtFil List As String
	Dim zaehler As Integer
	
	Set thisdoc = ws.CurrentDocument.Document
	Set db = s.CurrentDatabase
	Set view = db.getView(ABTFIL)
	Set doc = view.GetFirstDocument
	
	'Zunächst wird geprüft, wieviele Abteilungen und Filialen es gibt
	Do While Not(doc Is Nothing)
		zaehler = zaehler +1
		Set doc = view.GetNextDocument(doc)
	Loop
	'Erstellen eines 1-Dimensionalen Arrays der Größe zaehler
	Redim arrAbtFil (0 To zaehler) As String
	'Zurücksetzen des doc-Objektes aus die Startposition
	Set doc = view.GetFirstDocument
	'Zurücksetzen des Zählers auf 0
	zaehler = 0
	'Einfügen der Werte in das Array
	Do While Not(doc Is Nothing) 
		arrAbtFil(zaehler) = doc.ColumnValues(0)
		Set doc = view.GetNextDocument(doc)
		zaehler = zaehler +1
	Loop
	
	thisdoc.abtFil = arrAbtFil
	
End Sub


Die Werte in der Ansicht sehen wie folgt aus:
001
001
001
101
101
150
150
...

Soweit so gut, aber mittendrin bricht Notes mit der Fehlermeldung "Type Mismatch" ab. Leider gibt der Debugger auch keine genaueren Informationen.  :-:
Titel: Re: LS Script Array
Beitrag von: DerAndre am 24.06.09 - 09:57:50
Bau ein ordentliches Fehlerhandling ein. Das hilft schonmal.
Titel: Re: LS Script Array
Beitrag von: Axel am 24.06.09 - 10:12:42
Beim schnellen überfliegen ist mir die Redim - Zeile aufgefallen.

Das muss so aussehen:
Redim arrAbtFil (zaehler) As String

Axel

Titel: Re: LS Script Array
Beitrag von: Thorsten Kalweit am 24.06.09 - 10:17:30
Hm, das scheint es auch nicht gewesen zu sein. Der Fehler taucht weiterhin auf.
Titel: Re: LS Script Array
Beitrag von: DAU-in am 24.06.09 - 10:28:46
Hat das Dokument, bei dem der Debugger abbricht, denn einen Wert in der Spalte stehen?

edith: du startest beim Durchzählen der Dokumente bei 1, beim array startest du bei 0.

Müsste es nicht
Redim arrAbtFil (zaehler - 1) As String heißen?
Titel: Re: LS Script Array
Beitrag von: Thorsten Kalweit am 24.06.09 - 10:32:24
Ich habe es gefunden. Eigentlich ein blöder Fehler:

In der Zeile, in dem der Debugger abbricht, ist ein Dokument in welchem Mehrfachwerte stehen, wo keine stehen sollten (Importfehler). Nach der Bereinigung läuft alles bestens.

Gruß und Danke