MS Access vba запрос с форматом даты - PullRequest
0 голосов
/ 18 марта 2019

Я пытаюсь создать запрос для подсчета элементов с тремя условиями WHERE, но при запуске кода результат не появляется, даже ошибка.Что я делаю не так?

Private Sub Command5_Click()
Dim db As DAO.Database
Set db = CurrentDb
Dim qdf As DAO.QueryDef
Dim qryMajorDesignReview As String
Dim tblMainReportLOI As String


qryMajorDesignReview = "SELECT Count(tblLOI.loiActivities) As MajorDesignReview, INTO tblMainReportLOI FROM tblLOI " & _
                   "WHERE tblLOI.loiActivities='PSG Major design review for new or existing facilities' " & _
                   "AND Format([loiDate], ""yyyy"")=[Forms]![frmMonthlyDivisionReports]![txtYear] " & _
                   "AND Format([loiDate], ""mmmm"")=[Forms]![frmMonthlyDivisionReports]![txtMonth]; "

On Error Resume Next
DoCmd.DeleteObject acTable, "tblMainReportLOI"

Err.Clear

CurrentDb.Execute qryMajorDesignReview
If Err.Number <> 0 Then
strError = Err.Description
End If

On Error GoTo 0
End Sub

1 Ответ

0 голосов
/ 18 марта 2019

Удалите запятую перед INTO.Кроме того, объедините переменные.Ссылки на формы управления являются переменными.Можно использовать апостроф вместо двойных кавычек в Format ().Может использовать функцию Year () вместо Format.

qryMajorDesignReview = "SELECT Count(tblLOI.loiActivities) As MajorDesignReview INTO tblMainReportLOI FROM tblLOI " & _
                   "WHERE tblLOI.loiActivities='PSG Major design review for new or existing facilities' " & _
                   "AND Year([loiDate])=" & [Forms]![frmMonthlyDivisionReports]![txtYear] & _
                   " AND Format([loiDate], 'mmmm')='" & [Forms]![frmMonthlyDivisionReports]![txtMonth] & "'"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...