Domino 9 und frühere Versionen > ND6: Entwicklung
fortlaufende Feldbezeichnung
Hedwig14:
ich habe in einer maske 5 Felder, die alle den Gleichen Namen haben.
Unterschied, am Ende steht eine fortlaufende nummer.
In meinem Scrips muss ich mit allen Felden das gleiche durchlaufen lassen.
Gibt es die Möglichkeit die Feldnamen automatisch hochzuzählen:
Hier ist mein Ansatz:
Dim ws As New NotesUIWorkSpace
Dim s As New NotesSession
Dim db As Notesdatabase
Dim doc As NotesDocument
Dim uidoc As NotesUIDocument
Set db = s.CurrentDatabase
Set UiDoc = ws.CurrentDocument
Set doc = uidoc.Document
n = 1
Do While n < 6
n = n + 1
Loop
Dim mdoc As notesdocument
If doc.Menü_KeineLieferung1(0) = "" Then
Set mdoc = New NotesDocument(db)
mdoc.Form = "KANTINEMenüübersicht"
mdoc.Menüübersicht_Kantine = doc.Menü_Kantine(0)
mdoc.Menüübersicht_Anbieter = doc.Menü_Anbieter(0)
mdoc.Menüübersicht_KW = doc.Menü_KW(0)
mdoc.Menüübersicht_Tag = doc.Menü_Tag1(0)
mdoc.Menüübersicht_Bestellende = doc.Menü_Bestellende1(0)
mdoc.Menüübersicht_Beschreibung = doc.Menü_Beschreibung1(0)
Call mdoc.Save( False, True )
End If
If doc.Menü_KeineLieferung2(0) = "" Then
Set mdoc = New NotesDocument(db)
mdoc.Form = "KANTINEMenüübersicht"
mdoc.Menüübersicht_Kantine = doc.Menü_Kantine(0)
mdoc.Menüübersicht_Anbieter = doc.Menü_Anbieter(0)
mdoc.Menüübersicht_KW = doc.Menü_KW(0)
mdoc.Menüübersicht_Tag = doc.Menü_Tag2(0)
mdoc.Menüübersicht_Bestellende = doc.Menü_Bestellende2(0)
mdoc.Menüübersicht_Beschreibung = doc.Menü_Beschreibung2(0)
Call mdoc.Save( False, True )
End If
If doc.Menü_KeineLieferung3(0) = "" Then
Set mdoc = New NotesDocument(db)
mdoc.Form = "KANTINEMenüübersicht"
mdoc.Menüübersicht_Kantine = doc.Menü_Kantine(0)
mdoc.Menüübersicht_Anbieter = doc.Menü_Anbieter(0)
mdoc.Menüübersicht_KW = doc.Menü_KW(0)
mdoc.Menüübersicht_Tag = doc.Menü_Tag3(0)
mdoc.Menüübersicht_Bestellende = doc.Menü_Bestellende3(0)
mdoc.Menüübersicht_Beschreibung = doc.Menü_Beschreibung3(0)
Call mdoc.Save( False, True )
End If
If doc.Menü_KeineLieferung4(0) = "" Then
Set mdoc = New NotesDocument(db)
mdoc.Form = "KANTINEMenüübersicht"
mdoc.Menüübersicht_Kantine = doc.Menü_Kantine(0)
mdoc.Menüübersicht_Anbieter = doc.Menü_Anbieter(0)
mdoc.Menüübersicht_KW = doc.Menü_KW(0)
mdoc.Menüübersicht_Tag = doc.Menü_Tag4(0)
mdoc.Menüübersicht_Bestellende = doc.Menü_Bestellende4(0)
mdoc.Menüübersicht_Beschreibung = doc.Menü_Beschreibung4(0)
Call mdoc.Save( False, True )
End If
If doc.Menü_KeineLieferung5(0) = "" Then
Set mdoc = New NotesDocument(db)
mdoc.Form = "KANTINEMenüübersicht"
mdoc.Menüübersicht_Kantine = doc.Menü_Kantine(0)
mdoc.Menüübersicht_Anbieter = doc.Menü_Anbieter(0)
mdoc.Menüübersicht_KW = doc.Menü_KW(0)
mdoc.Menüübersicht_Tag = doc.Menü_Tag5(0)
mdoc.Menüübersicht_Bestellende = doc.Menü_Bestellende5(0)
mdoc.Menüübersicht_Beschreibung = doc.Menü_Beschreibung5(0)
Call mdoc.Save( False, True )
End If
Call uidoc.Close
eknori:
Ja, indem du in deinem Code nicht die abgekürzte Schreibweise
doc.Menü_Kantine(0)
verwendest, sondern
Set item = doc.getFirstItem("Menü_Kantine")
Menü_Kantine ist ein String; den kannst du durch eine Variable ersetzen und dann in der Schleife der Variable den entsprechenden Feldnamen zuweisen.
Hedwig14:
Hallo eknori,
mmmh das habe ich nur halb verstanden.
Kannst Du mir ein Beispiel aufgeben ?
Glombi:
Ulrich meint sowas:
Dim i as integer
for i = 1 to 5
If doc.GetItemValue("Menü_KeineLieferung" & cstr(i))(0) = "" Then
...
End If
Next
Andreas
DerAndre:
So z.B.
For i = 0 To 9
doc.GetItemValue ("Menü_KeineLieferung"+Cstr(i)) (0)
.
.
.
Next
Uuuuuuund nimm besser die ü's raus...
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln