предпочитаю создание строк без лишних сцеплений
Dim s1
Dim glngMedOrgCode
Dim rst As DAO.Recordset
Sub a110526_0905()
s1 = "SELECT Sum(BedCalc([ПланОбъемДеят],"
s1 = s1 & " [кодФункционал],[МедОрг])) AS РасчетКоек "
s1 = s1 & " FROM (сСпециальностей INNER JOIN сШН"
s1 = s1 & " ON сСпециальностей.Код = сШН.МедСпец) "
s1 = s1 & " INNER JOIN ФункционалМедОрг w"
s1 = s1 & " ON сШН.КодФункционал = w.Функционал"
s1 = s1 & " WHERE ((w.МедОрг)=pp1) "
s1 = s1 & " and ((w.Функционал)<pp2)"
s1 = s1 & " AND ((сСпециальностей.Хирургичность)=pp3);"
'DoCmd.RunSQL s1
glngMedOrgCode = 1
s1 = zm(s1, "pp1", glngMedOrgCode)
s1 = zm(s1, "pp2", 69)
s1 = zm(s1, "pp3", True)
''s1 = zm(s1, "pp4", True)
Debug.Print s1
Set rst = CurrentDb.OpenRecordset(s1)
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function zm(nstroka, npoisk, nzamena)
zm = Replace(nstroka, npoisk, nzamena)
Dim j1
j1 = InStr(nstroka, npoisk)
If j1 = 0 Then
MsgBox "неверно имя параметра " & npoisk & Chr(13) & nstroka
Else
Debug.Print npoisk, nzamena, Mid(nstroka, j1 - 5, 20)
End If
End Function
'''''''''''''''''''''''''''''''''''''''''''''''''''''''
кавычки и # расставляю сразу
''''''''''''''''''''''''
s1 = s1 & " WHERE ((w.колич)=pp1) "
s1 = s1 & " and ((w.датаФункционал)<#pp2#)"
s1 = s1 & " AND ((сСпециальностей.символХирургичность)='pp3');"
|