Avatar billede sbay Nybegynder
05. september 2002 - 11:40 Der er 10 kommentarer og
2 løsninger

Dynamisk feltnavn

hej

Jeg kunne godt tænke mig at at bruge mine felter i etscript, men i stedet for at skulle skrive samtlige felter ville jeg gerne kværne igennem en for-lykke. Men det giver mig lidt problemer, fordi jeg gerne vil have fat i "Feltnavn+variabel" = det felt jeg gerne vil have fat! Se koden nedenfor:

For mi=1 To 10   
        Set doc = New NotesDocument(db)
        doc.Form = "MontorUgePlan"
        doc.MWeekNumber = Weeknumber
        doc.MMontor = (Init+mi)
        doc.MJob1 = (Montor+mi)
        doc.MJob1_1 = (Montor+mi+"_1")
        doc.MJob1_2 = (Montor+mi+"_2")
        doc.MJob1_3 = (Montor+mi+"_3")
        doc.MJob1_4 = (Montor+mi+"_4")
        doc.MJob1_5 = (Montor+mi+"_5")
        doc.MJobText = (Job+mi)
        Call doc.Save(True, False)
    Next
Avatar billede sbay Nybegynder
05. september 2002 - 11:42 #1
der er f.eks et felt der hedder MONTOR1_1 - og MONTOR1_2
                                MONTOR2_1 - og MONTOR2_2
Avatar billede bamzen Nybegynder
05. september 2002 - 11:43 #2
prøv at kigge lidt på eval

og så hente feltet via formula (men fra dit LS)
Avatar billede sbay Nybegynder
05. september 2002 - 12:05 #3
Har kigget lidt på evaluate, men kan ikke gennemskue, hvorfor det er smart.
Hvordan skal jeg så hente de forskellige felter med formula?
Avatar billede bamzen Nybegynder
05. september 2002 - 12:13 #4
har du prøvet med

Evaluate("MONTOR"+mi+"_1", doc)

eksempelvis?
Avatar billede sbay Nybegynder
05. september 2002 - 14:26 #5
ja, men så er problemet, at jeg har defineret doc er det nye dokument jeg laver - og sådan som jeg kan se skal det være det aktuelle dokument hvor felterne ligger!

Når jeg prøver at sætte CurrentDocument ind i stedet siger den bare: Operation failed
Avatar billede cdelicht Nybegynder
05. september 2002 - 15:17 #6
Måske er problemet i dit oprindelige eksempel, at du har en text variabel hvortil du adderer mi, men mi er jo en integer mens f.eks. "_1" er text.
Prøv med Montor & Cstr(i) & "_1" istedet.
Avatar billede sbay Nybegynder
05. september 2002 - 15:29 #7
cdelicht>> ja det fandt jeg ud af ;-) Lige nu har jeg bare stirret mig lidt blind på det. Hvis doc er det nye document jeg har lavet hvordan er det så lige jeg får feltet fra det aktive dokument derover:

doc.felt = felt
Det er noget med : doc.felt = CurrentDoc.noget i den stil???
Avatar billede sbay Nybegynder
05. september 2002 - 15:55 #8
ok - har løst det med currentdoc - det er selvfølgelig FieldGetText funktionen....
Avatar billede sbay Nybegynder
06. september 2002 - 10:35 #9
hmmm det her virker desværre heller ikke!

eval = "Montor" & Cstr(mi) & "_1"
doc.MJob1_1 = CurDoc.FieldGetText("eval")
Den siger: Field not found!
Avatar billede cdelicht Nybegynder
06. september 2002 - 14:00 #10
Ud fra dit eksempel er eval er ikke et felt, men en variabel.
Du skal bruge docuemnt.eval før det er et felt...
Avatar billede sbay Nybegynder
06. september 2002 - 14:40 #11
ok - det prøver jeg mandag! Go' weekend!
Avatar billede cdelicht Nybegynder
09. september 2002 - 08:43 #12
Desuden er FeildGetText betinget af, at du har et UI dokument. Hvis dit dokument "CurDoc" er backend skal du istedet bruge GetItemValue.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester