Autor Thema: Elemente eines Item zählen  (Gelesen 2940 mal)

Offline oxyd21

  • Senior Mitglied
  • ****
  • Beiträge: 371
  • Geschlecht: Männlich
Elemente eines Item zählen
« am: 17.10.08 - 14:51:46 »
Servus,

ich steh gerade ein wenig auf'm Schlauch.
Wie zähle ich die Elemente in einem NotesItem(Text List)?

So geht's schonmal nicht:
Code
Dim item As Notesitem
...
Set item = New NotesItem(doc,"People","" )
Call item.AppendToTextList( doc.SendTo )
Call item.AppendToTextList( doc.CopyTo )
Call item.AppendToTextList( doc.From)
					
...
					
Dim x As Variant
Dim element As Integer					
x = doc.getitemvalue("item")
element  = Ubound(x)
Msgbox Cstr(element)

Viele Grüße,
Michael

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Elemente eines Item zählen
« Antwort #1 am: 17.10.08 - 14:56:10 »
"Geht schon mal nicht" ist eine schlechte Fehlerbeschreibung ...

Offensichtlich kenne ich eine Rahmenbedingung bei Dir noch nicht, denn schon ein simples
Messagebox Cstr (Ubound (NotesDocument.ItemName) + 1)
würde ausreichen, um die Anzahl der Arraymember anzuzeigen.

Bernhard

Offline oxyd21

  • Senior Mitglied
  • ****
  • Beiträge: 371
  • Geschlecht: Männlich
Re: Elemente eines Item zählen
« Antwort #2 am: 17.10.08 - 14:59:22 »
Danke, das wars.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Elemente eines Item zählen
« Antwort #3 am: 17.10.08 - 15:07:42 »
Das kann es nicht gewesen sein, denn Dein Code hätte auch funktionieren müssen (abgesehen davon, dass Du bei 3 Elementen eben nur die Zahl 2 ausgegeben bekommen hast wegen Option Base 0).

Woran hat es also wirklich geklemmt?

Bernhard

Offline oxyd21

  • Senior Mitglied
  • ****
  • Beiträge: 371
  • Geschlecht: Männlich
Re: Elemente eines Item zählen
« Antwort #4 am: 17.10.08 - 15:29:48 »
Der Code war soweit in Ordnung; manchmal sieht man den Wald vor lauter Bäumen nicht.

doc.getitemvalue("item") -> das ist ja wohl ein ziemlich blöder Fehler. Mit getitemvalue auf ein Objekt zugreifen.  ::) Das blieb logischerweise leer und ich bekam 0 als Ergebnis.

Das mit der 1 ist klar, die Messagebox war nur zur Kontrolle beim Test.

Grüße, Michael

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Elemente eines Item zählen
« Antwort #5 am: 17.10.08 - 15:36:36 »
GetItemValue wäre doch richtig gewesen, Michael. Dein Parameter "item" dürfte daher keinem "Feld"namen entsprochen haben, richtig?

Ich habe Deinen Code vor meinem Posting fix ausprobiert und angepasst. "FieldName" ist hierbei der Name des interessierenden (Mehrfachwerte enthaltenden) Items (bzw. des Felds im Frontend):
Code
	Dim ws As New NotesUIWorkspace
	Dim x As Variant
	Dim element As Integer
	
	x = ws.CurrentDocument.Document.getitemvalue("FieldName")
	element  = Ubound(x)
	Msgbox Cstr(element)
Und das funktioniert natürlich. Mein alternativer Vorschlag war natürlich ... naja, "knackiger" (so als Einzeiler)  ;)


Ein schönes Wochenende wünscht
Bernhard

Offline oxyd21

  • Senior Mitglied
  • ****
  • Beiträge: 371
  • Geschlecht: Männlich
Re: Elemente eines Item zählen
« Antwort #6 am: 17.10.08 - 15:41:25 »
Ich habe auf das Item zugegriffen und nicht auf das Feld.

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Elemente eines Item zählen
« Antwort #7 am: 17.10.08 - 16:01:21 »
Nur, damit dieser Thread auch später noch verständlich ist): Du hast natürlich nicht auf ein "Feld" zugegriffen (mache ich ja mit beiden Varianten auch nicht), denn das ist Frontend und ein Designelement einer Maske. Du wirst für GetItemValue den Namen Deines instantiierten NotesItem-Objekts verwendet haben, richtig? Und dazu gab es keine Entsprechung mit einem Item Deines Dokuments - ergo: "Leeres" Item, 0 Elemente.

Noch ein Tipp: Wenn Du als Rückgabewert 0 erhältst, stehst Du vor der Entscheidung: Ist da nun nix oder ist da nur ein Element drin oder gibt es das Item an sich gar nicht (dass nicht existierende Items auch 0 zurückgeben, hast Du ja nun gesehen). Evtl. brauchst Du also weitere Abfragen.

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz