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
Access - Přičtení jedné hodiny k aktuálnímu času Vyřešeno
Re: Access - Přičtení jedné hodiny k aktuálnímu času
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.
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.
Re: Access - Přičtení jedné hodiny k aktuálnímu času
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.
-
- Level 2.5
- Příspěvky: 274
- Registrován: červen 11
- Pohlaví:
- Stav:
Offline
Re: Access - Přičtení jedné hodiny k aktuálnímu času
Zdravím,
co zkusit misto format pouzit TimeValue ?
co zkusit misto format pouzit TimeValue ?
Re: Access - Přičtení jedné hodiny k aktuálnímu času
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
-
- Level 2.5
- Příspěvky: 274
- Registrován: červen 11
- Pohlaví:
- Stav:
Offline
Re: Access - Přičtení jedné hodiny k aktuálnímu času
VyslednyCas = Format(DateAdd("h", 1, VstupniCas), "hh:mm")
VyslednyCas = DateValue(DateAdd("h", 1, VstupniCas), "hh:mm")
:-)
VyslednyCas = DateValue(DateAdd("h", 1, VstupniCas), "hh:mm")
:-)
Re: Access - Přičtení jedné hodiny k aktuálnímu času
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:-)
-
- Level 2.5
- Příspěvky: 274
- Registrován: červen 11
- Pohlaví:
- Stav:
Offline
Re: Access - Přičtení jedné hodiny k aktuálnímu času
Jestě se zeptám jinak...
Kde vlastně jste původní příkaz použil?
Me![čas do]=time + 0.0418
Ve formuláři?
Kde vlastně jste původní příkaz použil?
Me![čas do]=time + 0.0418
Ve formuláři?
Re: Access - Přičtení jedné hodiny k aktuálnímu času
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")
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")
Re: Access - Přičtení jedné hodiny k aktuálnímu času
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")
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")
Re: Access - Přičtení jedné hodiny k aktuálnímu času
I po použítí Cas = Time mi to nezobrazuje datum. Máš nastavený formát pole na krátký čas?
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host