Autor Thema: fortlaufende Feldbezeichnung  (Gelesen 2169 mal)

Offline Hedwig14

  • Aktives Mitglied
  • ***
  • Beiträge: 221
fortlaufende Feldbezeichnung
« 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

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: fortlaufende Feldbezeichnung
« Antwort #1 am: 19.06.07 - 14:30:02 »
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.
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline Hedwig14

  • Aktives Mitglied
  • ***
  • Beiträge: 221
Re: fortlaufende Feldbezeichnung
« Antwort #2 am: 19.06.07 - 14:45:48 »
Hallo eknori,

mmmh das habe ich nur halb verstanden.

Kannst Du mir ein Beispiel aufgeben ?

Glombi

  • Gast
Re: fortlaufende Feldbezeichnung
« Antwort #3 am: 19.06.07 - 14:48:09 »
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

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: fortlaufende Feldbezeichnung
« Antwort #4 am: 19.06.07 - 14:49:26 »
So z.B.

      For i = 0 To 9
         doc.GetItemValue ("Menü_KeineLieferung"+Cstr(i)) (0)
                        .
                        .
                        .
      Next



Uuuuuuund nimm besser die ü's raus...
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline Hedwig14

  • Aktives Mitglied
  • ***
  • Beiträge: 221
Re: fortlaufende Feldbezeichnung
« Antwort #5 am: 19.06.07 - 14:54:11 »



perfekt Glombi

Super, vielen Dank !

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz