Avatar billede lars_hoeberg Praktikant
19. december 2012 - 11:16 Der er 5 kommentarer og
1 løsning

Lave et variabelt "flette-felt"

Hejsa eksperter.

Jeg har en tabel med 2 felter. "EmailTypeID" og "ServiceTypeID".
Jeg har så 2 tabeller med ServiceTyper og EmailTyper.
Idéen er at der skal flettes en email med nogle informationer, alt efter hvilke valg der er fortaget. Jeg kunne i den forbindelse godt tænke mig at jeg i et felt i tabellen kunne definere, hvordan teksten skal se ud, og hvor evt. feltværdier skal sættes ind. Jeg skal blot have vist denne i en formular.

Altså jeg vil gerne at jeg i tabllen kan definere at hvis eks. "EmailTypeID"=1 og "ServiceTypeID"=1, er der så et 3. felt i tabellen som hedder "EmailText". Her kan jeg så evt skrive følgende:


="Dear " & Customer & "

Please keep in mind that we will visit you on " & DateOfVisit & " at " & TimeOfVisit & ".


Der kan være forskellig tekster alt efter hvilke valg man laver i "EmailTypeID" og "ServiceTypeID". Jeg ved godt man kan lave kode med en bunke af IF sætninger, men tænkte at det ville være meget smart og nemmere at vedligeholde, hvis definitionen kunne laves i en tabel.

Håber I kan hjælpe
Avatar billede lars_hoeberg Praktikant
19. december 2012 - 11:21 #1
Idéen er så at teksten i feltet "EmailText", i en formular kan omdannes således at den "fletter" data ind
Avatar billede mugs Novice
19. december 2012 - 11:34 #2
I stedet for If sætninger, kna du bruge den udvidedd udgave af If nemlig en select Case struktur. Den er nemmere a vedligeholde og fejlfinde end en masse If Then.

Jeg kan ikke se nogen fordel i at gemme teksten i en tabel, og jeg kan ikke se at du kan flette på tabeniveau, dertil skal du hVE NOGET vba, SOM DU OGSÅ SKRIVER.
Avatar billede lars_hoeberg Praktikant
19. december 2012 - 11:40 #3
Har du et godt link til noget af det "select case", hvor jeg kan læse lidt om hvordan det virker ?
VIl gerne slippe for alle de IF sætninger
Avatar billede mugs Novice
19. december 2012 - 11:57 #4
f.EKS. således. koden måler på formularens Felt3 (case). Hvis Case (betingelsen) er opfyldt udføres hsndlingen her Svar. Hvis du lægger din e-mail, kan jeg sende dig en lille testdb.

Dim Svar As String
Select Case Felt3
Case Is = "A"
Svar = MsgBox(Prompt:="Felt3 er A", Title:="Resultat", Buttons:=vbOKOnly)
Case "B" To "E"
Svar = MsgBox(Prompt:="Felt3 ligger imellem bogstaverne B og E i alfabetet", Title:="Resultat", Buttons:=vbOKOnly)
Case "F" To "H"
Svar = MsgBox(Prompt:="Felt3 ligger indenfor bogstaverne F og H i alfabetet", Title:="Resultat", Buttons:=vbOKOnly)
Case Else
Svar = MsgBox(Prompt:="Felt3 ligger efter bogstavet H i alfabetet", Title:="Resultat", Buttons:=vbOKOnly)
End Select
Avatar billede lars_hoeberg Praktikant
19. december 2012 - 12:17 #5
larsSNABELAhoeberg.dk
Avatar billede mugs Novice
19. december 2012 - 14:24 #6
Sendt
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