[ Ero S Ovoga Sveta @ 24.12.2004. 16:44 ] @
Zanima me kako da iz VB-a saznam oblik sistemskog datuma? Znaci dali je tipa: "d.m.yyyy" ili "mm.dd.yyyy" ili "yyyy.mm.dd" ili..... Nadam se da ste shvatili o cemu je rijec. |
[ Ero S Ovoga Sveta @ 24.12.2004. 16:44 ] @
[ Shadowed @ 24.12.2004. 17:06 ] @
Ima i API-ja za to ali mozes procitati i iz Registry-a:
HKEY_CURRENT_USER\Control Panel\International sLongDate i sShortDate Oba su tipa REG_SZ. U istom kljucu imas i ostale podatke iz regionalnih podesavanja. BTW, ovo su per-user podesavanja. [ Ero S Ovoga Sveta @ 24.12.2004. 18:02 ] @
Zapravo bolje da mi pomognete u ovom:
Imam bazu "db1.mdb", u njoj tabelu "Tbl1" u kojoj se svaki dan upisuju odredjeni podatci, a u prvom polju automatski se upisuje DATUM. Kako sada da iz baze izdvojim sve podatke koji su upisani npr. za Decembar 2004. god.??? [ Not now, John! @ 24.12.2004. 18:31 ] @
Ne bi trebalo da formatiraš datum pomoću Format funkcije. Ukoliko nekom polju txtDate dodijeliš vrijednost txtDate=Date() u njemu će biti prikazan datum u formatu koji je podešen u regionalnim podešavanjima. Kada korisnik promijeni format datuma na svom računaru, tvoj program će se automatski prilagoditi promjeni.
Kako odabrati podatke iz tabele? Zavisi od toga na koji način pristupaš bazi podataka. set rsRecordet=DataEnvironment.cnKonekcija1.Execute("SELECT * FROM Tabela WHERE Datum=#2004-12-24#") će raditi za ADO. [ Ero S Ovoga Sveta @ 25.12.2004. 05:19 ] @
Citat: set rsRecordet=DataEnvironment.cnKonekcija1.Execute("SELECT * FROM Tabela WHERE Datum=#2004-12-24#") će raditi za ADO. Jesi li siguran da ce raditi sa svim formatima datuma ovisno o tome koje su regionalne postavke na odredjenoj masini??? [ Not now, John! @ 25.12.2004. 10:18 ] @
Mislim da hoće, pošto se radi o SQL sintaksi. Mislim da u SQL upitima možeš koristiti samo MM/dd/yy ili yyyy-MM-dd format.
[ Ero S Ovoga Sveta @ 25.12.2004. 19:18 ] @
Hoce radi kako god je postavljen sistemski datum, isprobao sam.
Al josuvijek moj problem nije rijesen. Kako da postavim upit da izlistam podatke za odredjeni mjesec ili za odredjenu godinu??? Uspio sam za mjesec nesto ovako: Code: God = "#2004-" Mjes = "12-" Datum = " Datum=" & God & Mjes & "1#" For I = 2 To 31 Datum = Datum & " Or Datum=" & God & Mjes & I & "#" Next I Pa onda to proslijedim u: Code: Set RS = cnK.Execute("SELECT * FROM Otpremnice WHERE " & Datum) Al to mi je nekako bezvezno rjesenje. Osim toga for petlju bi morao da ogranicavam zavisno od toga koji je mjesec u pitanju. Npr. ako je februar onda bi isla samo do 28 odnosno 29 ako je prestupna godina. To jest prvo bi morao da isprogramiram kalendar pa onda sve ovo ostalo sa puno "If"-ova. A zamisli sta bi trebalo da izlistam podatke za godinu na ovaj moj nacin. Nadam se da bi trebalo postojati neko jednostavnije rjesenje. Molim sve koji bi mogli pomoci da se ukljuce !!! [ Not now, John! @ 25.12.2004. 20:36 ] @
Probaj:
Code: WHERE YEAR(Datum)=2004 WHERE YEAR(Datum)=2004 AND MONTH(Datum)=12 WHERE Datum=#2004-12-06# WHERE Datum>=#2004-12-01# AND Datum <=#2004-12-31# Ako ne rade 1. i 2. primjer možeš umjesto njih koristiti nešto slično kao primjer 4. Odnosno, ako imaš neki datum koji je korisnik unio: dTrazeniDatum Za čitavu godinu: Code: "WHERE Datum>=#" & Year(dTrazeniDatum) & "-01-01# AND Datum<=#" & Year(dTrazeniDatum) & "-12-31#" Za izabrani mjesec izabrane godine: Code: "WHERE Datum>=#" & Format(dTrazeniDatum, "yyyy-MM") & "-01# AND Datum<#" & Format(DateSerial(Year(dTrazeniDatum), Month(dTrazeniDatum)+1, 1), "yyyy-MM-dd") & "#" [ Ero S Ovoga Sveta @ 26.12.2004. 08:05 ] @
Citat: WHERE YEAR(Datum)=2004 WHERE YEAR(Datum)=2004 AND MONTH(Datum)=12 To mi je trebalo. Nisam znao da se datum moze razloziti na godinu, mjesec.., a to sam pokusavao. U svakom slucaju hvala Not now, John! Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|