12.09.2006, 16:17 | #1 |
Участник
|
День добрый, уважаемые участники форума. Тут столкнулся кое с какой проблемкой, даже стыдно как-то говорить...
Для доступа к таблицам в нави используются типы Record и Recordref, в зависимости от условия. Если надо связать Recordref с таблицей, то используем Recordref.OPEN и всё тип-топ. А как быть, когда таблица находится в другой базе и/или на другом серваке? Вариант типа Recordref.OPEN(Database::TableName) ( где Database - имя базы данных, а TableName - таблица) не катит: нави ругается, на необъявленные переменные. Подскажите пожалуйста, где я туплю? |
|
12.09.2006, 17:34 | #2 |
Участник
|
Все это работает в текущей базе а для доступа для другой базы или серверу это неверно. Это просто невозможно по моему
|
|
12.09.2006, 17:34 | #3 |
Участник
|
Нигде. Невозможно привязать RecordRef к таблице в другой базе. Это всего лишь ссылка на любую нав. таблицу.
__________________
Должен остаться только один. |
|
12.09.2006, 18:56 | #4 |
NavAx
|
Если речь про навыжн на SQL-серваке:
Создайте вьюху, которая показывает таблицу из другой фирмы. В Навыжне создайте таблицу, которая показывает вьюху. Поможет?
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
13.09.2006, 09:41 | #5 |
Участник
|
|
|
13.09.2006, 10:12 | #6 |
Участник
|
Поясню, зачем мне это нужно:
Есть две базы. В одну из них ежедневно (иногда дважды в день) вносится курс валют (табл. 330 - Currency Exchange Rate). Требование заключалось в том, чтобы при вводе курса в одну базу, в другую он вносился автоматически. Это можно реализовать на самом SQL серваке, в триггере таблички при апдейте. Помимо этого попросили создать две кнопки на форме типа "обновить кукрс валюты за определённую дату" и "обновить за всё время". Эти кнопари должны были копировать либо курс за определённое число, либо содержимое всей таблицы с курсами валют из одной базы в другую. Хотелось бы сделать это средствами самого нави, а не играться на серваке, если такое возможно. |
|
13.09.2006, 10:52 | #7 |
Участник
|
Если сервер не трогать - то только через АДО.
|
|
13.09.2006, 11:15 | #8 |
Участник
|
Цитата:
Сообщение от Neovision
Поясню, зачем мне это нужно:
Есть две базы. В одну из них ежедневно (иногда дважды в день) вносится курс валют (табл. 330 - Currency Exchange Rate). Требование заключалось в том, чтобы при вводе курса в одну базу, в другую он вносился автоматически. Это можно реализовать на самом SQL серваке, в триггере таблички при апдейте. Помимо этого попросили создать две кнопки на форме типа "обновить кукрс валюты за определённую дату" и "обновить за всё время". Эти кнопари должны были копировать либо курс за определённое число, либо содержимое всей таблицы с курсами валют из одной базы в другую. Хотелось бы сделать это средствами самого нави, а не играться на серваке, если такое возможно. |
|
13.09.2006, 11:36 | #9 |
NavAx
|
Факт.
Почему не сделать из базы с курсами своевременную выгрузку в файлик, а в Навыжне, соответственно, загрузку?
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
13.09.2006, 16:17 | #10 |
Участник
|
Цитата:
Почему не сделать из базы с курсами своевременную выгрузку в файлик, а в Навыжне, соответственно, загрузку?
Извините, наверное я не точно сформулировал задачу. Есть две Базы А и В. В базу А заносится курс валюты. Кнопки следует расположить на форме базы В так, чтобы пользователи только тупо нажимали на них и получали курс из своей базы. При этом им не нужно знать откуда эти курсы копируются. Как реализовать выгрузку в файл данных из базы А, находясь при этом в базе В? |
|
13.09.2006, 16:48 | #11 |
Участник
|
Цитата:
Сообщение от Neovision
Цитата:
Почему не сделать из базы с курсами своевременную выгрузку в файлик, а в Навыжне, соответственно, загрузку?
Извините, наверное я не точно сформулировал задачу. Есть две Базы А и В. В базу А заносится курс валюты. Кнопки следует расположить на форме базы В так, чтобы пользователи только тупо нажимали на них и получали курс из своей базы. При этом им не нужно знать откуда эти курсы копируются. Как реализовать выгрузку в файл данных из базы А, находясь при этом в базе В? Далее в базе B при нажатии на кнопку, читаем файл и берем те записи, которые нужны. |
|
13.09.2006, 17:15 | #12 |
Участник
|
Цитата:
В базе А при добавлении/изменении записи (как вариант на OnValidate() поля "Relational Exch. Rate Amount") выгружайте эту запись либо всю таблицу в файл (можно тектовый через датапорт, тогда и ADO не нужен). Можно открывать файл, обновлять только эту запись. В общем, тут как фантазия подскажет и какое нужно быстродействие.
Далее в базе B при нажатии на кнопку, читаем файл и берем те записи, которые нужны. С вводом текущего курса разобрался так: Создал на серваке процедуру для копирования курса определённой валюты в базу В на данное число. В триггере базы А при добавлении/изменении записи вызываю эту процедуру копирования. А что насчёт тех двух кнопарей, то наверное придётся, как сказал EDVard, воспользоваться ADO. Спасибо большое всем за помощь |
|
13.09.2006, 18:25 | #13 |
Участник
|
Если уж до сервака таки добрались - сделайте таблицы валют и курсов базы Б как вьюхи на таблицы валют и курсов базы А. И забудьте о кнопках, тормозах и триггерах.
Правда, возможно юзерам базы Б, которые захотят добавить курс в базу А через вьюху, придется права db_owner на сервере дать. А может - и нет. Как система настроена. |
|