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

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