|
|
|
| Помогите пожалуйста.
Как обновить данные в таблице из другой таблицы посредством VBA
в 1-ой таблице поля:
код
№строки
значение
во 2-ой:
код
№строки
январь
февраль
март
.......
декабрь
надо как то автоматизировать ежемесячное обновление
чтоб из месяца в месяц менялись только столбцы во второй таблице | |
|
| |
|
|
|
| создайте в конструкторе запросов запрос на обновление и запускайте его по мере необходимости. | |
|
| |
|
|
|
| Я хотела автоматизировать чтобы пользователь сам мог выполнить процес без изменения запроса. Если создавать запрос на каждый месяц для 6-ти таблиц это 72 запроса на обновление не много ли это?
Я написала небольшой кодик но у меня не получается поставить данные на места т.е не получается вот эта часть (Data_1.№стр = data1.№стр) AND (Data_1.окпо = data1.ОКПО)
Function zagruz()
Dim bd As DAO.Database, tab1 As DAO.Recordset, tab2 As DAO.Recordset
Dim zap As DAO.Recordset
Dim kotch As Double, kpred As Double, kotg As Double
Dim str As Integer
Dim OKPO As Long
Set bd = CurrentDb()
Set tab1 = bd.OpenRecordset("Data_1")
Set tab2 = bd.OpenRecordset("data1")
Set zap = bd.OpenRecordset ("SELECT Data_1.окпо, Data_1.№стр, Data_1.Тек, Data_1.Пред, Data_1.Прош
FROM Data_1 INNER JOIN data1 ON (Data_1.№стр = data1.№стр) AND (Data_1.окпо = data1.ОКПО);")
Do Until zap.EOF
If Forms![Форма1]!ПолеСоСписком0 = 2 Then ' февраль
tab2.Edit
tab2![m5] = zap.Fields("Тек")
tab2![m105] = zap.Fields("Пред")
tab2![m205] = zap.Fields("Прош г")
tab2.Update
zap.MoveNext
tab2.MoveNext
End If
Loop
End Function
|
| |
|
| |
|
|
|
| В запросе как раз и будем отбирать данные согласно
Forms![Форма1]!ПолеСоСписком0
только в этом поле уберём столбец ID? а оставим только столбец имён месяцев.
Вы бы положили сюда Ваши таблицы с небольшим колич записей.
а ещё лучше базку с формочкой, а то так на пальцах......... | |
|
| |
|
49 Кб. |
|
| Где-то так | |
|
| |
|
71 Кб. |
|
| Помогите понять - что куда надо бросать..... | |
|
| |
|
50 Кб. |
|
| Это я похоже обновляла импортированную таблицу поэтому у меня и продублировались строки
Сейчас я поправила обрати внимание на m5, m105, m205 эти столбцы должны быть равны столбцам с двойкой (это тестовый вариант)
Данные из таблицы Data_1 надо импортировать в data1 | |
|
| |
|
72 Кб. |
|
| а номер строки в таблице Data_1 - это порядковый номер месяца? | |
|
| |
|
|
|
| В Data_1 данные за один месяц, у каждого кода ОКПО есть заполненые строки , № строки это №строки, а не порядковый номер месяца в данный
После того как загрузили Data_1(Данные в эту таблицу импортируются вез нее нельзя)
цифры обновляются в data1 каждая троица столбцов это месяц
Таблица data1 в данном случае выступает как хранилище данных ОКПО ОКВЭД и № строки остаются не тронутыми это статические данные у каждого ОКПО есть 14 строк обязательно
Это должно работать как обычный запрос на обновление | |
|
| |
|
|
|
| Может всё таки запрос на добавление....
Оновление - это замещение имеющихся данных на новые
Добавление это добавление новой строки в таблицу.
===========================================
Data_1 данные за один месяц
в зависимости от того - какой сейчас месяц - необходимо данные добавить в соответствующие столбцы - так?
m1- это = Тек
m101 - это =Пред
m201 -это =Прош г
или как | |
|
| |
|
44 Кб. |
|
| может тогда вот так... | |
|
| |
|
41 Кб. |
|
| Спасибо! Имено так моя работа продвинулась намного дальше
А можно еще вопрос про шкалу загрузки
Чтоб далеко не ходить можно как нибудь показать процесс загрузки, я что то попыталась в Форме 11 но ана у меня при открытии не работает, а если через конструктор то бежит | |
|
| |
|
|
|
|
| У меня в другой базке есть макрос который запускет 7 кодов на имторт данных и это занимает определенное время. Я не хочу чтобы пользователь подумал что комп повис и запаниковал | |
|
| |
|
|