|
клон Me.Recordset после фильтров
|
|||
---|---|---|---|
#18+
sdku Может я чё не понимаю:а почему не воспользоваться тривиальной Dsum? Так что Dsum в запросе не получится использовать А вообще, задача ТС решается одним запросом, без всего этого "бреда" с рекордсетами, массивами и фильтрами, типа Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2020, 00:26 |
|
клон Me.Recordset после фильтров
|
|||
---|---|---|---|
#18+
court sdku Может я чё не понимаю:а почему не воспользоваться тривиальной Dsum? Так что Dsum в запросе не получится использовать А вообще, задача ТС решается одним запросом, без всего этого "бреда" с рекордсетами, массивами и фильтрами, типа Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2020, 00:31 |
|
клон Me.Recordset после фильтров
|
|||
---|---|---|---|
#18+
Elena Don .....суммирую данные по одному из полей , далее хочу полученную сумму присвоить полю... Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2020, 00:21 |
|
клон Me.Recordset после фильтров
|
|||
---|---|---|---|
#18+
sdku Может я чё не понимаю:а почему не воспользоваться тривиальной Dsum? Я не спорю, можно и DSum, но вопрос не в этом. Вопрос в том. что не хочет в фильтре менять значение поля ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2020, 08:00 |
|
клон Me.Recordset после фильтров
|
|||
---|---|---|---|
#18+
Elena Don Вопрос в том. что не хочет в фильтре менять значение поля adOpenStatic для начала ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2020, 10:50 |
|
клон Me.Recordset после фильтров
|
|||
---|---|---|---|
#18+
Elena Don, A как Вы определяете верхнюю границу в цикле FOR?(у Вас там коды символов-смените раскладку) Думаю что-то про RecordCount,который не даст верный результат без обращения к последней записи набора (чего не наблюдается) По моему одна строчка кода порацинальней будет чем десяток с большим хвостиком ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2020, 13:06 |
|
клон Me.Recordset после фильтров
|
|||
---|---|---|---|
#18+
sdku Elena Don, A как Вы определяете верхнюю границу в цикле FOR?(у Вас там коды символов-смените раскладку) Думаю что-то про RecordCount,который не даст верный результат без обращения к последней записи набора (чего не наблюдается) По моему одна строчка кода порацинальней будет чем десяток с большим хвостиком Вот код с правильной раскладкой strSQL = " SELECT [№маршрута], АС, режим, График, План, Перевозчик, Месяц, [Код режима], [1], [2], [3], [4], [5], [6], [7], " & _ " [8], [9], [10], [11], [12], [13], [14], [15],[16] , [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31], ИТОГИ, год, код_м, Перевозчик1 " & _ " FROM dbo.[_Совместная работа ИТОГИ новая графики] " & _ " where dbo.[_Совместная работа ИТОГИ новая графики].[№маршрута] = '" & Поле79 & "' and код_м = " & kod_m & " & _ "ORDER BY График " Set rstSuppliers = New ADODB.Recordset rstSuppliers.CursorLocation = adUseClient rstSuppliers.Open strSQL, CurrentProject.Connection, , adLockOptimistic ' набор записей по маршруту за определенную дату strSQL1 = "SELECT [Количество графиков], [№Маршрута]FROM dbo.[Перечень маршрутов] WHERE [№Маршрута] = '" & Поле79 & "'" Set rst = New ADODB.Recordset rst.Open strSQL1, CurrentProject.Connection, , adLockOptimistic ' определяем количество графиков на маршруте For x = 1 To rst![Количество графиков] 'цикл по графикам rstSuppliers.Filter = "График=" & x ' фильтр по графику If rstSuppliers.RecordCount > 1 Then ReDim rsRec(rstSuppliers.RecordCount) As Integer rstSuppliers.MoveFirst i = 1 Do Until rstSuppliers.EOF ' записываем в массив значение планов по графку rsRec(i) = rstSuppliers![План] P = P + rsRec(i) i = i + 1 rstSuppliers.MoveNext Loop Задача состоит в том, чтобы просуммировать план и факт рейсов для машин работавших по одному и тому же графику ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2020, 15:22 |
|
клон Me.Recordset после фильтров
|
|||
---|---|---|---|
#18+
Elena Don sdku Elena Don, A как Вы определяете верхнюю границу в цикле FOR?(у Вас там коды символов-смените раскладку) Думаю что-то про RecordCount,который не даст верный результат без обращения к последней записи набора (чего не наблюдается) По моему одна строчка кода порацинальней будет чем десяток с большим хвостиком Вот код с правильной раскладкой strSQL = " SELECT [№маршрута], АС, режим, График, План, Перевозчик, Месяц, [Код режима], [1], [2], [3], [4], [5], [6], [7], " & _ " [8], [9], [10], [11], [12], [13], [14], [15],[16] , [17], [18], [19], [20], [21], [22], [23], [24], [25], [26], [27], [28], [29], [30], [31], ИТОГИ, год, код_м, Перевозчик1 " & _ " FROM dbo.[_Совместная работа ИТОГИ новая графики] " & _ " where dbo.[_Совместная работа ИТОГИ новая графики].[№маршрута] = '" & Поле79 & "' and код_м = " & kod_m & " & _ "ORDER BY График " Set rstSuppliers = New ADODB.Recordset rstSuppliers.CursorLocation = adUseClient rstSuppliers.Open strSQL, CurrentProject.Connection, , adLockOptimistic ' набор записей по маршруту за определенную дату strSQL1 = "SELECT [Количество графиков], [№Маршрута]FROM dbo.[Перечень маршрутов] WHERE [№Маршрута] = '" & Поле79 & "'" Set rst = New ADODB.Recordset rst.Open strSQL1, CurrentProject.Connection, , adLockOptimistic ' определяем количество графиков на маршруте For x = 1 To rst![Количество графиков] 'цикл по графикам rstSuppliers.Filter = "График=" & x ' фильтр по графику If rstSuppliers.RecordCount > 1 Then ReDim rsRec(rstSuppliers.RecordCount) As Integer rstSuppliers.MoveFirst i = 1 Do Until rstSuppliers.EOF ' записываем в массив значение планов по графку rsRec(i) = rstSuppliers![План] P = P + rsRec(i) i = i + 1 rstSuppliers.MoveNext Loop Задача состоит в том, чтобы просуммировать план и факт рейсов для машин работавших по одному и тому же графику Эта часть кода у меня работает, а вот дальше я хочу первой из машин, работавших на одном графике проставить полученную сумму плана, а остальным машинам план либо 0 , либо пустое поле. rstSuppliers.MoveFirst rstSuppliers![План] = P Вот здесь у меня и затыкается 'Debug.Print strSQL rstSuppliers.Update rstSuppliers.MoveNext Do Until rstSuppliers.EOF rstSuppliers![План] = Null rstSuppliers.Update Loop перестает видеть мой rstSuppliers ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2020, 15:42 |
|
клон Me.Recordset после фильтров
|
|||
---|---|---|---|
#18+
Elena Don ....Задача состоит в том, чтобы просуммировать план и факт рейсов для машин работавших по одному и тому же графику я смутно подозреваю что надо взглянуть на схему БД и четко уяснить решаемую Вами задачу ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2020, 17:46 |
|
клон Me.Recordset после фильтров
|
|||
---|---|---|---|
#18+
sdku Elena Don ....Задача состоит в том, чтобы просуммировать план и факт рейсов для машин работавших по одному и тому же графику я смутно подозреваю что надо взглянуть на схему БД и четко уяснить решаемую Вами задачу В предыдущем моем сообщении я привела скриншот формы. План обведенный красным нужно проссумировать и Лысенко поставить 220, а Румак 0. Так и для остальных машин работавших по 3 , 4 и .тд. графикам. Первоначально в форме стоит план взятый за день умноженный на количество отработанных дней. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2020, 08:24 |
|
|
start [/forum/topic.php?fid=45&msg=39937494&tid=1610181]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
58ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 154ms |
0 / 0 |