![]() |
Access front-end + Postgres back-end... kak?
Мне надо сделать не большую программу (клиенты,продукты, заказы и тд.) и она должна быть написанна в Access + Postgres база данных. В Access все должно быть в VBA (без макро). С VBA дел не имел, но формы,кнопки разные создавать вроде научился, БД настроил, но есть еще пара вопросов:
1.Как соединиться с Postgres используя *.adp пройект? (могу соединиться через *.mdp проект, но при создании adp не вижу сервера в списке) 2.Можно ли получить созданные представления (views) из postgres в Accesse? (при создании *.mdp проекта вижу только таблицы) P.S. Пользую Access 2003, Postgres 8.3 и все на WinXP SP2. инет облазил толком ничего не нашел. Заранее спасибо. |
ODBC использовал?
|
Да, использовал. Вроде бы соединиться через .mdp проект и получить "views" тоже удалось, наверно тогда в .mdp и продолжу... Только опять возник вопрос, как сделать "views" прямыми (direct), что бы при обновлении в таблице они автоматически обновляли свои данные тоже, а то данные в таблице меняю, а "view" старые показывает. И еще... как получить данные из таблиц в VBA? я использую Dlookup() для одного значения(правильно?), а если надо получить коллекцию данных из таблицы? И как по ней перемещатся? подскажите кто знает.
|
ODBC должен вьюшки обновлять. Я правда только оракл пробовал.
Из VBA нужно делать Connection и Recordset. http://www.everythingaccess.com/tuto...ith-Recordsets ЗЫ. .mdp - это вообще что? Може всётаки mdb? |
Извеняюсь за ошибку зто .mdb
С "view" разобрался... обновляются. Теперь у меня вопрос по SQL: мне надо обновлять "view" который содержит данные из 3 таблиц (клиент,адрес,страна). Все они связаны. Я создал правило (rule) для обновления, но при обновлинии инфо о клиенте мне надо добавить адрес в таблицу "адрес" только в том случае если он не существует (в таблице), а если существует то просто обновить ссылку на адрес в таблице "клиент". можно ли такое это реализовать? |
Если вьюха редактируема (editable) то можно просто в нее делать вставку, он сам разберется с ключами и внешними связями, которые прописаны. Ну если нет -то нет, реализовывайте логику в приложении, вставляйте что надо в нужные таблицы.
|
Она редактируема и я могу обновлять имя, телефон клиента, но насколко я знаю она не может проверять существует ли вставляемое значение в таблице или нет. И вот мне надо что бы она перед тем как вставить сделала проверку. Как я полагаю нужен INSERT с условием.
вот "view" и правило на UPDATE : Код:
CREATE OR REPLACE VIEW view_client AS |
Цитата:
Цитата:
Ну и если так, то действительно, там где у Вас комментарий проверить и вернуть новый ИД, там и сделайте проверку. Вроде все стройно выходит. Вопрос-то в чём именно? А, и еще, там в триггере, вы используете просто new.*, а если за раз будет апдейтится сразу 100 строк? Вы не хотите разве все их обработать, только одну? |
Цитата:
Цитата:
Цитата:
|
Цитата:
Цитата:
Цитата:
Код:
UPDATE client SET id_cli = new.id_cli, name = new.name, phone =... |
Часовой пояс GMT +4, время: 13:12. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.