Access - Přičtení jedné hodiny k aktuálnímu času Vyřešeno

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Berthin
nováček
Příspěvky: 34
Registrován: červen 11
Pohlaví: Nespecifikováno
Stav:
Offline

Access - Přičtení jedné hodiny k aktuálnímu času  Vyřešeno

Příspěvekod Berthin » 20 čer 2011 11:35

Dobrý den, hloupější dotaz:

Mám buňku, která se vyplňuje na základě primitivního příkazu:
Me![čas do]=time + 0.0418
výsledek je že se do buňky "čas do" vloží aktuální čas plus 1 hodina.
problém je, že pokud to provedu po 23:00, access přičte hodinu, dostane se tak časově na další den a přidá k této hodnotě i datum (konkrétně 31.12.1899), které sice kvůli masce není vidět, při projetí políčka kurzorem tam ale je, což mi pak dělá problém při exportu dat. Dá se tahle funkce nějak odstranit? Jsem uplnej začátečník, takže se omlouvám a děkuju za radu.

Martin

Reklama
maiki
Level 3
Level 3
Příspěvky: 463
Registrován: listopad 07
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Access - Přičtení jedné hodiny k aktuálnímu času

Příspěvekod maiki » 21 čer 2011 02:11

Problém myslím spočívá v tom, že pokud nezadáš žádné datum tak se implicitně počítá s výchozím datem 30.12.1899. Zkus použít Format(Cas, "hh:mm") čímž ti vyjede pouze čas ve tvaru 23:00, 23:15, 00:15 atd. Ona maska v uvozovkách má samozřejmě více možností, ale to již najdeš v nápovědě k fci Format.

Osobně bych ten tvůj kód napsal nějak takhle:

VyslednyCas = Format(DateAdd("h", 1, VstupniCas), "hh:mm")

Čili pomocí funkce DateAdd přidáme 1 hodinu ke vstupnímu času a pak pomocí format převedemu do tvaru hodiny:minuty.

Berthin
nováček
Příspěvky: 34
Registrován: červen 11
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Access - Přičtení jedné hodiny k aktuálnímu času

Příspěvekod Berthin » 21 čer 2011 14:10

Zdravim, tak jsem ten tvůj příkaz zkusil zkusil a bohužel žádná změna, snad sem ho zadal správně. Datum se sice nezobrazuje, ale jak sem říkal pokud to políčko projedu celý kurzorem, datum tam pořád je. Asi budu muset celou tu funkci automatického vyplňování času vymyslet nějak jinak. Díky moc za radu a pokud by tě ještě něco napadlo, jsem jedno ucho.

karel.laska
Level 2.5
Level 2.5
Příspěvky: 274
Registrován: červen 11
Pohlaví: Muž
Stav:
Offline

Re: Access - Přičtení jedné hodiny k aktuálnímu času

Příspěvekod karel.laska » 21 čer 2011 14:15

Zdravím,
co zkusit misto format pouzit TimeValue ?

Berthin
nováček
Příspěvky: 34
Registrován: červen 11
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Access - Přičtení jedné hodiny k aktuálnímu času

Příspěvekod Berthin » 21 čer 2011 14:26

Jak říkám, jsem úplnej začátečník, takže nějak netuším jak použít funkci TimeValue, ale du se informovat na NET. Dík moc

karel.laska
Level 2.5
Level 2.5
Příspěvky: 274
Registrován: červen 11
Pohlaví: Muž
Stav:
Offline

Re: Access - Přičtení jedné hodiny k aktuálnímu času

Příspěvekod karel.laska » 21 čer 2011 14:29

VyslednyCas = Format(DateAdd("h", 1, VstupniCas), "hh:mm")
VyslednyCas = DateValue(DateAdd("h", 1, VstupniCas), "hh:mm")
:-)

Berthin
nováček
Příspěvky: 34
Registrován: červen 11
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Access - Přičtení jedné hodiny k aktuálnímu času

