Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 3 odgovora
  • 2.826 pregleda

Najnovija ↓

SQL izraz s datumskim kriterijima 17.09.2004. u 20:10 · pre 269 meseci #1
Imam problem kod izrade querya.
Koristim funkciju za konvertiranje datuma koju je zidar naveo.
Medjutim javlja mi da je greška u sql izrazu.
Kad pokrenem isti izras a umjesto ovih funkcija date4SQl() navedem fiksne datume u literalima sql izraz funkcionira.
U čemu je greška.
Dali sql izraz uspoređuje (stranaA.datum_izdavanja )tipa date I (date4SQL)tipa string pa zbog toga javlja grešku.Ako je to kako da to otklonim.
A ako tko ima rješenje neka mi kaže kako napraviti SQl izraz koji bi dao podatke na osnovu unesenih datuma.



Function Date4SQL(Date2Convert As Variant) As String
Date4SQL = "#" & Format(CVDate(Date2Convert), "mm/dd/yyyy") & "#"
MsgBox "u procedurisam"
MsgBox Date4SQL
End Function



Public Function fpotvrdi()
Dim CurrentForm As Form
Set CurrentForm = Screen.ActiveForm
Forms!frmdatum.Refresh
On Error GoTo Err_cmdPreview_Click
Dim tsql As String
Dim z, a As Variant

Dim db3 As DAO.Database, tb3 As DAO.Recordset, br As Integer
Set db3 = CurrentDb
Set tb3 = db3.OpenRecordset("parametri")
tb3.MoveFirst
a = tb3!DatumOD
z = tb3!DatumDo
MsgBox a
Rem ovo je kopirani kod
[Forms]![frmreport].Visible = False
Dim stDocName, strsql As String
stDocName = "rptdatum"
MsgBox a
tsql = " SELECT stranaA.* ,stranaB.ID,stranaB.broj "
tsql = tsql & " FROM stranaA ,stranaB "
tsql = tsql & " WHERE stranaB.ID=stranaA.ID AND stranaA.datum_izdavanja BETWEEN " & Date4SQL(a) & " AND " & Date4SQL(z) & ";"


MsgBox tsql




DoCmd.OpenReport stDocName, acPreview, tsql
Potpis
romano
Re: SQL izraz s datumskim kriterijima 17.09.2004. u 20:42 · pre 269 meseci #2
probaj ovu funkciju za datum :

Code:

Public Function DateToStr(Datum As Date) As String
    DateToStr = " DateSerial(" & CStr(Year(Datum)) & ", " & CStr(Month(Datum)) & ", " & CStr(Day(Datum)) & ") "
End Function


ova funkcija sluzi za Datum+Vreme :

Code:

Public Function DateTimeToStr(Vreme As Variant) As String
    Dim tVreme As Date
    tVreme = CDate(Vreme)
    DateTimeToStr = " (DateSerial(" & CStr(Year(tVreme)) & ", " & CStr(Month(tVreme)) & ", " & CStr(Day(tVreme)) & ") + TimeSerial(" & CStr(Hour(tVreme)) & ", " & CStr(Minute(tVreme)) & ", " & CStr(Second(tVreme)) & " )) "
End Function


obe koristim vec koju godinu, i vrlo su pouzdane, ali koristi ih za sve datumske parametre, a ne pojedine, jer ces potrositi koji sat da nadjes gde ti je access zamenio mesec i dan jer ti je windows-ov international "nestandardno podesen"

nacin koriscenja :
Code:

tSql = tSql & " WHERE ([GKZ].[DatumPromene]) Between " & DateToStr(SDate) & " And " & DateToStr(EDate) & " ) "






Potpis

So Long, and Thanks for All the Fish


Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme