[ Goran Goran @ 29.07.2005. 17:09 ] @
Pozdrav,

trebam nekoliko savjeta za koristenje datuma u bazi podataka.

Zanima me kako Vi rjesavate unos datuma u neku bazu podataka.
Da li da napravim 3 polja (za godinu, mjesec, datum) jer tako znam pretrazivati pr po mjesecu:
Code:

"select Sastanak from Kalendar where Mjesec = 3"



Ili...

Znam da postoji al ne znam kako bi glasila SQL sintaksa za pretrazivanje tablice "Kalendar" u bazi "C:\Baza.mdb" ako recimo postoje polja: Sastanak, Datum ?! Znaci nesto ovako (pretpostavljam!):
Code:

"select Sastanak from Kalendar where '?????????????'"


Kako naj jednostavnije upisati ovakav oblik datuma (29.7.2005.) u tablicu? Da li su VB i Access "sinhronizirani" u pogledu unosa datuma?

Hvala1

[ negyxo @ 30.07.2005. 12:44 ] @
Mislim da je najbolje da koristis date tip. Nema potrebe razdvajati datum na godine, mesece i dane. U accessu se to ozncava kao Date/Time polje ako se nevaram. Ako ti je potrebno da pretrazujes po mesecu, godini ili danu mozes koristiti SQL Jet sintaksu

SELECT YEAR(mojDatum), MONTH(mojDatum), DAY(mojDatum) FROM Tabela
WHERE MONTH(mojDatum) = 3

Sad sto se tice upisivanja u bazu to sve zavisi s cim radis. Ako koristis recordset za upisivanje onda je jednostavno, samo prosledis vrednost pa update.
Ako ides preko SQL nemoj spajati sve u jedan SQL string i tako execute-ovati nego kreiraj parametre

INSERT INTO Tabel(datum) VALUES (@datum)




















[ Goran Goran @ 01.08.2005. 23:21 ] @
OK, hvala.

Pitanjce: Kako bi korisniku (recimo) bilo naj prikladnije uneti datum?
Iz TextBoxa, ComboBoxa, nesto drugo
Da li je moguce napraviti recimo 3 ComboBoxa u kojima ce stajati dan,
mjesec, godina a da program to pretvori u date-tip?

