Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Надя Гость
|
Добавлено: Пн Фев 03 2003 13:58 Заголовок сообщения: Как не включать в запрос удаленные записи? |
|
|
Из таблицы удаляются по tableupdate(), т.е. помечаются на удаление, а в запрос все равно попадают. requery() не помогает. Set deleted не влияет на результат и фильтр "not deleted()" в select-е тоже не помогает. |
|
Вернуться к началу |
|
|
Надя Гость
|
Добавлено: Пн Фев 03 2003 14:22 Заголовок сообщения: P.S Visual FoxPro-6 |
|
|
Visual FoxPro-6. Данные беру через ODBC. |
|
Вернуться к началу |
|
|
Борис Гость
|
Добавлено: Пн Фев 03 2003 14:29 Заголовок сообщения: Проверить для начала настройки сессии БД: может, для окна сделана собственная сессия с SET("DELETED")=="OFF" |
|
|
Если в этом все как надо, напиши поподробнее: свойства listbox/combobox/grid и др. |
|
Вернуться к началу |
|
|
Надя Гость
|
Добавлено: Пн Фев 03 2003 15:15 Заголовок сообщения: Re: Проверить для начала настройки сессии БД: может, для окна сделана собственная сессия с SET("DELETED")=="OFF& |
|
|
В Tools->Options->Data есть галочка на Ignore deleted records, где еще это можно проверить? В grid-е я не нашла этих свойств. Во вкладке data нет ничего про удаленные записи. В запросе они выглядят, как будто их вообще не помечали на удаление, и deleted()-.F., хотя в реальной таблице помечены на удаление. В Data Enverontment в свойствах запроса тоже ничего такого нет. И в свойствах формы тоже. |
|
Вернуться к началу |
|
|
Борис Гость
|
Добавлено: Пн Фев 03 2003 18:17 Заголовок сообщения: Попробуй в событие init() главной формы поставить SET DELETED ON и сделай для grid'а источником не запрос, а саму таблицу (-) |
|
|
- |
|
Вернуться к началу |
|
|
Надя Гость
|
Добавлено: Ср Фев 05 2003 12:24 Заголовок сообщения: Получилось. Но не из-за Set deleted/ |
|
|
Похоже, эти установки его вообще не волнуют. Помогло только когда снова select-oм сделала сначала remote, а затем local view. A requery почему-то не помогает. Может на удаленные запросы он не действует? И разве нормально после каждого действия запускать Select...? |
|
Вернуться к началу |
|
|
Борис Гость
|
Добавлено: Ср Фев 05 2003 13:24 Заголовок сообщения: Так таблица локальная или на сервере БД? Set deleted действует только на локальные таблицы. Как осуществляется доступ к таблице |
|
|
- |
|
Вернуться к началу |
|
|
Надя Гость
|
Добавлено: Чт Фев 06 2003 08:48 Заголовок сообщения: через ODBC |
|
|
- |
|
Вернуться к началу |
|
|
Борис Гость
|
Добавлено: Чт Фев 06 2003 17:35 Заголовок сообщения: Re: через ODBC |
|
|
Доступ через ODBC равносилен доступу к серверу, то есть сервер определяет, какие записи показывать, а какие нет. Поэтому SET DELETED не действует. Чтобы действовала установка SET DELETED, таблицу должен открывать сам VFP, а не драйвер ODBC. А чтобы драйвер ODBC различал помеченные и непомеченные записи, нужно шевелить настройки этого драйвера.
Что посоветовать? Не знаю. Лично я предпочитаю поменьше использовать разные "универсальные" решения (типа ODBC, BDE и т. п.), так как их универсализм чреват непредсказуемостью поведения. |
|
Вернуться к началу |
|
|
|