Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2011, 16:18   #1
Aygul
Новичок
Джуниор
 
Регистрация: 21.04.2011
Сообщений: 1
Счастье зависимости и обновление данных в access

Добрый день!
у меня есть два вопроса. сама решить не в состоянии, потому прошу помощи.
1) в нашей базе куча старинных запросов. я тут решила почистить ее, просмотрев предварительно зависимости объектов. однако это у меня не получилось. база не выдает никакого результата, хотя знаю на все 100, что связи есть. в конторе стоит офис 2010 - возможно проблема в этом, точно не знаю, потому как раньше все работало (в 2003).
2) суть нашей базы в том, что она аккумулирует все наши продажи по всем клиентам. для каждого клиента ведется файл в формате эксель, который потом подшивается в аксес. и таких клиентов за 10 лет накопилось великое множество. соответственно когда я запускаю макрос на обновление данных, база каждый файл добавляет снова и это занимает определенное количество времени. а есть такие клиенты, с которыми мы давно не работаем. сперва была мысль создать две базы. одна чтобы работала для всех активных клиентов, а другая была по архивным данным. но такой вариант отпал, т.к. возможно "возрождение" очередного клиента из пепла и тогда мы не заводим для него новый файл, а возобновляем работу со старым. теперь возникла новая идея, а что если дать команду аксес, чтобы программа, прежде чем просмотреть файл проверяла дату обновления, и, к примеру, не проверяла файл с датой изменения "вчера и ранее". и те данные, что попадают под критерий "вчера и ранее" остались без изменений в базе. и тогда вроде как время обновления базы сведется к минимуму. вот как-то так. возможно ли это?

Спасибо заранее за уделенное внимание :-)
Aygul вне форума Ответить с цитированием
Старый 21.04.2011, 18:36   #2
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от Aygul Посмотреть сообщение
Добрый день!
у меня есть два вопроса. сама решить не в состоянии, потому прошу помощи.
1) в нашей базе куча старинных запросов. я тут решила почистить ее, просмотрев предварительно зависимости объектов. однако это у меня не получилось. база не выдает никакого результата, хотя знаю на все 100, что связи есть. в конторе стоит офис 2010 - возможно проблема в этом, точно не знаю, потому как раньше все работало (в 2003).
2) суть нашей базы в том, что она аккумулирует все наши продажи по всем клиентам. для каждого клиента ведется файл в формате эксель, который потом подшивается в аксес. и таких клиентов за 10 лет накопилось великое множество. соответственно когда я запускаю макрос на обновление данных, база каждый файл добавляет снова и это занимает определенное количество времени. а есть такие клиенты, с которыми мы давно не работаем. сперва была мысль создать две базы. одна чтобы работала для всех активных клиентов, а другая была по архивным данным. но такой вариант отпал, т.к. возможно "возрождение" очередного клиента из пепла и тогда мы не заводим для него новый файл, а возобновляем работу со старым. теперь возникла новая идея, а что если дать команду аксес, чтобы программа, прежде чем просмотреть файл проверяла дату обновления, и, к примеру, не проверяла файл с датой изменения "вчера и ранее". и те данные, что попадают под критерий "вчера и ранее" остались без изменений в базе. и тогда вроде как время обновления базы сведется к минимуму. вот как-то так. возможно ли это?

Спасибо заранее за уделенное внимание :-)

Здравствуйте
проверить файлы на дату последней модификации и не только можно так:
библиотека 'Windows script host object model должна быть подключена
заходим в редактор VBA\tools\referens ищем
Windows script host object model
обычно в самом низу списка , ставим галочку
и перед тем как импортировать сравниваем DateLastModified с нужной датой и решаем что с этим файлом делать импортировать или нет
может вам еще какие сведения понадобятся, на всякий случай привел основные
("C:\CONFIG.SYS")- для примера, должен быть ваш файл

Код:
Sub Fod()
Dim FSO As New FileSystemObject
Set Fn = FSO.GetFile("C:\CONFIG.SYS")
Debug.Print "Имя файла " & Fn.Name
Debug.Print "Полный путь " & Fn.Path
Debug.Print "Дата создания " & Fn.DateCreated
Debug.Print "Дата модификации " & Fn.DateLastModified
Debug.Print "Дата последнего доступа " & Fn.DateLastAccessed
Debug.Print "Размер файла " & Fn.Size
End Sub
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновление таблицы Access путем импорта данных из DBF TranzitZP Microsoft Office Access 9 11.04.2011 00:26
Запрос на обновление таблицы в Access serge32 Microsoft Office Access 4 06.04.2011 07:44
запрос на обновление в Microsoft Office Access! загадочная Помощь студентам 0 25.12.2010 14:24
Access 2003: как сделать изменяющийся список выбора в зависимости от значения в соседнем поле tanchikb Microsoft Office Access 14 14.01.2010 10:46
Обновление списка данных без потери данных в переменных VaBank БД в Delphi 13 03.06.2009 10:47