|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
Я когда-то написал вот здесь как можно в запросах в режиме конструктора создавать алиасы (псевдонимы) таблиц не заходя в режим SQL. В справочнике MS Access 2003 есть такая статья "Создание псевдонимов таблиц в запросе (ADP)", где собственно и написано о псевдонимах. Примечание. Сведения в данном разделе относятся только к проектам Microsoft Access (.adp). Псевдонимы создаются для облегчения работы с именами таблиц, представлений или функций. Использование псевдонимов является полезным в следующих случаях. Необходимо создать инструкцию в области SQL, которая будет более короткой и простой для чтения. При частом обращении в запросе к имени таблицы, представления или функции, например к полным именам столбцов, необходимо быть уверенным, что не превышен предел количества знаков в запросе. При работе с несколькими копиями одной и той же таблицы, представления или функции (например в самообъединении) необходимо указать ссылку на одну из копий. Например, можно создать псевдоним "e" для таблицы employee_information, а затем использовать "e" при ссылке на нее. В окне базы данных в списке Объекты нажмите кнопку Запросы , выберите запрос, который нужно открыть, и на панели инструментов окна базы данных нажмите кнопку Конструктор. В области схемы щелкните правой кнопкой таблицу, представление или функцию, для которой необходимо создать псевдоним, и выберите в контекстном меню команду Свойства. В диалоговом окне Свойства введите псевдоним в поле Псевдоним. При создании псевдонима таблицы конструктор запросов подставит псевдоним вместо соответствующего имени таблицы в столбце «Таблица» в области сетки. Примечание. Если для таблицы создан псевдоним, то при ссылке на таблицу в инструкции SQL необходимо использовать именно псевдоним (использовать оригинальное имя таблицы нельзя). В справочнике написано, что данный способ относится только к проектам adp. Но на самом деле и в обычных mdb файлах подобным образом также возможно создавать псевдонимы. (См. рисунок) Там в свойствах помимо "Псевдоним" есть ещё другое не менее интересное свойство "Источник", где можно указать путь любой другой базы и тогда Access будет тянуть информацию из указанной базы. Например, напишем так: "C:\Test.mdb", после этого смотрим в режиме SQL текст запроса. Код: plaintext
Код: plaintext
Код: plaintext
Текст запроса в режиме SQL выглядит примерно так: Код: plaintext
Есть ещё одна альтернатива: предложение IN, с помощью которого также возможно достать таблицы или представления из MS SQL Server (предполагаю, что и с другими видами СУБД дела обстоят аналогичным образом). Но тут есть небольшие сюрпризы, о которых нигде не пишут (во всяком случае я не нашёл). Сначала цитата из справочника: Предложение IN Определяет таблицы в любой внешней базе данных, с которой ядро базы данных Microsoft Jet может установить связь, например в базе данных dBASE, Paradox или внешней базе данных с ядром Microsoft® Jet. Синтаксис Чтобы определить результирующую таблицу: [SELECT | INSERT] INTO назначение IN {путь | ["путь" "тип"] | ["" [тип; DATABASE = путь]]} Чтобы определить исходную таблицу: FROM выражение IN {путь | ["путь" "тип"] | ["" [тип; DATABASE = путь]]} Ниже перечислены аргументы инструкции SELECT, содержащей предложение IN: Элемент Описание назначение Имя внешней таблицы, в которую добавляются данные. выражение Имена одной или нескольких таблиц, из которых отбираются данные. Это выражение может быть именем отдельной таблицы, именем сохраненного запроса или результатом операции INNER JOIN, LEFT JOIN или RIGHT JOIN. путь Полный путь к каталогу или файлу, в котором находится таблица. тип Имя типа базы данных, в которой создана таблица, если база данных несовместима со стандартом Microsoft Jet (например, dBASE III, dBASE IV, Paradox 3.x или Paradox 4.x). Дополнительные сведения С помощью предложения IN можно одновременно подключиться только к одной внешней базе данных. В некоторых случаях аргумент путь задает ссылку на каталог, содержащий файлы базы данных. Например, во время работы с таблицами баз данных dBASE, Microsoft FoxPro® или Paradox аргумент путь задает ссылку на каталог, содержащий файлы .dbf или .db. Имя файла таблицы извлекается из аргументов назначение или выражение. Чтобы определить базу данных, несовместимую со стандартом Microsoft Jet, следует добавить к ее имени знак точки с запятой (;) и заключить имя в одинарные (' ') или прямые (" ") кавычки. Например, 'dBASE IV;' или "dBASE IV;". Кроме того, для описания внешней базы данных можно использовать зарезервированное слово DATABASE. Например, следующие строки описывают одну и ту же таблицу: ... FROM Таблица IN "" [dBASE IV; DATABASE=C:\DBASE\DATA\SALES;]; ... FROM Таблица IN "C:\DBASE\DATA\SALES" "dBASE IV;" Там же есть примеры подключения (но только почему-то о MS SQL Server ни слова!): Предложение IN, примеры В следующей таблице демонстрируется использование предложения IN для отбора данных из внешней базы данных. В примерах предполагается, что таблица «Клиенты» сохраняется во внешней базе данных. База данных Инструкция SQL База данных Microsoft® Jet SELECT КодКлиента FROM Клиенты IN Заказы.mdb WHERE КодКлиента Like "A*"; dBASE III или IV. Для отбора данных из таблицы dBASE III, замените "dBASE III;" на "dBASE IV;". SELECT КодКлиента FROM Клиенты IN "C:\DBASE\DATA\SALES" "dBASE IV;" WHERE КодКлиента Like "A*"; dBASE III или IV в синтаксисе Database. SELECT КодКлиента FROM Клиенты IN "" [dBASE IV; Database=C:\DBASE\DATA\SALES;] WHERE КодКлиента Like "A*"; Paradox 3.x или 4.x. Для отбора данных из таблицы Paradox версии 3.x, замените "Paradox 3.x;" на "Paradox 4.x;". SELECT КодКлиента FROM Клиенты IN "C:\PARADOX\DATA\SALES" "Paradox 4.x;" WHERE КодКлиента Like "A*"; Paradox 3.x или 4.x в синтаксисе Database. SELECT КодКлиента FROM Клиенты IN "" [Paradox 4.x;Database=C:\PARADOX\DATA\SALES;] WHERE КодКлиента Like "A*"; Книга Microsoft Excel SELECT КодКлиента, Название FROM [Клиенты$] IN "c:\documents\xldata.xls" "EXCEL 5.0;" WHERE КодКлиента Like "A*" ORDER BY КодКлиента; Именованный диапазон электронной таблицы SELECT КодКлиента, Название FROM ДиапазонКлиенты IN "c:\documents\xldata.xls" "EXCEL 5.0;" WHERE КодКлиента Like "A*" ORDER BY КодКлиента; Как же следует указать текст подключения в предложениях IN, чтобы получить данные из определённой таблицы или представления? Сначала укажем пустую строку (либо 2 апострофа '', либо 2 кавычки "", либо 2 квадратные скобки []) или же любое слово, но без пробелов и только потом текст подключения. Текст подключения также следует написать либо внутри апострофов, либо кавычек, либо квадратных скобок. Вот варианты Код: plaintext
Код: plaintext
Но в то же время также можно текст подключения разделить на 2 части и указать отдельно. Типа так: Код: plaintext
Если логин и пароль пользователя не указан, а также отсутствует параметр " Trusted_Connection=Yes ", то при первом запуске запроса выходит диалоговое окно, куда и следует ввести логин и пароль для доступа к серверу. P.S. Может кто-нибудь подскажет ссылку на "официальную" литературу, где можно прочесть о всех нюансах предложения IN? А может кто-то уже досконально изучил данный предмет и знает многие-многие нюансы / особенности / "секреты"? Не поделитесь? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.05.2011, 20:07 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
studieren Код: plaintext
Большое спасибо за проведённое исследование. Я в Access'е уже редко, пробовал в Word (в VBA), не получилось. Ставлю любую типичную ошибку, например, fgd = 0, при попытке компиляции выдаёт ошибку, сохраняю, выхожу, захожу снова - натыкаюсь на не нужный мне модуль. В 2007 версии Word, по-моему, эта особенность исправлена, и там можно попадать сразу в последний исправленный модуль. Наверное, это годится для Access. Впрочем, всё по той же ссылке YBW, а затем и я, обнаружили, что способ Serge Gavrilov работает, а он, видимо, взял откуда-то с другого сайта, судя по комментариям в этом Add-In'е. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2011, 14:05 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
CoolMindВпрочем, всё по той же ссылке YBW, а затем и я, обнаружили, что способ Serge Gavrilov работает, а он, видимо, взял откуда-то с другого сайта, судя по комментариям в этом Add-In'е. Что я взял с другого сайта? Комментарии в каком Add-In? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2011, 14:40 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
Serge Gavrilov, Сохранение позиции в модуле Забыл дописать, что нужно написать 2 bat-файла: install.bat: Код: plaintext
Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2011, 15:08 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
CoolMindSerge Gavrilov, Сохранение позиции в модуле там вообще нет комментариев ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2011, 15:52 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
CoolMindstudieren Код: plaintext
Большое спасибо за проведённое исследование. Я в Access'е уже редко, пробовал в Word (в VBA), не получилось. Ставлю любую типичную ошибку, например, fgd = 0, при попытке компиляции выдаёт ошибку, сохраняю, выхожу, захожу снова - натыкаюсь на не нужный мне модуль. В 2007 версии Word, по-моему, эта особенность исправлена, и там можно попадать сразу в последний исправленный модуль. Наверное, это годится для Access. Впрочем, всё по той же ссылке YBW, а затем и я, обнаружили, что способ Serge Gavrilov работает, а он, видимо, взял откуда-то с другого сайта, судя по комментариям в этом Add-In'е. День добрый, CoolMind! Сначала не понял о чём речь, а потом вспомнил. Да, действительно я написал особенность А2003. После Вашего сообщения попробовал в Excel 2003, там тоже такой "трюк" не проходит, в смысле не попадаем в "ошибочный" модуль. Значит это касается только А2003. А вообще я так и не понял, почему и по какому принципу некоторые модули внутри A2003 открыты, когда мы первый раз запускаем, а некоторые закрыты. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2011, 16:11 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
Serge Gavrilovтам вообще нет комментариев Connect.Dsr: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2011, 16:16 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
А вот еще интересный "факт"... 1. Снял флаг отображения с таблицами и проч. Файл->Параметры->Текущая база данных->снять галку Область перехода->Перегрузить БД 2. Убрал встроенные меню MSAccess (Property базы "AllowFullMenus"). 3. Вижу результат как на прикрепленном файле (все в порядке, все закрыто). 4. См. след пост т.к. не знаю как 2 картинки прикрепить... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2011, 17:01 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
Теперь правым кликом на кнопочку "микрософт", выбираем пункт "Настройка панели быстрого доступа" и вуаля. Спрашивается, за что боролся? Может кто знает, как закрыть этоти "лаз" от пользователей? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2011, 17:04 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
CoolMindSerge Gavrilovтам вообще нет комментариев Connect.Dsr: Код: plaintext 1. 2. 3. 4. 5. 6.
А как эти комментарии, которые вы приводите, указывают, что что-то взято с какого-то сайта? Если бы вы когда-либо писали Addin-ы на VB6, то знали бы, что эти комментарии появляются "автоматом" при создании нового проекта, если шаблоном был выбран Addin. Попробуйте. Если я добавляю комментарии, то в основном пишу их тоже на английском. Если использую чей-то код, то стараюсь приводить в комментариях источник, откуда он взят. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.05.2011, 23:02 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
Lockpickup, Я просто переименовал формат файла "accdb" на "accdr", т.е. сделал как бы "Runtime" и у меня получился "не активный" меню (см. картинку). Не вариант? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2011, 07:50 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
Serge Gavrilov, действительно, с этим трудно спорить, поэтому я и написал слово "видимо". Извините, пожалуйста. Очень рад, что это Ваш код, и он очень помогает в работе. Добрый день, studieren! Ваш метод тоже очень удобен для случая Access, потому что при установке Add-In во всех Офисных приложениях по окончании работы будет задаваться вопрос о сохранении. Для Access это и так общепринято, а вот для Word было бы не очень удобно, поэтому я обычно запускаю install.bat перед сохранением позиции, а по окончании - uninstall.bat. Требуется редко, но метко. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2011, 08:21 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
CoolMindSerge Gavrilov, действительно, с этим трудно спорить, поэтому я и написал слово "видимо". Извините, пожалуйста. Очень рад, что это Ваш код, и он очень помогает в работе. Хорошо, а код был приведен в качестве примера возможного решения... ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2011, 09:28 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
studieren, очень даже вариант!! Благодарствую. Только я переименовал .accde в .accdr. И, что очень приятно, там нет панельки "Область навигации". ... |
|||
:
Нравится:
Не нравится:
|
|||
12.05.2011, 10:23 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
Чтобы узнать как долго работает Windows можно воспользоваться вот таким кодом: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Код взял отсюда и слегка переделал. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.05.2011, 15:34 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
Application.ADOConnectString - Что это? В хелпе нет, в объект бровсере нет, в подсказке (после точки) не возникает. На форуме - один пост ( 7301856 ). Зачем он? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.05.2011, 23:49 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
Guest33...в объект бровсере нет, в подсказке (после точки) не возникает... Есть, включите в Object Browser "Show Hidden Memberы" ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2011, 01:13 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
Интересный факт: Если во внутреннем запросе использовать какую-нибудь VBA функцию, но при этом во внешнем запросе не ссылаться на данное поле (столбец) в фильтрах и в сортировках, иначе говоря если бестолково использовать VBA функцию во внутреннем запросе, то Access полностью ИГНОРИРУЕТ данную функцию, словно её там нет. Чтобы было более понятно приведу такой пример. Создаю такую функцию Код: plaintext 1. 2.
Код: plaintext 1. 2.
А вот при таком запросе замучает MsgBoxами! Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2011, 13:50 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
Ещё одна деталь: Данное утверждение оказывается верно и для запросов внутри запроса. Т.е. если мы используем какой-нибудь запрос (скажем "Запрос1") как источник данных для другого запроса и при этом в первом запросе использованы VBA функции, которых мы не используем во втором запросе, то и в таких случаях Access игнорирует VBA функцию. Сохраним такой запрос под именем "Запрос1": Код: plaintext 1.
Код: plaintext 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2011, 14:05 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
studieren, А тут и не должно быть его, ведь select name, а не test. И вообще с сохранёнными и несохранёнными запросами много фишек, одни только вычисляемые поля чего стоят. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2011, 03:25 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
Можно ли создать такой запрос с параметром, который возвращает список названий запросов, содержащих определенный фрагмент SQL текста? Да, можно и на самом деле всё очень просто. Вот один из вариантов: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
А если у кого-то есть ещё более простое решение, please поделитесь. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.05.2011, 08:45 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
Если в файле mdb имеются несколько таблиц, присоединённых через ODBC (linked table) к различным базам данных из разной СУБД, то при первом обращении к такой таблице появляется специальное диалоговое окно, куда пользователь должен ввести логин и пароль. Видимо Access где-то запоминает логин и пароль пользователя, т.к. при повторном обращении к одной и той же таблице уже не спрашивает аутентификацию. Ну а если открыть другую таблицу, присоединённой к другой СУБД, то вновь появится диалоговое окно для аутентификации. Допустим, логин и пароль пользователя абсолютно одинаковый для всех БД из разных СУБД. Как же сделать так, чтобы Access спрашивал логин и пароль пользователя только один раз? Я как-то уже спрашивал этот вопрос вот здесь, где уважаемый Ё подсказал достаточно оригинальный способ решения проблемы. Для этого в Accessе создаём рабочую группу, где следует создать идентификационные данные пользователя (логин и пароль) аналогичные с другими СУБД. Обязательно также следует запаролить пользователя "Admin" иначе при открытии файла Access не будет спрашивать пароль. Когда мы откроем и введём логин и пароль для Accessа, то этого будет достаточно, больше при обращении присоединённых таблиц аутентификация пользователя не требуется. Всё вроде бы нормально работает. Но!!! Начиная с А2007 теперь Microsoft отказывается от рабочей группы (файл mdw). Вообще-то у рабочей группы была ещё 1 полезная особенность: можно было защитить не только таблицы и запросы, но и такие объекты базы как формы и отчёты. Теперь, увы, они беззащитны. Но это уже другая тема. Как же теперь поступить, если файл в формате А2007 или даже А2010? Один из самых простых способов решения это «временные запросы к серверу». Для этого сначала создаём форму, где требуется ввести логин и пароль пользователя. Для поля «пароль» ставим маску ввода «PASSWORD». Теперь создаём «временный» запрос таким образом: Код: plaintext
После всего этого можно без проблем открыть любую присоединённую таблицу и при этом не вводить идентифицирующие данные пользователя. P.S. Прилагаю mdb файл (в формате A2003), где есть форма «Authentication». Там есть ещё одна дополнительная таблица «USys_DefaultUser», которая необходима для определения логина пользователя по умолчанию. Программа запоминает логин последнего пользователя в данной таблице и при следующем запуске Acccessа по умолчанию логин будет появляться. Разумеется, и с помощью API функций можно узнать последнего пользователя, но на мой взгляд данное решение более простое. Можете импортировать форму «Authentication» и таблицу «USys_DefaultUser» в свою базу. Только не забудьте в модуле формы заменить «НазваниеDSN» и «НазваниеБД» на реальное значение, ну и саму форму можно повесить на стартап. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.05.2011, 20:27 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
Прилагаю файл "FindObject.mdb" (в формате А2003), где есть форма "FindObject", с помощью которой можно: - найти объект БД по фрагменту названия - удалить объект БД (для этого нужно выбрать из списка название объекта и нажать на DELETE) - получить некоторые свойства объекта (например названия полей таблицы / запроса) - поиск запроса по фрагменту SQL текста запроса (3-закладка) - выбрать объект в окне БД (кнопка "очки", можно нажать на Alt+7) - открыть объект в режиме конструктора ("линейка", Alt + 8) - открыть / запустить объект ("!", Alt + 9) В реальных базах, где могут быть множества объектов, данная форма очень помогает быстро найти любой объект. Также рекомендуется создать макрос "AUTOKEYS", где следует назначить на определенную клавишу вызов формы "FindObject", к примеру F4. Т.к. данная форма опирается на системную таблицу MSysObjects, которая отсутствует в adp, она применима только в "mdb" и в "accdb" файлах (проверено в А2007, там тоже работает). Когда мы вручную удаляем таблицу или запрос, Access на самом деле не удаляет, а переименовывает объект типа так "~TMPCLP456161". С помощью формы "FindObject" можно окончательно удалить объект из базы. P.S. Может быть кому-то пригодиться. Жду замечаний и критики от аудитории. Если найдёте косяк, please пишите. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2011, 21:22 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
Слегка улучшил файл "FindObject.mdb" и исправил некоторые ошибки. Теперь можно заменить программно фрагмент SQL текста запроса. Например, если Вы переименовали таблицу, то теперь программно можете переделать все запросы, которые в своём тексте ссылаются на переименованную таблицу. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2011, 18:28 |
|
интересные факты / наблюдения / анализ чужих и собственных решений
|
|||
---|---|---|---|
#18+
В хелпе как-то "мелко" написано по поводу таблицы "MSysConf". Примечание. Сведения в данном разделе относятся только к базам данных Microsoft Access (.mdb). Важно При создании таблицы «MSysConf» необходимо правильно выполнить ее настройку, иначе подключение к таблице базы данных SQL (База данных SQL. База данных, для управления которой используется язык SQL (Structured Query Language).) будет невозможно. При администрировании базы данных SQL, в качестве клиентского интерфейса для работы с которой используется Microsoft Access, можно создать в базе данных SQL таблицу с именем «MSysConf», помогающую управлять взаимодействием этих двух приложений. Таблица «MSysConf» имеет две функции. - Позволяет отключать средство, обеспечивающее пользователям возможность сохранять в клиентской базе данных Microsoft Access имя и пароль для подключения к связанной базе данных SQL. - Оптимизирует способ заполнения Microsoft Access записей в фоновом режиме при простое, позволяя задать количество одновременно загружаемых строк данных и время задержки (в секундах) между загрузками. Если таблица «MSysConf» не создана, Microsoft Access использует стандартные значения: 100 записей с загрузкой через каждые 10 секунд. Структура таблицы «MSysConf» Таблица «MSysConf» базы данных SQL должна иметь следующую структуру. Имя столбца Тип данных Пустое значение Config Тип данных, соответствующий 2-байтовому целому числу НетchValue VARCHAR(255) Да nValue Тип данных, соответствующий 4-байтовому целому числу Дапримечания VARCHAR(255) Да Примечание. Если в используемом источнике данных учитывается регистр знаков, имена таблицы и столбцов должны вводиться точно так, как они написаны. Данные в таблице «MSysConf» В таблице «MSysConf» допустимы три записи. В следующей таблице перечислены значения, которые следует ввести в поля «Config» и «nValue». Остальные столбцы зарезервированы для дальнейшего использования, и их содержимое игнорируется. Config nValue Результат 101 0 Запрет локального хранения сетевого имени и пароля связанной таблицы. 101 1 Разрешение локального хранения сетевого имени и пароля связанной таблицы. 102 D D — время задержки в секундах между операциями загрузки. 103 N N — число загружаемых строк. Примечание. Более длительное время задержки снижает загруженность сети, но увеличивает время, в течение которого данные открыты только для чтения (если сервер использует блокировку, допускающую только чтение). Создал на стороне SQL Server таблицу "MSysConf", но особой разницы не почувствовал. Ввёл значения 101, 0 в соответствующие поля "Config" и "nValue". Однако во всех линкованных таблицах и запросах к серверу, где заранее были сохранены логин и пароль пользователя не удалились. :) Когда создаю новую линкованную таблицу с помощью мастера, то обычно Access спрашивал сохранить ли логин и пароль. После этого перестал спрашивать. И это Microsoft называет "Запрет локального хранения сетевого имени и пароля связанной таблицы" ? Ну и "время задержки", а также "число загружаемых строк" также не совсем понятны. Я поэкспериментировал, но особой разницы не заметил. Кто нибудь может подробно объяснить об этой таблице? В каких случаях она может быть действительно полезной? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.07.2011, 19:20 |
|
|
start [/forum/topic.php?fid=45&msg=37277779&tid=1610226]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 312ms |
total: | 454ms |
0 / 0 |