Avatar billede laasby Nybegynder
22. marts 2005 - 09:37 Der er 6 kommentarer og
1 løsning

Hente indexnavn med ALT+H

Hej

Jeg vil gerne kunne hente et indexnavn ned i en streng i et formbillede.

Jeg kan nemt hente f.eks. indholdet af et felt ned med ALT+H som f.eks. et Debitor kontonummer vha. følgende kode (feltet hedder &Test og koden er lagt i feltets Pre-Field):
SET &Parm =
"File=DebKart "+
"List=Konto "+
"Index=KontoIdx "+
"SearchField=Konto="+&Test+ " " +
"Command=Find "+
"Mode=Select=Konto "

Det jeg hellere ville var, at hente f.eks. teksten KontoIdx (fra DebKart) ved at vise en liste over mulige indexer med ALT+H.

Er der nogen som har en ide til hvordan dette gøres ?

/Laasby
Avatar billede jasman Nybegynder
22. marts 2005 - 09:42 #1
INT    &TableId
STR    &IndexNavn

SET &TableId = FileName2Id("Debkart")  // Tablenavn skrive indenfor "'erne
SET &IndexNavn = IndexId2Name(&TableId,PickIndex(&TableId))

Vil returnere det valgte indexnavn fra debkart i &Indexnavn
Avatar billede laasby Nybegynder
22. marts 2005 - 09:51 #2
Hej jasman

Tak for 2 hurtige og gode respons (jeg bliver het forpustet)

Det virker dejligt.

Nu mangler jeg bare, at feltvælgeren først kommer frem når det trykker ALT+H.

Har du også løsning på dette.

/Laasby
Avatar billede jasman Nybegynder
22. marts 2005 - 10:05 #3
Der kunne du gå ind og lave en processtast (ALT+P) i din form som fanger AlT+H også checke på om du står i det felt, hvor du vil have det til at virke.
Hvis du gør det kalder du ovenstående kode.

1. Åbn din form.
2. Tryk ALT+P
3. Tryk INSERT.
4. Skriv ALTH i feltet "Parametre til process".
5. Skriv evt. "Hjælp til feltet" i feltet "Hjælpetekst"
6. Tryk F3 to gange.
7. Tryk CTRL+F6 og åbner Formler.
8. I triggeren PRE-KEY skriver du følgende kode:

#MACROLOAD(TASKS)  // Kan udelades hvis der i INIT-triggeren er lavet #MACROLOAD(FORMS)

INT    &TableId

IF &PARM == "ALTH" AND &CurFld == VarStr(FormFeltNavn) THEN
    SET &TableId = FileName2Id("Debkart")
    SET &FormFeltNavn = IndexId2Name(&TableId,PickIndex(&TableId))
ELSE
    SET Keyqueue(#TASK_CRT_HELP) // Udfører ALTH som normalt
ENDIF

I ovenstående kode er &FormFeltNavn det VIRTUELLE felt på din form, hvor du vil have placeret indexnavnet.
Altså skal dette felt være oprettet i formen !!!
Avatar billede laasby Nybegynder
22. marts 2005 - 10:15 #4
Hej jasman

Det var en mulighed - endnu engang tak for hurtig respons.

Jeg prøver lige at vente, for at se om der kommer en anden med en smartere måde (og i mellemtiden tester jeg dit oplæg).

/Laasby
Avatar billede jasman Nybegynder
22. marts 2005 - 10:30 #5
Ok.
Avatar billede laasby Nybegynder
04. april 2005 - 21:59 #6
Hej Jasman

Hermed points - løsningsforslaget virker, og der kom ikke yderligere bud.

Tak for input.

/Laasby
Avatar billede jasman Nybegynder
05. april 2005 - 08:16 #7
Velbekomme :)

Jeg er bange for at der ikke er så mange andre måder at gøre det på.
Derfor manglende alternativer.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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