Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Запрос на выборку для подчиненной формы второго уровня  [new]
nataxa23
Member

Откуда:
Сообщений: 188
Помогите добраться до истины. Не получается выводить дату в запросе. Код срабатывает, запрос формируется, но при нажатии на раскрывающий плюсик Access выдает ошибку.
Код:
+

  If Not (IsNull(Me.ДатаСозданияДопЗаданияС) Or Me.ДатаСозданияДопЗаданияС = "") And Not (IsNull(Me.ДатаСозданияДопЗаданияПо) Or Me.ДатаСозданияДопЗаданияПо = "") Then
    arrWHERE(10) = " [ДатаСозданияДопРЗ] >= #" & Format$(Me.ДатаСозданияДопЗаданияС, "mm\/dd\/yyyy") & "# AND " & _
                    " [ДатаСозданияДопРЗ] < #" & Format$(Me.ДатаСозданияДопЗаданияПо + 1, "mm\/dd\/yyyy") & "#"
    
    strLnkMtrFld = strLnkMtrFld & ";" & "ДатаСозданияДопРЗ"
    strДатаСозданияДопРЗ = arrWHERE(10)
    
  ElseIf Not (IsNull(Me.ДатаСозданияДопЗаданияС) Or Me.ДатаСозданияДопЗаданияС = "") And (IsNull(Me.ДатаСозданияДопЗаданияПо) Or Me.ДатаСозданияДопЗаданияПо = "") Then
    arrWHERE(10) = " [ДатаСозданияДопРЗ] >= #" & Format$(Me.ДатаСозданияДопЗаданияС, "mm\/dd\/yyyy") & "# AND " & _
                    " [ДатаСозданияДопРЗ] < #" & Format$(Me.ДатаСозданияДопЗаданияС + 1, "mm\/dd\/yyyy") & "#"
    
    strLnkMtrFld = strLnkMtrFld & ";" & "ДатаСозданияДопРЗ"
    strДатаСозданияДопРЗ = arrWHERE(10)
    
  Else
    arrWHERE(10) = "": strДатаСозданияДопРЗ = Empty
  End If


Запрос:
+

    strSQL = "SELECT DISTINCT звПоиск.КодЗаявки, " & _
              "звПоиск.НомерЗаявки, звПоиск.ДатаРегистрацииЗаявки, " & _
              "звПоиск.СтатусЗаявки, звПоиск.ДатаЗакрытияЗаявки, звПоиск.СостояниеЗаявки, " & _
              "звПоиск.КолДнПросрочкиЗаявки, звПоиск.Инициатор, звПоиск.ТипОбращения, " & _
              "звПоиск.ОписаниеПроблемы, звПоиск.КлассификацияЗаявки, звПоиск.Ведомство, " & _
              "звПоиск.Примечание, звПоиск.Куратор, звПоиск.Исполнитель, звПоиск.ДатаЗаписиЗаявки, " & _
              "звПоиск.ВыбратьЗаявку, звПоиск.ДатаПоступленияДГУ, звПоиск.РешениеДГУ, " & _
              "звПоиск.ДатаПринятияРешенияДГУ, звПоиск.ДатаСозданияРодРЗ, звПоиск.НомерРодРЗ, " & _
              "звПоиск.КлассификаторРодРЗ, звПоиск.СтатусРодРЗ, звПоиск.ДатаЗавершенияРодРЗ, " & _
              "звПоиск.СостояниеРодРЗ, звПоиск.КолДнПросрочкиРодРЗ, " & _
              "CLng(" & lngНомерДопРЗ & ") AS НомерДопРЗ, " & _
              "CLng(" & lngПодразделение & ") AS Подразделение_cbx, " & _
              "CStr('" & strДатаСозданияДопРЗ & "') AS ДатаСозданияДопРЗ, " & _
              "CStr('" & strДатаЗавершенияДопРЗ & "') AS ДатаЗавершенияДопРЗ, " & _
              "CStr('" & strСостояниеДопРЗ & "') AS СостояниеДопРЗ" & _
              " FROM звПоиск WHERE " & strWHERE
    
    Me.Controls("фпПоискЗаявок").Form.Controls("фпПоискМИЦОВИВ").LinkMasterFields = strLnkMtrFld
    Me.Controls("фпПоискЗаявок").Form.Controls("фпПоискМИЦОВИВ").LinkChildFields = strLnkMtrFld
    Me.фпПоискЗаявок.Form.RecordSource = strSQL


