Avatar billede fimo Seniormester
06. august 2003 - 20:53 Der er 11 kommentarer og
1 løsning

Regne på tid/tekst felter ?

Skal til at ændre i en database,hvor der er en en tabel som bla har følgende tidsfaktor i et
dato felt hh,nn = 0,50 min.
Og i en anden tabel har jeg feks følgende felter:
19,00 = ba
20,00= tk
16,55= LX
Og de tider har jeg trukket fra med 0,50
i følgende formel:
udtryk1:[T_tider]![STD]-[Fra Nov]![Fra Nov]
og det virker.
MEN nu har jeg behov for en flere muligheder,
feks har jeg lavet to linier mere i samme tabel
som 0,50min, dvs 0,30min , 0,45min

Hvordan får jeg access til at kæde/regne ALLE dem der hedder noget med "BA" sammen med feks 0,50, dem med "TK" minus 0,30 osv...

Jeg kender ikke noget vil VB, så det må gerne være simpelt, hvis det er muligt ?

Hvis det er svært at forstå mit problem, så kan det være fordi at jeg ikke er helt stærk i access men håber på hjælp "udefra"
Avatar billede mugs Novice
06. august 2003 - 20:59 #1
For mig er det nemmeste at gøre det i en formular i VBA. I feltet der indeholder ba o.s.v. kan du i BeforeUpdate indsætte en betingelse:

Select Case FELTNAVN
Case Is = "ba"
Me.felt 1 = og så din beregning
Case Is = "TK
Me.felt1 = og så en anden beregning
End Select
Avatar billede fimo Seniormester
06. august 2003 - 21:02 #2
Nu spør jeg lige dumt...
Men hvor skal jeg stå for at komme ind i VBA og kan jeg kopiere
din formel direkte eller ?
Avatar billede mugs Novice
06. august 2003 - 21:04 #3
Har du en formular?
Avatar billede fimo Seniormester
06. august 2003 - 21:07 #4
Ja, jeg har en masse, det er der jeg har forsøgt at lave min "hjemmelavet" formel :o)
Avatar billede mugs Novice
06. august 2003 - 21:15 #5
Åbn den dormular der skal indeholde beregningen. Gå i Designvisning > Højreklik på det felt der indeholder "ba" > Egenskaber > Fanen Hændelser > Find linien BeForeUpdate (FørOpdatering) > Tryk på de 3 amå ... i højre side.

Du er nu inde i VBA-editoren og markøren ståe mellem 2 linier Private Sub.. og end Sub. Imellem disse 2 linier placerer du din kode.


Select Case NAVNET PÅ DET FELT DER INDEHOLDER ba
Case Is = "ba"
Me.NAVN PÅ DET FELT DER SKLAL MODTAGE BEREGNINGEN = og så din beregning
Case Is = "TK
Me.felt1 = og så en anden beregning
End Select

Beregningen vil blive foretaget hver gang du ændrer feltet med ba.
Kan sende en testdb, blot læg din e-mail
Avatar billede fimo Seniormester
06. august 2003 - 21:17 #6
Det må du meget gerne fimo@get2net.dk....TAK !!!!
Avatar billede mugs Novice
06. august 2003 - 21:21 #7
Sendt.
Avatar billede fimo Seniormester
06. august 2003 - 21:25 #8
Glemte lige at sige at jeg bruger ver.'97, er det et problem vedr. filen ?
Avatar billede mugs Novice
06. august 2003 - 21:28 #9
Konverteret til 97 og sendt
Avatar billede fimo Seniormester
08. august 2003 - 11:48 #10
>mugs, tak for alt din hjælp indtil nu, du skal nok for dine velfortjente point MEN jeg vil helst ikke lukke dette endnu
da jeg stadigvæk mangler en SQL formel i min forespørgsel, der kan sige noget med:
"....hvis tabel X,feltA hedder noget med feks "baxxx"(kan være forskellige 2 bokstaver), så skal forespørgslen bruge feks 0,50
ellers skal den bruge feks 0,30...."
Avatar billede mugs Novice
08. august 2003 - 12:57 #11
Du kan evt. arbejde videre med denne IIf funktion. Denne multiplicerer værdi i feltet "værdi" med 0,5, hvis "felt1" er = ba. Brug evt. ekspertens søgefunktion med søgeordet iif

Udtryk1: IIf([felt1]="ba";[værdi]*0,5)
Avatar billede fimo Seniormester
08. august 2003 - 19:50 #12
>mugs, tak for din iif formel. jeg tror at du har ret i at det er den vej jeg skal søge/forsøge mig, så nu vil jeg prøve at se om jeg
kan finde den rette formel ellers så må jeg oprette et
nyt spørgsmål under "iff" :o)
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