Обработка таблиц с помощью VB

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
<ANATOLIY>
Сообщения: 4
Зарегистрирован: 15 окт 2004, 16:10
Контактная информация:

Уважаемые программеры, помогите кто может. Не могу закончить базу :( Мне необходимо средствами VB организовать просмотр всех записей одного столбца во время загрузки фомы, математическая обработка их и запись на место ячейки откуда производилось считование нового значения. К моему огромному горю ниодин самоучитель не помог мне. Если найдутся знающие подскажите...

P.S. Речь идёт о Acces 200
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Во-первых, какая математическая обработка нужна? Есди есть возможность сделать это средствами SQL, то ОБЯЗАТЕЛЬНО надо это делать так, и только в крайнем случае использовать просмотр рекордсетов макросами на VBA!

Во-вторых, постановка задачи вцелом, не очень понятна
1) организовать просмотр всех записей одного столбца ....
2) математическая обработка их и
3) запись на место ячейки откуда производилось считование...
Т.е. в каждую ячейку того же самого столбца будет производиться и запись? Так?
<ANATOLIY>
Сообщения: 4
Зарегистрирован: 15 окт 2004, 16:10
Контактная информация:

Благодарю что откликнулся. Может я немного не так выразился..... :( Если говорить конкретней то у меня в базе есть три столбца, в первом дата внесения в базу новых данных, во втором - количество дней отведённых на обработку информации, в третий записывается ежедневно количество оставшихся дней для обработки информации. Данные в первых двух столбцах постоянны и вносятся при добавлении новой записи, а в третем обновляются ежедневно. Вот я и застопорился на моменте считывания данных и записи их в столбец :( А как это можно сделать с помощью SQL?
chur
Сообщения: 195
Зарегистрирован: 17 фев 2004, 10:44
Откуда: Riga, Latvia

Если достаточно на лету просто посчитать третью колонку то так:

Код: Выделить всё

SELECT col1, col2, [col2]-(Now()-[col1]) AS calc1 FROM Table1;
А если надо обновлять то так:

Код: Выделить всё

UPDATE Table1 SET Table1.col3 = [col2]-(Now()-[col1]);
<ANATOLIY>
Сообщения: 4
Зарегистрирован: 15 окт 2004, 16:10
Контактная информация:

Благодарю :roll:
<ANATOLIY>
Сообщения: 4
Зарегистрирован: 15 окт 2004, 16:10
Контактная информация:

chur, а как производить считывание, из столбца и где в коде указывается строка? Как записовать я понял :)
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

<ANATOLIY>, Вам предлагают вообще ничего не считывать и не записывать.
Создайте запрос (первы пример из письма chur), и спользуйте его во всех формах и отчетах ВМЕСТО таблицы. Третье вычисляемое поле из этого примера всегда будет актуальным!
Ответить