MyTetra Share
Делитесь знаниями!
Создание запросов в базе
Время создания: 16.03.2019 23:43
Текстовые метки: VBA, DAO, CreateQueryDef, Создание запросов
Раздел: !Закладки - VBA - Access - DAO
Запись: xintrea/mytetra_db_adgaver_new/master/base/1530976422868p5pymbp/text.html на raw.githubusercontent.com

'======================================================================================

'##### Создание запросов в базе

'

Sub CreateQueryDef()

Dim blnQu As Boolean

Dim strPathDb As String

Dim oDb As DAO.Database 'база с итоговыми таблицами

Dim strQueryName As String

Dim strSQL As String

    strPathDb = w_other.Fn_StrLastPathRead("PathDb")

    Set oDb = OpenDatabase(strPathDb)

   

    strQueryName = "Общее потребление2"

    strSQL = "SELECT RefInPJI.Ref, PJI_ALL.dDate, Sum(RefInPJI.Coef) AS [Sum-Coef] " & Chr(10) & Chr(13) & _

                "FROM PJI_ALL RIGHT JOIN RefInPJI ON PJI_ALL.PJI = RefInPJI.PJI " & Chr(10) & Chr(13) & _

                "GROUP BY RefInPJI.Ref, PJI_ALL.dDate;"

    blnQu = Fn_CreateQueryDef(oDb, strQueryName, strSQL)

   

    strQueryName = "Общее потребление NEW2"

    strSQL = "SELECT RefInPJI.Ref, PJI_ALL.dDateNew, Sum(RefInPJI.Coef) AS [Sum-Coef] " & Chr(10) & Chr(13) & _

                "FROM PJI_ALL RIGHT JOIN RefInPJI ON PJI_ALL.PJI = RefInPJI.PJI " & Chr(10) & Chr(13) & _

                "WHERE (((PJI_ALL.dDateNew) Is Not Null)) " & Chr(10) & Chr(13) & _

                "GROUP BY RefInPJI.Ref, PJI_ALL.dDateNew;"

    blnQu = Fn_CreateQueryDef(oDb, strQueryName, strSQL)

End Sub

'--------------------------------------------------------------------------------------

Function Fn_CreateQueryDef(ByVal oDb As DAO.Database, _

                        ByVal strQueryName As String, _

                        ByVal strSQL As String) As Boolean

Dim objQu As QueryDef

Err.Clear

    With oDb

        '''удаляем записи по дате или  PJI

        ''.Execute "DELETE * FROM " & strTb & _

        ''                " AS t1 WHERE Exists (SELECT * FROM " & "DelDate" & _

        ''                " As t2 WHERE t1." & strFldName1 & "=t2." & strFldName2 & ");"

   

        'Set objQu = CurrentDb.QueryDefs(QueryDefs)

        '.Parameters("Время_Uet").Value = "" 'назначаем параметр(по умолчанию)

        '.Execute strQueryName ' выполняем запрос

        Set objQu = .CreateQueryDef(strQueryName, strSQL) 'создаем запрос

    End With

   

    Set objQu = Nothing

If Len(Err.Description) = 0 Then

    Fn_CreateQueryDef = True

Else

    Debug.Print Err.Description

End If

End Function

'======================================================================================

 

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования