Обновление поля со списком
Olya A
Дата: 16.09.2005 08:27:24
Здравствуте,
на форме есть поле со списком, данные из табл Чек, его надо обовлять каждый раз как в табл. добавл запись, но дело в том что запись добавляестя с др. компа, как сделать так чтобы при входе или при получении фокуса поле со списком обновляло данные?
И ещё почему может не читаться команда Kill?
Пользователь2
Дата: 16.09.2005 08:52:40
| Olya A |
| как сделать так чтобы при входе или при получении фокуса поле со списком обновляло данные? |
Private Sub ComboBox1_Enter()
Me.ComboBox1.Requery
End Sub |
| Olya A |
| И ещё почему может не читаться команда Kill? |
Если стоит Касперский, то он может блокировать.
Allll
Дата: 16.09.2005 09:05:14
| Olya A |
| И ещё почему может не читаться команда Kill? |
Появляется сообщение об ошибке, при удалении какого-то файла?
Какое сообщение?
Файл может не удалиться, если занят другим приложением: 75 - ошибка доступа к файлу/каталогу.
smi
Дата: 16.09.2005 09:32:05
Очень удобно сделать так:
Private Sub Поле_Enter()
Me! Поле.RowSource = "SELECT … "
End Sub
Private Sub Поле _Exit(Cancel As Integer)
Me! Поле.RowSource = ""
End Sub |
При этом не надо заботится об постоянном обновление поля. К тому же отсутствие списков не загружает память, база работает быстрее.
Bor-L
Дата: 16.09.2005 10:13:00
Можно организовать обновление поля по таймеру, однако все равно в многопользовательской системе не будет 100% совпадения списка и таблицы. И чем интенсивнее будут вводиться данные в таблицу, тем это будет заметнее.
А насколько это для Вас критично, Вам виднее
Olya A
Дата: 16.09.2005 10:19:20
команду KIll просто игнорирует, никаких ошибок не выдаёт, ставлю точку останова на этой сторке, никакой реакции, причем на одном компе работает, а на др. нет.
а как сделать обновления по таймеру?
Bor-L
Дата: 16.09.2005 10:39:57
Из Help:
Событие Таймер (Timer) возникает регулярно через интервал времени, заданный в значении свойства формы
Интервал таймера (TimerInterval).
Дополнительные сведения
Для выполнения макроса или процедуры обработки события, связанных с этим событием, следует указать имя макроса или элемент [Процедура обработки события] в качестве значения свойства Таймер (OnTimer).
Запуск макроса или выполнение процедуры обработки события в ответ на событие Таймер позволяет управлять действиями Microsoft Access, которые должны выполняться периодически по сигналу таймера. Например, можно проводить через заданные интервалы времени повторный запрос по базовым записям или обновление экрана.
Значение свойства Интервал таймера (TimerInterval) формы определяет интервал времени между событиями Таймер (в миллисекундах). Допустимые значения интервала составляют от 0 до 65 535 миллисекунд. Значение 0 свойства Интервал таймера отменяет возникновение событий Таймер.
А Вам туда нужно поставить, например, Me.ComboBox1.Requery или Me! Поле.RowSource = "" и Me! Поле.RowSource = "SELECT … "
Хотя, по большому счету, лучше воспользоваться советом smi, поскольку в поле со списком все равно не будет видно, что список изменился, пока Вы в него не войдете (вот если бы у Вас был просто список - дело другое)
Allll
Дата: 16.09.2005 11:30:42
| Olya A |
| команду KIll просто игнорирует, никаких ошибок не выдаёт, ставлю точку останова на этой сторке, никакой реакции, причем на одном компе работает, а на др. нет. |
Тогда действительно похоже на работу антивируса Касперского. Попробуйте отключить OfficeGuard.
Этот OfficeGuard, например, так же молча блокирует вызов некоторых API-функций - вроде функция вызвана, но никаких действий не выполнено и никаких сообщений об ошибке тоже нет.
Olya A
Дата: 16.09.2005 11:43:59
что за OfficeGuard? и где его отключить?
Allll
Дата: 16.09.2005 12:36:39
Office Guard - часть антивирусного пакета Касперского. Отключить можно через Kaspersky Control Center - буква K внизу, около часиков.
Но может быть, дело и не в нём. Специально сейчас включил Office Guard, версия 4.0.5.0, режим безопасности = Максимальный - без проблем удаляю любые файлы с помощью Kill.
А файл, который вы удаляете с помощью Kill, вы можете удалить вручную, через проводник? Может у пользователя нет прав на удаление?