Mozda malo kompliciram al trazim najbolje rjesenje!
[ Marko_L @ 02.08.2005. 00:12 ] @
Po meni je to i najelegantnija varijanta (to sa tri combo boxa), i mislim da je i korisniku tako najlakše da unese datum bez greške.Unos datuma preko kombo boxa možeš veoma lako pretvoriti u datum tip, recimo ovako (nek su combo1, combo2 i combo3 redom dan, mesec i godina)
Code:
Datum = Cdate(Combo2.Text & "\" & Combo1.Text & "\" & Combo3.Text)
[ Goran Goran @ 12.08.2005. 09:02 ] @


A kako provjerit da li je datum postojeći?
Pr, ako korisnik unese 31.2.2005. To ce biti moguce, jer je moguce odabrati iz ComboBox-a.

Ovaj nacin sa 3 Combo, dobar je, a jel bi moglo pomocu TextBoxa?
Mislim, naravno da bi moglo, al sada postoji opet problem provjere Pr33.13.2005 ili ako korisnik unese 25112005, kako to pretvorit u potreban oblik?


PS. Jel to bio neki "kvar" sa ovim forumom, nisam mogao otvorit?
[ Shadowed @ 12.08.2005. 17:18 ] @
Prilikom promene u Combo-u za mesec u Combo za dane ubacis samo one datume koji su moguci. Pri tome proveris i da li je godina prestupna.


Bio je kvar.
[ Marko_L @ 12.08.2005. 19:05 ] @
Uostalom, i ne moraš da koristiš Combo box-ove.Možeš recimo da koristiš DTPicker ili Calendar kontrolu.Kod njih ne postoji mogućnost greške, barem kada se radi o formatu upisa u bazu.Jednostavno samo u bazu dodaš selektovani Value i to je to.
[ Goran Goran @ 13.08.2005. 09:45 ] @
Citat:
Marko_L: Možeš recimo da koristiš DTPicker ili Calendar kontrolu.Kod njih ne postoji mogućnost greške, barem kada se radi o formatu upisa u bazu.


Ovo jako dobro izgleda!!

Taj DTPicker i Calendar kontrola, nisam vidio da se to nalazi u Properties Window-u,
Da li bi ste mogli opisat ili stavit kod? Kako se to koristi, na koji način?
[ Marko_L @ 13.08.2005. 13:11 ] @
MS Calendar kontrola koliko se sećam dolazi uz MS Office, kao iz uz Macromediu recimo, tako da ako imaš nešto od toga instalirano potraži da li na kompu imaš MSCAL.OCX ili MSCAL32.OCX i uključi je u projekat.Ukoliko nemaš, potraži po netu, verovatno da se može naći za download.A što se tiče DTPicker kontrole ona standardno dolazi uz VB6 i sastavni je deo Microsoft Common Controls 2.6.0. Imaš takođe i Monthview kontrolu koja je ista kao DTPicker kontrola s tom razlikom što je DtPicker predstavljen kao Combobox, a kad klikneš na njega dobiješ ono što sa monthview dobijaš bez kliktanja na kontrolu.Postavi jednu i drugu, pa će ti biti jasno.Korišćenje je izuzetno jednostavno i u principu najbitnije svojstvo (kod sve tri nabrojane kontrole) je Value, koje očitava selektovani datum, odnosno konrola se u runtime modu ponaša kao kalendar gde može da se bira datum, a svojstvo Value vraća koji je datum trenutno selektovan.Recimo ako hoćeš selektovani datum da smestiš u promenljivu Datum, onda ide
Code:
Datum = DTPicker1.Value

E sad, vidi šta od toga imaš, pa verujem da ćeš se snaći, pa ako negde zapne tu smo.
[ Goran Goran @ 16.08.2005. 00:06 ] @
MScal sam pronasao, medjutim, ne znam kako da ga ukljucim u projekt, sta on treba da radi i kako? Sto se tice DTPicker-a, nisam pronasao Microsoft Common Controls 2.6.0., jel se o uključuje u Project -> references? Tamo ga nema pod ovim imenom.
[ Marko_L @ 16.08.2005. 00:20 ] @
I jedan i drugi, kao i bilo koji ocx se uključuje u Project > Components.Microsoft Common Controls bi trebalo da ima u listi, ako imaš VB6, a MsCal kontrola je možda u listi, možda nije, a ako nije onda ideš na Browse, pa ručno nađeš taj fajl i uključiš ga u projekat.A kako radi videćeš kad kontrolu postaviš na formu i startuješ aplikaciju.
[ Goran Goran @ 18.08.2005. 08:46 ] @
Marko_L ovo je odlicno, puno hvala. Savrsenstvo!

Jos samo nesto. Kako da to iskoristim u SQL-u?

Pokusao sam ovako al javlja syntax problem:
Code:

  adoPrimaryRS.Open " insert into MyTablica ( Datum ) Values ( #" & DTPicker1.Value & "# ) ", db, adOpenStatic, adLockOptimistic


Mislim da je problem sto u SQL-u mora biti oblik xx-xx-xxxx a ne xx.xx.xxxx.
A mozda i nemislim dobro...
Jel bi mogao ispraviti ovaj SQL da valja?

Jos jednom puno hvala, ovo je prava stvar!

[Ovu poruku je menjao Goran Goran dana 18.08.2005. u 09:53 GMT+1]
[ Goran Goran @ 19.08.2005. 20:14 ] @
Malo sam isprobavao u vezi ovoga...

Posto u SQL znam koristiti TextBox-ove, a u textbox mogu dobiti vrijednost datapickera, pokusao sam tako. Al me sada muci format datuma. Iz datapickera dobijam pr. 08.8.2005 a treba mi 2005-8-18. Znam da se to radi sa funkcijom Format al ne znam detaljnu sintaksu. Mozete li pomoci?
[ Marko_L @ 19.08.2005. 21:14 ] @
Code:
Text1.Text = Format(DtPicker1.Value, "yyyy-mm-dd")


[Ovu poruku je menjao Marko_L dana 19.08.2005. u 22:14 GMT+1]
[ enferty @ 18.01.2009. 22:30 ] @
Kako se u SQL-u sumiraju datumi(god) koji su dati u obliku stringa?
znaci, kako bi sumirali ovo:
'18-jan-60' i '18-feb-75'?
koliko tu ima godina izmedju ova dva datuma?
probajte preko oracla...ne u access-u

molim za odgovor sto pre...
Unapred hvala