Příspěvekod Berthin » 21 čer 2011 14:53

Tak jsem se to snazil zkusit, a tenhle příkaz mě to prostě nebere:-( zkoušel jsem i zaměňovat Date za Time a prd. Každopádně opět dík moc:-)

karel.laska
Level 2.5
Level 2.5
Příspěvky: 274
Registrován: červen 11
Pohlaví: Muž
Stav:
Offline

Re: Access - Přičtení jedné hodiny k aktuálnímu času

Příspěvekod karel.laska » 21 čer 2011 14:56

Jestě se zeptám jinak...
Kde vlastně jste původní příkaz použil?
Me![čas do]=time + 0.0418
Ve formuláři?

maiki
Level 3
Level 3
Příspěvky: 463
Registrován: listopad 07
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Access - Přičtení jedné hodiny k aktuálnímu času

Příspěvekod maiki » 21 čer 2011 15:58

Zajímalo by mě jak vypadají tvé vstupní hodnoty. Zadáváš ten čas ručně nebo jakým způsobem? Mám tu pokusně tabulku a v ní jen a pouze časy co jsem zadal ručně a normálně mi to funguje. Ani při editaci v poli se mi nezobrazuje datum. Nastavil jsem také v návrhu tabulky formát pole na krátký čas.

do vedlejšího pole jsem to zapisoval a normálně se přičítá hodina bez problémů a žádné datum se nikdy nezobrazuje(je nutno zachovat format!):

rst![CasNovy] = Format(DateAdd("h", 1, rst![Cas]), "hh:mm")

Berthin
nováček
Příspěvky: 34
Registrován: červen 11
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Access - Přičtení jedné hodiny k aktuálnímu času

Příspěvekod Berthin » 21 čer 2011 16:22

Nevím jak mám Karlovi odpovědět, příkaz jsem použil v Basicu (a teď su možná ještě větší blbec než jste mysleli:-))
Tak já to zkusím nějak popsat. Představte si třeba databázi kterou používám na sledování aut na silnici. Když kolem mne projede, napíšu datum, od kdy do kdy jsem auto viděl, barva, značka atd. Co chci je aby po kliknutí do políčka s datem se vypsalo automaticky datum, do dalšího políčka aktuální čas, do dalšího čas + 1 hodina a kurzor aby skočil do dalšího pole kde už budu zapisovat další data ručně.
Zatím to mám tak že mám nastavenou událostní proceduru po klepnutí do políčka s datem takhle:

Private Sub Datum_Click ()
If IsNull (Me![čas od]) Then
Me![čas od]=time
Me![čas do]=time+0.0418
a pak název dalšího políčka.SetFocus
End If

Funguje to dobře a dělá to to co jsem nahoře popisoval, až na ten problém s časem. Jak jsem už psal dělá to jenom pokud je "čas do" po 24:00. Např. v 15:00 to do "čas do" napíše 16:00 a žádnej problém, ale v když kliknu na pole datum ve 23:50, pak to vypíše dnešní datum, čas 23:50 a "čas do" 31.12.1899 00:50:-(
Mam Office2000

--- Doplnění předchozího příspěvku (21 Čer 2011 16:26) ---

Jo a dělá to i když jsem zadal místo Me![čas do]=time+0.0418 vaše Me![čas do] = Format(DateAdd("h", 1, Me![čas od]), "hh:mm")

maiki
Level 3
Level 3
Příspěvky: 463
Registrován: listopad 07
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Access - Přičtení jedné hodiny k aktuálnímu času

Příspěvekod maiki » 21 čer 2011 16:36

I po použítí Cas = Time mi to nezobrazuje datum. Máš nastavený formát pole na krátký čas?

Berthin
nováček
Příspěvky: 34
Registrován: červen 11
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Access - Přičtení jedné hodiny k aktuálnímu času

Příspěvekod Berthin » 21 čer 2011 16:57

mám:-(


Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Seznam[Bot] a 2 hosti