Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Hedwig14 am 19.06.07 - 14:27:26
-
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
-
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.
-
Hallo eknori,
mmmh das habe ich nur halb verstanden.
Kannst Du mir ein Beispiel aufgeben ?
-
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
-
So z.B.
For i = 0 To 9
doc.GetItemValue ("Menü_KeineLieferung"+Cstr(i)) (0)
.
.
.
Next
Uuuuuuund nimm besser die ü's raus...
-
perfekt Glombi
Super, vielen Dank !