Avatar billede monmike Nybegynder
13. januar 2004 - 11:07 Der er 7 kommentarer og
1 løsning

lidt drillerier med if

Hejsa. Jeg har en If sætning der driller mig lidt. Det kan også være det kan/bør løses på en anden måden. Situationen er den at jeg har 2 priser på noget og et tidsrum hvor den ene pris skal bruges og resten af døgnet skal det være en anden pris.

Denne sætning virker ikke helt:
If [priser].Form![Skilletid] < Time Then
ElseIf [priser].Form![Skilletid2] > Time Then
prisnu = [priser].Form![pris2]
Else
prisnu = [priser].Form![pris1]
End If

[priser].Form![Skilletid] er lig med kl. 18.00
[priser].Form![Skilletid2]er lig med kl. 02.00
Pris2 er lig med 50 kr
pris 1 er lig med 40 kr.

Det jeg skal bruge er en sætning som giver prisnu det rigtige beløb udfra tidspunktet.
Hvis tiden er under 18.00 er det pris1.
er tiden over 18.00 og under 02.00 er prisen pris2.
hvis tiden er over tid2 er prisen pris1.
Avatar billede overchord Nybegynder
13. januar 2004 - 11:45 #1
Ligger dette i formen priser eller hvad?
I tilfaelde af at de goer er din reference til felterne lidt omvendte

Form![priser].[skilletid] f.eks

Alternativt kan du, siden du bruger samme for i hele saetningen, bruge en with loekke

dim frm as Form
set frm = Form_Prsier

with frm

... din kode hvor du bare refererer til felt-navne f.eks .Skilletid eller .pris2

end with
Avatar billede monmike Nybegynder
13. januar 2004 - 12:26 #2
Den uddyber jeg lige lidt mere. Jeg har en form med en underformular. underformularen indeholder felterne skilletid1, skilletid2 og pris1,pris2. men det er på hovedformularen denne "if" sætning ligger. Den aktiveres ved en knap (on_click) for at registrere start tidspunktet. Hvis dette start punk ligger udenfor tidsrummet defineret med skilletid1 og 2 skal den vælge pris 1. Hvis der er indenfor tidsrummet skal den vælge pris2.
Avatar billede monmike Nybegynder
13. januar 2004 - 12:27 #3
Den uddyber jeg lige lidt mere. og lidt mere overskueligt

Jeg har en form med en underformular. underformularen indeholder felterne skilletid1, skilletid2 og pris1,pris2.
men det er på hovedformularen denne "if" sætning ligger.
Den aktiveres ved en knap (on_click) for at registrere start tidspunktet.
Hvis dette start punk ligger udenfor tidsrummet defineret med skilletid1 og 2 skal den vælge pris 1.
Hvis der er indenfor tidsrummet skal den vælge pris2.
Avatar billede hubs Nybegynder
13. januar 2004 - 13:38 #4
Prøv evt. med denne her...

If Time > Forms![HovedFormular]![UnderFormular]![skilletid1] AND Time < Forms![HovedFormular]![UnderFormular]![skilletid2] Then
prisnu = Forms![HovedFormular]![UnderFormular]![pris1]
Else
prisnu = Forms![HovedFormular]![UnderFormular]![pris2]
End If
Avatar billede fynbohans Nybegynder
13. januar 2004 - 13:52 #5
Prøv denne her:
If [priser].Form![Skilletid] < Time Then
  prisnu = [priser].Form![pris1]
Else
  prisnu = [priser].Form![pris2]
End If

som hvis Time = 18.00 betyder at prisen 18.00-24.00 er pris2, ellers pris1.
Avatar billede monmike Nybegynder
13. januar 2004 - 13:57 #6
>>hubs  Det virker næsten. Der er bare et problem med at tiden i skilleperioden går over kl. 24.00. Men det løser jeg ved at bytte rund på det. Så jeg bare definere det andet tidsrum. Så din løsning virker såden set - bare modsat. Smid et svar, det giver point alligevel. Det er løst.
Avatar billede hubs Nybegynder
13. januar 2004 - 14:34 #7
sweet mænge tak :o) ellers må du lige sige til hvis det volder dig problemer
Avatar billede fynbohans Nybegynder
13. januar 2004 - 16:18 #8
Forbindelsen har været afbrudt og
så slutningen af spørgsmålet for sent. Skal være:

If [priser].Form![Skilletid] < Time Then
  If [priser].Form![Skilletid]> tid2 then
    prisnu = [priser].Form![pris1]
  Else
    prisnu = [priser].Form![pris2]
  End if
Else
  prisnu = [priser].Form![pris2]
End If
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