LEADERSOFT.ru
Разработка на заказ программ и сайтов
Разработка
Заказ программы
Прайс-лист
Техническое задание
Проектная документация
Наши клиенты
Реклама и продвижение
Магазин
Перейти в магазин
Новинки магазина
Бизнес программы
Финансовый учет
Документооборот
Исходные коды
Интернет решения
Обучение
Перейти в раздел
Форумы по разработке
Примеры на Access
Рассылка статей
Магазин IT литературы
Блог
Все статьи
Microsoft Access (VBA)
Microsoft Access (Проекты)
Microsoft ASP.NET
Сервисы Google
Технические задания
Новости IT технологий
Сервисы
Форумы разработчика
Контакты
О компании
Регистрация на сайте
Подписка на новости по Email
Сообщество Google+
Подписка subscribe.ru
Новости в формате Атом
Загрузить
Загрузить каталог программ
Форумы по информационным технологиям
Начало
Forums
Регистрация
|
Вход
Forums
Обновлено ::
05 мая 2024
Форумы
Поиск
Список форумов
Программирование
Microsoft Access. Файлы mdb и accdb
Тема: Кэширован...
Тема: Кэширование записей (me.refresh)
15.06.2007 19:52:25
All
4316 сообщения
Тема: Кэширование записей (me.refresh)
У меня есть картотека в 2х таблицах: одна таблица с фирмами - "Фирмы", другая с людьми, которые там работают - "Люди". Для каждой из таблиц создана форма, причем форма для фирм включает в себя имена и телефоны из таблицы "Люди", т.е содержит subform, чтобы при выводе на экран названия фирмы, там появлялся список работающих в фирме сотрудников. Отдельная форма "Люди" более полная, т.е. содержит кроме имени и телефона еще и домашний адрес, день рождения и прочее. Так вот, когда у меня открыта большая форма "Люди", я открываю форму "Фирмы" и там в subform вношу нового сотрудника. Теперь мне надо вписать, например, его день рождения. Я перехожу обратно в форму "Люди" - но там этого человека еще нет, хотя в subform "Фирмы" я его уже ввел. Чтобы он там появился, надо сначала закрыть потом снова открыть форму "Люди" - чтобы он там появился. Та же ситуация с многими другими связанными формами/таблицами. Жутко неудобно, особенно если надо вводить много данных.
Вопрос. Access что, кэширует данные таблиц и форм в память? А как сделать чтобы он этого не делал, и внесенные данные сразу после ввода были доступны во всех других формах/таблицах?
P.S. Общий раздел по формам
Автор:
Вопрос 1
от 0:00:00
Источник ...
15.06.2007 19:52:25
All
4316 сообщения
RE: Кэширование записей (me.refresh)
Да Access кэширует записи, хотя возможно это делает Windows, у него есть соответствующие настройки. Причем такой вариант, когда есть основная форма, а в ней подчиненная форма-таблица встречается очень часто. Даю ответ:
1. Во первых, эти формы связываются через ключевые поля, смотрите в подчиненной форме свойства: "подчиненные поля" и "ключевые поля", тогда при вводе записей обновление происходит автоматически.
2. Во вторых, если логика программы не подразумевает связей форм, то введите кнопку на главной форме (вставьте в ее событие ..._Click кнопки функцию me.refresh. Тогда при нажатии кнопки кэшируемые записи будут принудительно сбрасываться на диск и форма обновится.
3. В третьих, может оказаться, что первых двух методов не достаточно, тогда примените еще и метод requery для основной или подчиненной формы.
PS. Вообще полностью эта проблема решается с помощью методов refresh, requery, repaint, recalc. Все будет зависит от Вас и логики программы, и где их применить разработчик решает самостоятельно.
P.S. Общий раздел по формам
Автор:
Виктор Конюков
от 0:00:00
Источник ...
Страница 1 из 1
Программирование
Microsoft Access. Файлы mdb и accdb
Тема: Кэширован...
Одноуровневый вид
Древовидная структура
Самый старый из новых
Новейший из старых
Поиск
Список форумов
Начало
|
Forums
Copyright 2002-2016 Leadersoft.ru
::
Leadersoft
::
Соглашение о безопасности
::
Условия использования