Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: VB

Программирование VB

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Обновление
 
 автор: Mikimaus   (27.03.2009 в 18:01)   личное сообщение
 
 

Помогите пожалуйста.
Как обновить данные в таблице из другой таблицы посредством VBA
в 1-ой таблице поля:
код
№строки
значение

во 2-ой:
код
№строки
январь
февраль
март
.......
декабрь
надо как то автоматизировать ежемесячное обновление
чтоб из месяца в месяц менялись только столбцы во второй таблице

  Ответить  
 
 автор: час   (27.03.2009 в 20:42)   личное сообщение
 
 

создайте в конструкторе запросов запрос на обновление и запускайте его по мере необходимости.

  Ответить  
 
 автор: Mikimaus   (30.03.2009 в 20:58)   личное сообщение
 
 

Я хотела автоматизировать чтобы пользователь сам мог выполнить процес без изменения запроса. Если создавать запрос на каждый месяц для 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

  Ответить  
 
 автор: час   (30.03.2009 в 21:04)   личное сообщение
 
 

В запросе как раз и будем отбирать данные согласно
Forms![Форма1]!ПолеСоСписком0
только в этом поле уберём столбец ID? а оставим только столбец имён месяцев.

Вы бы положили сюда Ваши таблицы с небольшим колич записей.
а ещё лучше базку с формочкой, а то так на пальцах.........

  Ответить  
 
 автор: Mikimaus   (30.03.2009 в 21:28)   личное сообщение
49 Кб.
 
 

Где-то так

  Ответить  
 
 автор: час   (31.03.2009 в 20:55)   личное сообщение
71 Кб.
 
 

Помогите понять - что куда надо бросать.....

  Ответить  
 
 автор: Mikimaus   (01.04.2009 в 15:58)   личное сообщение
50 Кб.
 
 

Это я похоже обновляла импортированную таблицу поэтому у меня и продублировались строки
Сейчас я поправила обрати внимание на m5, m105, m205 эти столбцы должны быть равны столбцам с двойкой (это тестовый вариант)
Данные из таблицы Data_1 надо импортировать в data1

  Ответить  
 
 автор: час   (02.04.2009 в 19:49)   личное сообщение
72 Кб.
 
 

а номер строки в таблице Data_1 - это порядковый номер месяца?

  Ответить  
 
 автор: Mikimaus   (03.04.2009 в 15:52)   личное сообщение
 
 

В Data_1 данные за один месяц, у каждого кода ОКПО есть заполненые строки , № строки это №строки, а не порядковый номер месяца в данный
После того как загрузили Data_1(Данные в эту таблицу импортируются вез нее нельзя)
цифры обновляются в data1 каждая троица столбцов это месяц
Таблица data1 в данном случае выступает как хранилище данных ОКПО ОКВЭД и № строки остаются не тронутыми это статические данные у каждого ОКПО есть 14 строк обязательно
Это должно работать как обычный запрос на обновление

  Ответить  
 
 автор: час   (03.04.2009 в 19:41)   личное сообщение
 
 

Может всё таки запрос на добавление....
Оновление - это замещение имеющихся данных на новые
Добавление это добавление новой строки в таблицу.
===========================================
Data_1 данные за один месяц
в зависимости от того - какой сейчас месяц - необходимо данные добавить в соответствующие столбцы - так?
m1- это = Тек
m101 - это =Пред
m201 -это =Прош г
или как

  Ответить  
 
 автор: час   (03.04.2009 в 20:22)   личное сообщение
44 Кб.
 
 

может тогда вот так...

  Ответить  
 
 автор: Mikimaus   (03.04.2009 в 22:41)   личное сообщение
41 Кб.
 
 

Спасибо! Имено так моя работа продвинулась намного дальше
А можно еще вопрос про шкалу загрузки
Чтоб далеко не ходить можно как нибудь показать процесс загрузки, я что то попыталась в Форме 11 но ана у меня при открытии не работает, а если через конструктор то бежит

  Ответить  
 
 автор: час   (04.04.2009 в 12:58)   личное сообщение
 
 

а она тебе нуна???

  Ответить  
 
 автор: Mikimaus   (04.04.2009 в 13:30)   личное сообщение
 
 

У меня в другой базке есть макрос который запускет 7 кодов на имторт данных и это занимает определенное время. Я не хочу чтобы пользователь подумал что комп повис и запаниковал

  Ответить  
 
 автор: час   (04.04.2009 в 19:00)   личное сообщение
 
 

АААААААААААААААА
я думал в эту базу прогресс
http://hiprog.com/index.php?option=com_content&task=view&id=287

http://hiprog.com/index.php?option=com_content&task=view&id=251661552


http://hiprog.com/index.php?option=com_content&task=view&id=316

  Ответить  
 
 автор: Mikimaus   (04.04.2009 в 19:57)   личное сообщение
 
 

Спасибо. Посмотрю.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList