проблема с полем datetime

A.Klimenko
Дата: 19.09.2005 14:33:12
Никак не могу разобраться с кодом.
Пишу:
Option Compare Database
Public Function FormatSpDate(ByVal parDate As Date, Optional bSQL As Boolean = False) As String
If bSQL Then
FormatSpDate = Format$(parDate, "'yyyymmdd'")
Else
FormatSpDate = Format$(parDate, "\#mm\/dd\/yy\#")
End If
End Function


Private Sub Кнопка3_Click()
Dim strSQL As String, strSQLWhere As String

strSQL = "SELECT n_schet, n_kontr, n_sch_f, n_zn, n_vagon, n_poz, n_detali, kol_sum, cena, jd_nakl, d_nakl, n_kus, n_box, n_mesta, k_cveta, kol_mest, d_otgr, d_inv FROM pr_cheta"

strSQLWhere = " WHERE ("

If Me![vk_d_nakl_open] And Me![pol_d_nakl_open] <> "" Then
strSQLWhere = strSQLWhere & "([pr_cheta].[d_nakl] >'%" & FormatSpDate(Me![pol_d_nakl_open]) & "%') AND "
End If

Выдает ошибку: (Syntax error converting datetime from character string)


If Len(strSQLWhere) > 8 Then
'Удаление попутно замыкающего " AND "
strSQL = strSQL & Left(strSQLWhere, (Len(strSQLWhere) - 5)) & ");"
Else
strSQL = strSQL & ";"
End If


Me![f_cheta1].Form.RecordSource = strSQL

Me![f_cheta1].Form.Requery

End Sub

Мжет кто поправит код?
Allll
Дата: 19.09.2005 14:59:12
А почему вы обрамляете дату символами процентов %, а не решёткой # ?

Очень удобно смотреть ошибки синтаксиса SQL-запросов в конструкторе запросов:
- поставьте останов на строке Me![f_cheta1].Form.RecordSource = strSQL
- в окне отладке сделайте ?strSQL
- полученный запрос запустите в конструкторе запросов. И конструктор покажет место, в котором есть ошибка.