Avatar billede kol Nybegynder
01. maj 2003 - 14:34 Der er 19 kommentarer og
1 løsning

Formulat, felt med aktuel tid

I en formular viser jeg kundeoplysninger.
Der er tale om forsk. lande i Verden.
Jeg kunne tænke mig at lavet et felt, som skal vise aktuel tid i det pågældende land, altså dansk (eller CMT) tid +/- et antal timer, og således, at feltet løbende opdaterer.

Hvad siger eksperterne til dét?

Hilsen KOL
Avatar billede terry Ekspert
01. maj 2003 - 14:57 #1
You need to use the forms timer event to set the value of an unbound field

me.Thefield = Now()
Avatar billede jkrons Professor
01. maj 2003 - 14:57 #2
Du er nødt til at lave en tabel over de forskellige landes tidsforskydning i forhold til Danmark. Derefter kan du lave et felt, der sættes til tiden fra pc'en +- tidsforskydningen.
Avatar billede terry Ekspert
01. maj 2003 - 14:58 #3
If you only want to use th eapplication in DK then you will also need to take into account the time difference for each country, this could be in a table
Avatar billede kol Nybegynder
01. maj 2003 - 15:11 #4
Jeg har en separat tabel for lande. Den indeholder landekode, tlf.forvalg m.v., og der kan jeg selvfølgelig tilføje et felt med tidsforskydningen.
Værdien kan vel indsættes som "+4" - "-2" o.s.v, eller skal jeg lave to kolonner, een med numerisk værdi og een med + eller -?

Jeg bliver også nødt til at have lidt detailleret instruks til indsættelse af funktionen, da jeg ikke er nørd.

Hilsen KOL
Avatar billede terry Ekspert
01. maj 2003 - 15:52 #5
I dont know what fields you have but this is an example:

Place this in the forms timer event and set the Timer Interval to 1000 (1 second)

Me.Text8 = DateAdd("h", DLookup("TimeDiff", "tblTimeDiff", "Land = " & Me!landID), Now())

I have an unbound field on the form named text8.
I have a table tblTimeDiff with a field TimeDiff which contains a value + or - of DK.
The primary key field is Land which in my example is an integer.

IN the kundeoplysninger table there is also a field LandId which contains the land code which in this example is an integer.

Hope thats enough information.
Avatar billede kol Nybegynder
01. maj 2003 - 16:21 #6
Hi Terry,

I'll check you proposal later and revert with my comments (and possibly points!)

Regards KOL
Avatar billede kol Nybegynder
02. maj 2003 - 11:44 #7
Terry

Jeg har i hjælpefunktionen læst om "Timer Interval" og "Me".
Men jer er ikke fortrolig med disse funktioner i Access.
Hvor finder jeg "the forms timer event" f. eks.?

jkrons
Havde du en enklere løsning, som jeg måske kan finde ud af?

Hilsen KOL
Avatar billede mugs Novice
02. maj 2003 - 12:04 #8
Timer Interval ligger i formularegenskaberne.
Åbn db i databasevinduet > højreklik på formularen > Egenskaber >Fanen hændelser.

Me refererer til den aktuelle formular, som du har åben. I terry's eksempel, at den aktive formulars Text8 = ....
Avatar billede kol Nybegynder
02. maj 2003 - 14:43 #9
Tak for hjælpen.
jeg forsøger mig frem.
Desværre kniber det med tid til at koncentrere mig om problemet, så jeg må bede om lidt tålmodighed.

Treey,

How come you read in danish but answers in english?

Hilsen KOL
Avatar billede terry Ekspert
02. maj 2003 - 19:51 #10
because everyone writes in Danish :o)

No, because I am english and my written danish isnt too hot, and far too slow.
Avatar billede terry Ekspert
02. maj 2003 - 21:34 #11
Avatar billede kol Nybegynder
05. maj 2003 - 17:52 #12
Super! Det fungerer flot, Terry.

Jeg tør næsten ikke spørge, hvor jeg evt. kan ændre tidsformatet til "hh.mm" eller bare til "hh".

Jeg kan godt se, hvordan "timer interval" er lagt ind i formularens egenskaber. Det ser jo ikke særligt vanskeligt ud (Nu hvor det er lavet, altså). Måske man alligevel skulle lære sig lidt VBA.

Konklusion:

Tak og point til Terry, som slæbte mig igennem.
Tak til jkrons og mugs, som hjalp med gode kommentarer men lod Terry klare problemet. Sikkert klogt nok: (Mange kokke osv....)

Hilsen KOL
Avatar billede mugs Novice
05. maj 2003 - 17:59 #13
Formatet for et tidsfelt blot visende timer:

hh:nn

for timer alene:

hh

Husk at mm betyder måned
Avatar billede terry Ekspert
05. maj 2003 - 18:30 #14
selv tak.
Did you get your time format to work?
Avatar billede kol Nybegynder
05. maj 2003 - 18:47 #15
mugs

OK! Jeg glemte i farten, at mm er måned.
Men jeg kan ikke se noget sted, hvor "tt.nn.ss" er nævnt, så hvor skal jeg rette?

Og en lille filurlighed (håber jeg):
Når jeg i tabellen over lande tilføjer Japan som "JP" i kolonnen Land og med "6" i kolonnen TimeDiff, så viser ses tiden i Formularen som "31.12.1899 tt.nn.ss"!
Dette gælder kun Japan, ikke USA / -6 eller IN / 3 eller andre, jeg umiddelbart kan finde på.

Jeg har downloaded terry,s db igen og overskrevet, uden nogen ændring.
Løsningen kan tilsyneladende ikke lide Japan.

Nej! Jeg fandt ud af, at problemet opstår, når tidsforskydningen er så stor, at der skiftes dato. Dét kan løsningen ikke klare! Det er klart, at datoen også må med på en eller anden måde.

Nu bliver den lille opgave vist alligevel til et projekt?

Kan den klares, eller skal vi stoppe hér?

Hilsen KOL
Avatar billede terry Ekspert
05. maj 2003 - 18:57 #16
look in the forms Timer Event and change to this line

Me.Text6 = Format(DateAdd("h", Nz(DLookup("TimeDiff", "tblTimeDiff", "LandID = " & Me!LandId), 0), Time()), "hh:mm")
Avatar billede terry Ekspert
05. maj 2003 - 19:02 #17
Try this

Me.Text6 = Format(DateAdd("h", Nz(DLookup("TimeDiff", "tblTimeDiff", "LandID = " & Me!LandId), 0), Now()), "hh:mm")
Avatar billede terry Ekspert
05. maj 2003 - 19:02 #18
the first solution was making calculations in a TIME value not a date+Time
Avatar billede kol Nybegynder
05. maj 2003 - 19:14 #19
Terry,

Det fungere fint nu.
Jeg kan nu ikke se nogen forskel i virkningen af dine to forslag, de giver begge hh:nn
Ikke for at være urimelig, men når man kommer ind i næste døgn, ville den perfekte løsning gøre, at der på en eller anden måde stod "Næste dag" eller "OBS! Datoskift". Problemet vil vel også opstå "den anden vej", altså når -timer bevirker, at lokal tiden endnu er i går.

Hilsen KOL
Avatar billede terry Ekspert
05. maj 2003 - 21:22 #20
The differnce between 05/05-2003 19:02:04 and 05/05-2003 19:14:54 is that with the first I use Time() which only gives the current time and the next I use now() which gives the date and time. You dont actually see these, but its in the calculations when I add or subtract hours. I changed this because you said that you were having problems with large numbers for example with Japan. I dont know if it helped, but when you say "Det fungere fint nu." then I assume it did help :o)

IF you displayed the date and time in the field then you would also see if there was a date difference! Or you could have two fields, one displaying the date an done displaying the time.

Me.Text7 = Format(DateAdd("h", Nz(DLookup("TimeDiff", "tblTimeDiff", "LandID = " & Me!LandId), 0), Now()), "Short Date")
NOT Tested :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