Изменение столбца и данных во время выполнения без обновления в форме - PullRequest
0 голосов
/ 22 января 2019

У меня есть основная форма, в которой есть два Comobobx.

1. Type of Work (C_Art: Name of Combobox)

Repratur
Maintenance
Optimierung


2. Year (C_Year: Name of Combobox)

2018
2019

На главной форме есть гистограмма, которая отлично работает, и подчиненная форма с представлением таблицы.

В целом этовыглядит как this.

Моя проблема заключается в том, что при выборе 2019-го года представление Subform с новым заголовком 2019-Jan 2019-Feb ...... 2019-Dec didn 't и строка выдает ошибку: #Name?

График генерируется правильно без каких-либо проблем.

Я изменяю запрос во время выполнения, как показано ниже.

Dim count_Status As String
Dim G_Stoerung As String


'Change the query for Graph
count_Status = "TRANSFORM Count(History_query.[LFD_NR]) AS CountOfLFD_NR " & _
" SELECT History_query.[Anlage] " & _
" FROM History_query " & _
" WHERE History_query.[Anlage] <>Null AND History_query.[WAS]= '" & Me.C_Art & "' AND History_query.[Year]= '" & Me.C_Year & "' " & _
" GROUP BY History_query.[Anlage] " & _
" PIVOT History_query.[Status] "

CurrentDb.QueryDefs("Count_Status_Anlage").sql = count_Status

'Updating the Graph with a new Data
Me.Graph9.Requery
Me!Graph9.ChartTitle.Text = Me.C_Art



'Chnage the query of subform
G_Stoerung = "TRANSFORM Count([History_query].WAS) AS CountOfWAS " & _
" SELECT [History_query].Status " & _
" FROM History_query " & _
" WHERE ((([History_query].WAS)= '" & Me.C_Art & "' ) AND [History_query].Status IN ('Offen','beobachten','In bearbeitung','erledigt')  ) " & _
" GROUP BY Status " & _
" Order by (IIf([Status]='Offen',1,IIf([Status]='beobachten',2,IIf([Status]='In bearbeitung',3,IIf([Status]='erledigt',4))))) " & _
" PIVOT Format([Datum],'yyyy-mmm') IN ('" & Me.C_Year & "-Jan','" & Me.C_Year & "-Feb','" & Me.C_Year & "-Mar','" & Me.C_Year & "-Apr','" & Me.C_Year & "-May','" & Me.C_Year & "-Jun','" & Me.C_Year & "-Jul','" & Me.C_Year & "-Aug','" & Me.C_Year & "-Sep','" & Me.C_Year & "-Oct','" & Me.C_Year & "-Nov','" & Me.C_Year & "-Dec') "

CurrentDb.QueryDefs("G_Stoerung_query").sql = G_Stoerung

'Updating the subform with new Data 
Me.G_Stoerung_Sub.Form.RecordSource = G_Stoerung
Me.G_Stoerung_Sub.Form.Requery

1 Ответ

0 голосов
/ 22 января 2019

#NAME?ошибка может быть связана с тем, что текстовые поля больше не привязаны к существующим полям.Сделайте имена полей общими и примените параметр фильтра для года.Или установите свойство SourceObject контейнера подчиненной формы для запроса объекта вместо формы

Редактировать

G_Stoerung_Sub.SourceObject = ""
G_Stoerung_Sub.SourceObject = "Query.G_Stoerung_query"

Обновление исходного объекта дает желаемый результат.

...