___________________________________
Использую Microsoft Access 2010.
Спасибо каждому, кто мне когда-либо здесь помог и продолжает помогать.

К сообщению приложен файл. Размер - 6Kb
23 авг 18, 18:31    [21652328]     Ответить | Цитировать Сообщить модератору
 Re: Запрос на выборку для подчиненной формы второго уровня  [new]
nataxa23
Member

Откуда:
Сообщений: 188
Не совсем точная формулировка в моем вопросе. Пытаюсь сделать, чтобы по полям на общей форме формировалась выборка для табл.подчиненной формы (ф1), у которой есть своя табл.подчиненная форма (ф2).
Сам запрос является источником для табл.подчиненной формы первого уровня (ф1), а вот ошибка с сообщением Access как на скриншоте возникает, если по плюсикам раскрывать табл.подчиненной формы второго уровня (ф2).
С другими полями типа String и Long все получается и работает, а как быть с этими строками не пойму:
"CStr('" & strДатаСозданияДопРЗ & "') AS ДатаСозданияДопРЗ, " & _
"CStr('" & strДатаЗавершенияДопРЗ & "') AS ДатаЗавершенияДопРЗ, " & _

+ Пробовала еще такой вариант:

  If Not (IsNull(Me.ДатаСозданияДопЗаданияС) Or Me.ДатаСозданияДопЗаданияС = "") And Not (IsNull(Me.ДатаСозданияДопЗаданияПо) Or Me.ДатаСозданияДопЗаданияПо = "") Then
    arrWHERE(10) = " [ДатаСозданияДопРЗ] >= #" & Format$(Me.ДатаСозданияДопЗаданияС, "mm\/dd\/yyyy") & "# AND " & _
                    " [ДатаСозданияДопРЗ] < #" & Format$(Me.ДатаСозданияДопЗаданияПо + 1, "mm\/dd\/yyyy") & "#"
    
    strLnkMtrFld = strLnkMtrFld & ";" & "ДатаСозданияДопРЗ"
    strДатаСозданияДопРЗ = Format$(Me.ДатаСозданияДопЗаданияС, "mm\/dd\/yyyy") & " >= " & Format$(Me.ДатаСозданияДопЗаданияС, "mm\/dd\/yyyy") & " AND " & _
                            Format$(Me.ДатаСозданияДопЗаданияС, "mm\/dd\/yyyy") & " < " & Format$(Me.ДатаСозданияДопЗаданияПо + 1, "mm\/dd\/yyyy")
    
  ElseIf Not (IsNull(Me.ДатаСозданияДопЗаданияС) Or Me.ДатаСозданияДопЗаданияС = "") And (IsNull(Me.ДатаСозданияДопЗаданияПо) Or Me.ДатаСозданияДопЗаданияПо = "") Then
    arrWHERE(10) = " [ДатаСозданияДопРЗ] >= #" & Format$(Me.ДатаСозданияДопЗаданияС, "mm\/dd\/yyyy") & "# AND " & _
                    " [ДатаСозданияДопРЗ] < #" & Format$(Me.ДатаСозданияДопЗаданияС + 1, "mm\/dd\/yyyy") & "#"
    
    strLnkMtrFld = strLnkMtrFld & ";" & "ДатаСозданияДопРЗ"
    strДатаСозданияДопРЗ = Format(Me.ДатаСозданияДопЗаданияС, "mm\/dd\/yyyy")
    
  Else
    arrWHERE(10) = "": strДатаСозданияДопРЗ = Empty
  End If


Может кто сталкивался с такой ситуацией, когда на общей форме есть свободные поля для поиска, которые формируют источник как для табл.подчиненной формы первого уровня, так и для табл.подчиненной формы второго уровня тоже?
Помогите с идей реализации, подскажите, как вы справились с такой темой?
23 авг 18, 21:14    [21652462]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить