LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Извлечени...
 Тема: Извлечение данных из таблицы
 
 15.06.2007 21:03:53
Игорь4
26 сообщения


Тема: Извлечение данных из таблицы
Есть таблица с двумя полями: Номер телефона и Сумма. Есть необходимость извлекать часть данных в txt файл и чтобы при следующем извлечении данные извлеченные в предыдущий раз не попадали в txt файл. Мои соображения таковы: нужно создать в таблице третье поле, в которое будет заноситься признак того, что данные по этим строкам из таблицы извлечены. Затем создать форму на основе этой таблицы и там сделать поле куда можно вводить сколько записей будет извлекаться и сделать кнопку при нажатии на которую будут извлекаться данные в txt файл только с полями Номер телефона и Сумма с учетом порога на количество записей, а также в третье поле таблицы будет заноситься признак извлеченности. Я примерно знаю, чтобы заносить признак извлеченности надо использовать команду SQL -> UPDATE и т. д. Вопрос: как все это можно увязать и повесить на одну кнопку и какой программный код сделать или хотя бы макрос?
Пожалуйста, очень нужно!!!
С уважением, Игорь!!!


P.S. Общий раздел по таблицам
Автор: Игорь от 03.04.2003 12:58:52 Источник ...
 15.06.2007 21:03:53
All
4316 сообщения
1-ый


RE: Извлечение данных из таблицы
Вам надо совместить 2 запроса один на выборку, другой на обновление. При этом в таблице должен быть уникальный ключ (key - счетчик) и флажок (flag - long, 0 - нет обновлений, 1 - выбранные записи, 2 - считывание произошло).
Пример запроса на обновление для 2 выбранных записей:
UPDATE Table1 SET Table1.flag = 1
WHERE (((Table1.key) In (SELECT TOP 2 key FROM Table1 where flag =0)));
Этот запрос отметит в базе данных 2 новые записи (flag=0). Когда записи отмечены с ними уже можно делать любые действия, т.е. считать Сумму и номер телефона в файл (SELECT * from [Table1] WHERE flag=1). Когда работа с записями закончена на них надо поставить новое значение флажка flag = 2, через обновление Update.
Запросы выполняются через команду CurrentDB.Execute ... (примеры есть в конференции)



P.S. Общий раздел по таблицам
Автор: Expert от 0:00:00 Источник ...
 15.06.2007 21:03:53
Игорь4
26 сообщения


RE: Извлечение данных из таблицы
Есть таблица igor с где-то 30 тыс. записями. Есть поля: key-счетчик, nt-номер телефона, Итого-сумма, flag-флажок (0-нет обновлений, 1-выбранные записи, 2-считывание произошло). Необходимо порциями, например по 700 записей, считывать данные из таблицы (только поля nt, Итого) в текстовый файл. Сделал на форме кнопку и повесил на нее код:
Private Sub Obzvonka_Click()
DoCmd.RunSQL "Update igor Set igor.flag=1 Where (((igor.key) In (Select top 700 key From igor Where flag=0)))"
DoCmd.TransferText acExportFixed, "IgorSpec", "SelectPriznak", "igor.txt"
DoCmd.RunSQL "Update igor Set igor.flag=2 Where (((igor.key) In (Select top 700 key From igor Where flag=1)))"
End Sub

Первоначально в таблице в поле flag везде 0.
IgorSpec-файл спецификации, чтобы в текстовый файл выводились только поля: nt и Итого разделенные одним пробелом.
SelectPriznak-запрос на выборку, чтобы в текстовый файл выводились записи с flag=1.

Короче все работает нормально!!!
Проблема в том, что хотелось бы, чтобы при выводе данных в текстовый файл выходило бы окно предлагающее ввести имя выводимого файла, а то файл igor.txt перезаписывается.
Что нужно изменить в программном коде? Помогите!!!
С уважением, Игорь!!!


P.S. Общий раздел по таблицам
Автор: Игорь от 09.04.2003 12:43:39 Источник ...
 15.06.2007 21:03:53
Игорь4
26 сообщения


RE: Извлечение данных из таблицы
Есть таблица igor с где-то 30 тыс. записями. Есть поля: key-счетчик, nt-номер телефона, Итого-сумма, flag-флажок (0-нет обновлений, 1-выбранные записи, 2-считывание произошло). Необходимо порциями, например по 700 записей, считывать данные из таблицы (только поля nt, Итого) в текстовый файл. Сделал на форме кнопку и повесил на нее код:
Private Sub Obzvonka_Click()
DoCmd.RunSQL "Update igor Set igor.flag=1 Where (((igor.key) In (Select top 700 key From igor Where flag=0)))"
DoCmd.TransferText acExportFixed, "IgorSpec", "SelectPriznak", "igor.txt"
DoCmd.RunSQL "Update igor Set igor.flag=2 Where (((igor.key) In (Select top 700 key From igor Where flag=1)))"
End Sub

Первоначально в таблице в поле flag везде 0.
IgorSpec-файл спецификации, чтобы в текстовый файл выводились только поля: nt и Итого разделенные одним пробелом.
SelectPriznak-запрос на выборку, чтобы в текстовый файл выводились записи с flag=1.

Короче все работает нормально!!!
Проблема в том, что хотелось бы, чтобы при выводе данных в текстовый файл выходило бы окно предлагающее ввести имя выводимого файла, а то файл igor.txt перезаписывается.
Что нужно изменить в программном коде? Помогите!!!
С уважением, Игорь!!!


P.S. Общий раздел по таблицам
Автор: Игорь от 09.04.2003 12:43:49 Источник ...
 15.06.2007 21:03:53
Игорь4
26 сообщения


RE: Извлечение данных из таблицы
Есть таблица igor с где-то 30 тыс. записями. Есть поля: key-счетчик, nt-номер телефона, Итого-сумма, flag-флажок (0-нет обновлений, 1-выбранные записи, 2-считывание произошло). Необходимо порциями, например по 700 записей, считывать данные из таблицы (только поля nt, Итого) в текстовый файл. Сделал на форме кнопку и повесил на нее код:
Private Sub Obzvonka_Click()
DoCmd.RunSQL "Update igor Set igor.flag=1 Where (((igor.key) In (Select top 700 key From igor Where flag=0)))"
DoCmd.TransferText acExportFixed, "IgorSpec", "SelectPriznak", "igor.txt"
DoCmd.RunSQL "Update igor Set igor.flag=2 Where (((igor.key) In (Select top 700 key From igor Where flag=1)))"
End Sub

Первоначально в таблице в поле flag везде 0.
IgorSpec-файл спецификации, чтобы в текстовый файл выводились только поля: nt и Итого разделенные одним пробелом.
SelectPriznak-запрос на выборку, чтобы в текстовый файл выводились записи с flag=1.

Короче все работает нормально!!!
Проблема в том, что хотелось бы, чтобы при выводе данных в текстовый файл выходило бы окно предлагающее ввести имя выводимого файла, а то файл igor.txt перезаписывается.
Что нужно изменить в программном коде? Помогите!!!
С уважением, Игорь!!!


P.S. Общий раздел по таблицам
Автор: Игорь от 09.04.2003 12:44:04 Источник ...
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Извлечени...
ПоискПоиск  Список форумовСписок форумов  
right