Avatar billede bjarkepedersen Nybegynder
02. maj 2009 - 14:04 Der er 10 kommentarer og
1 løsning

Hvordan skrives værdi til et felt bestående af værdier fra to andre felter i en formular

Hej

Jeg har en tabel som jeg gerne vil fylde via en formular.
ID'et er ikke autonummereret. Jeg vil gerne lave det sådan at Id'et bliver lavet som en streng bestående af vædier fra to andre felter.

Det jer ønsker er at der åbnes en form hvor alle kolonner i tabellen er representeret ved et felt. Man kan nu taste værdier ind og når der trykkes næste oprettes posten i min tabel.

1. Hvordan laver jeg det så man ikke kan skrive i den øverste tekstboks.

2. Lige inden posten oprettes, vil jeg gerne ha at der bliver indsat en tekst i den overste tekstboks. Denne tekst skal bestå af en sammensætning af hvad der er skrevet i 2 af de andre tekstbokse.

håber nogen kan hjælpe
mvh Bjarke
Avatar billede mugs Novice
02. maj 2009 - 15:13 #1
Sammenstilling af 2 felter:

I din forespørgsel kan du lave et udtryk ved at stille markøren i en ny tom kolonne og skrive:

Udtryk1: [Felt1]&[Felt2]

Hvis felt1 indeholder navnet Jens og felt2 efternavnet Andersen, vil resultatet blive:

JensAndersen

Vil du have mellemrum opfattes det som tekst:

Udtryk1: [Felt1]&" "&[Felt2]

som returnerer Jens Andersen i udtrykket.

For at undgå, at brugerne kan skrive i et felt, kan du i formularen angive feltets egenskab Locked til True.
Avatar billede bjarkepedersen Nybegynder
02. maj 2009 - 16:12 #2
Jeg har fået den til at skrive den ønskede streng ved at jeg i Kontrolelementkilde for feltet har skrevet:
="UDL"+Right(Str([Periode_start]);4)+Mid(Str([Periode_start]);4;2)+Left(Str([Periode_start]);2)+"R"+Format([Rum_nr])

Nu har jeg altså fået den ønskede streng.
Den genereres aotumatisk når jeg udfylder fleterne Periode_start og Rum_nr.

Hvordan gemmer jeg så den beregnede værdi i tabellen ?

Som det er lige nu, så vises den kun.
Avatar billede mugs Novice
02. maj 2009 - 17:14 #3
Så bruger du et ubundet felt, og det kan jo ikke gemmes i tabellen. Jeg foreslog et udtryk i en forespørgsel, da det principielt er forkert at gemme data, der kan genereres i en forespørgsel.

Men du kan i det ubundne felt indsætte en kode i stil med dette:

Me.navn på felt fra tabellen = Me.navn på dit ubundne felt
Avatar billede bjarkepedersen Nybegynder
02. maj 2009 - 17:49 #4
Det kan jeg ikke få til at virke.

Er det ikke muligt eller lovligt at udfylde et felt i tabellen, på baggrund af hvad der står i de andre felter i samme række ?
Avatar billede mugs Novice
02. maj 2009 - 18:07 #5
Hvad sker der? Får du en fejlmeddelelse? Hvor har du indsat koden?

Et felt fra tabellen skal jo have data fra tabellen, derfor kan du ikke definere en anden postkilde, men kan gå den omvej jeg har skitseret.

Koden er afprøvet og fungerer således, hvor Tekst18 er det ubundne felt og FLDefternavn er feltet fra tabellen:

Private Sub Tekst18_BeforeUpdate(Cancel As Integer)
Me.FLDefternavn = Me.Tekst18
End Sub
Avatar billede bjarkepedersen Nybegynder
02. maj 2009 - 18:43 #6
hvor skal jeg skrive den kode henne ?
Avatar billede mugs Novice
02. maj 2009 - 18:51 #7
Som koden siger, i det ubundne felt's BeforeUpdate:

Private Sub Tekst18_BeforeUpdate(Cancel As Integer)
Me.FLDefternavn = Me.Tekst18
End Sub
Avatar billede bjarkepedersen Nybegynder
02. maj 2009 - 19:03 #8
Det virker ikke. Der sker ikke noget.

Felt1: "Her skal der vises en tekst der bliver lavet når felt 2 og 3 udfyldes. Denne værdi skal så gemmes i tabellen."

Felt2: "Her skal der indtastes"
Felt3: "Her skal der indtastes"

EKS:
I formularvisning udfylder jeg flet 2 og 3, hvorved at der automatisk skrives til Felt1.

Felt1: HansJensen
Felt2: Hans
Felt3: Jensen

når jeg går videre til næste post, gennems indholdet af Felt2 og 3 over i tabellen, men ikke indholdet af Felt 1.

Det er det jeg ikke kan få til at virke.
Det er slet ikke meningen at man skal skrive noget i Felt1, det udfyldes automatisk. Ved ikke om det er derfor koden ikke virker.
Avatar billede mugs Novice
02. maj 2009 - 19:08 #9
Indsæt koden i Felt1 BeforeUpdate.

Kan du stadig ikke får det til atf ungere, kan du sende din db. som en .zip fil til:

mugs snabelting mail.dk
Avatar billede bjarkepedersen Nybegynder
02. maj 2009 - 21:07 #10
tak. Det hjalp :)
Avatar billede mugs Novice
02. maj 2009 - 21:19 #11
Tak for point.

Hvis du ikke vil se feltet Fremlejenummer, kan du prøve at sætte egenskaben Synlig til falsk (Visible = False). Koden bør fungere alligevel.
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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