Faq/Base/024/da

Hvordan får jeg en formularkontrol til at vise værdien i et felt i en tabel og så gemme værdien af et andet felt i den samme tabel?
Slå formularen over på Design-tilstand.

Oprette et nyt kontrolelement i Design-tilstand

 * Hvis det ikke allerede er sket, skal du aktivere Design-tilstand ved at klikke på det relevante ikon på værktøjslinjen Formulardesign.


 * På værktøjslinjen Formular-design klikker du på ikonet Listekontrol og tegner så en zone på din formular for at vise, hvor kontrolelementet skal placeres.

Kontrolelementguiden skulle starte automatisk og lede dig gennem processen. Find de manglende enkeltheder nedenfor.

Brug Design-tilstand til at erstatte et eksisterende formularkontrolelement (fx et tekstfelt)

 * Aktiver formulardesign-tilstand ved hjælp af værktøjslinjen Formulardesign.
 * Konverter et eksisterende kontrolfelt til et listefelt ved at klikke med højre museknap på kontrolelementer og vælge Erstat med > Listefelt på kontekstmenuen.

Som et eksempel tager du en tabel kaldet, der indeholder felterne  ) og den tilknyttede primærnøgle . Vi vil have, at formularen viser KlientNavn i et listefelt, men faktisk bruger det tilsvarende KlientId i den underliggende tabel til at skrive den værdi andetsteds. Det er derfor nødvendigt at erklære det felt, hvor data skal gemmes, associerer en SQL-forespørgsel til listefeltet og sætter det felt i tabellen op til at bruges til visning så vel som at lagre data.

For at gøre dette starter du med at vise listefeltets kontrol (på værktøjslinjen Formulardesign vælger du kontrolelementet med et museklik og vælger Egenskaber), dernæst vælger du fanebladet Data i dialogen Egenskaber.

Under Data taster du navnet på tabellen, som skal bruges til at gemme data.

Vælg Sql som Liste.indholdstype.

Under Liste Indhold taster du  eller klikker på knappen, der vises med prikker, for at bruge guiden Forespørgsels-oprettelse.

I forespørgslen ovenfor returneres  som det første felt og har indekseringstallet 0, og   er det andet felt og returneres med et indekseringstallet 1.

In the above query,  is the first field returned, and has an indexation number of 0,  and   is the second field returned with an indexation number of 1.

Standardlisten, vist i et Listefelts-kontrolelement, er altid baseret på det første indekserede felt, dvs. indekseringsnummer 0, som i vort forhåndenværende eksempel med værdier fra ).

Eftersom det, vi faktisk vil have er værdien på KlientId (med et indekseringstal på 1) registreres, er det nødvendigt at indtaste værdien 1 under Linket felt.