Как узнать свойства элемента управления menubar - PullRequest
0 голосов
/ 16 ноября 2011

Я просто получаю доступ к ms. Это мой первый раз, когда я обращаюсь к VB и ms-access, так что извините, если это основной вопрос.Я получаю приложение ms-access, это файл .adp.Необходимо настроить это приложение.После двойного щелчка по приложению покажите сильфонный пользовательский интерфейс enter image description here

Удерживая нажатой клавишу Shift + дважды щелкните, чтобы получить сильфонный пользовательский интерфейс enter image description here

Удерживая Alt + F11, получите сильфонный интерфейс (код) enter image description here картинка-1 указывает на комбо .хочу настроить это комбо. Для этого нужно знать имя комбо.

1)How to know the control name from my  ms-access .adp file.
2)By using smart navigation(like vs2010),In ms-Access combo is it possible to add combo items ?
3)How to get Smart Navigate items from combo

если есть какие-либо вопросы, просьба спросить. Любой тип предложения будет приемлем. Заранее спасибо

1 Ответ

1 голос
/ 19 ноября 2011

Вы должны получить имя установленной строки меню. Эта строка меню задается либо при запуске (в масштабе приложения), либо на вкладке «прочее» листа свойств формы запуска. Кроме того, хотя большинство элементов управления можно добавлять в пользовательские панели меню через встроенный пользовательский интерфейс (до Access 2007), поле со списком НЕ является одним из этих элементов управления (поэтому для добавления поля со списком в строку меню требуется код). Этот код можно было запустить «один раз» как утилиту, добавившую этот элемент управления (скорее всего, он сохранится в приложении).

Другая возможность заключается в том, что код при запуске приложения добавляет поле со списком в пользовательскую строку меню.

Другая возможность состоит в том, что код при запуске приложения «создает» строку меню и поле со списком при запуске с кодом VBA. На самом деле здесь можно проверить около 15 различных вещей - опытный разработчик Access может проверить это примерно за 10 минут. Однако, чтобы выписать 20 вещей, которые нужно проверить, и где найти эти вещи, и как их проверить, потребовалось бы серьезное печатание с моей стороны и рядом с книгой.

Таким образом, в Access есть довольно сложная кривая обучения (более длинная, скажем, с использованием c # и написанием кода в VS2010).

Проблема усугубляется тем, что после Access 2003 были удалены части графического интерфейса, позволяющие изменять строки меню. Это означает, что вам нужно использовать Access 2003 или начиная с 2007 года, вы должны использовать код VBA для создания / поддержки / обновления / изменения встроенной строки меню.

Кроме того, поскольку вы видите пользовательскую строку меню, а НЕ ленту, а используете Ленточную версию Access, это означает, что у вас есть формат базы данных до 2007 года (т. Е. Был создан в 2003 году или ранее).

Насколько плоха ваша ситуация, будет зависеть от того, созданы ли эти строки меню в коде или ранее в графическом интерфейсе. Я бы сказал, что «часто» код используется / использовался в автозагрузке для создания или управления панелями меню, но это может быть не так (вы должны определить это, посмотрев код запуска, который запускается при запуске приложения).

Однако, как отмечалось, даже в Access 2003 добавление поля со списком в строку меню ВСЕГДА требовало специального кода. Этот пользовательский код мог быть одноразовым написанием и удалением кода, или код запускается каждый раз при запуске. Мы не знаем этот ответ, пока не посмотрим на код - как уже отмечалось, вполне возможно, что код для поля со списком никогда не сохранялся (другими словами, вы можете запустить код для создания поля со списком, и он будет сохраняться в зависимости от о том, как код добавил строку меню).

Итак, во-первых, проверьте системную строку меню, заданную для всей системы (или проверьте, есть ли она на самом деле - их может и не быть).

Как уже отмечалось, решение этой проблемы происходит в 2007 году, вы должны увидеть ленту, а НЕ строку меню. Так что это само по себе является проблемой, с которой вам придется иметь дело (для того, чтобы это произошло в 2007 году, требуется немного хитрости). Итак, как строка меню была настроена для отображения, вероятно, использовал этот подход, описанный здесь в этой ссылке:

http://www.accessribbon.de/en/index.php?FAQ

В приведенном выше списке прокрутите вниз до

«Я хочу, чтобы моя база данных, созданная в A2003 или ранее, отображала только собственную строку меню»

Я не могу направить ссылку на выше, так как это страница типа AJAX, поэтому вам нужно прокрутить вниз и щелкнуть ссылку, чтобы развернуть ее. Приведенная выше ссылка также показывает, где находятся опции в 2007 г. для установки системной строки меню. Вы ДОЛЖНЫ определить эту проблему.

Я бы также подумал о том, чтобы выполнить поиск по ключевому слову "панели команд" и посмотреть, появляется ли какой-либо код VBA. Как уже отмечалось, код для создания этого комбо мог быть запущен один раз и отброшен, или он может быть частью кода запуска. Существует большая вероятность того, что код выполняется каждый раз, но мы не знаем.

Кстати, вы смотрели код запуска? Код запуска будет в форме, которая указана для запуска при запуске в «большинстве случаев». Однако ТАКЖЕ может быть макрос запуска с именем "autoexec". Поэтому вам также необходимо проверить область макроса, если существует макрос с именем AutoExec (не путайте термин макрос и код VBA в Access - это РАЗНЫЕ концепции и разные виды кода).

Как уже отмечалось, удержание Shift во время запуска отключает ОБА макрос autoexec и форму запуска. Это означает, что вы можете просто использовать макрос autoexc, который делает кучу вещей, и ТО запускает форму запуска. Или, возможно, у вас есть только форма запуска. Или вы можете иметь оба варианта - все возможно, и вы должны проверить все случаи здесь.

Доступ как платформа разработки имеет тенденцию к довольно длинной кривой обучения (я бы сказал, гораздо дольше, чем обучение, скажем, c # и VS2010).

Если вам придется проделать большую работу над этим проектом, вам, скорее всего, следует пригласить кого-то с опытом работы в несколько лет, или для проверки вышеуказанных 20 вещей вам не понадобится 10 минут, но каждая вещь Я спрашиваю, может, вам понадобится час, чтобы сделать первый раз (так что теперь вы говорите 20 или 30 часов своего времени, чтобы проверить что-то, что займет у опытного разработчика около 10 или 20 минут).

Хороший контрольный список уровня квалификации:

(как правило, существует «много» уровней квалификации, но для начала проекта этого типа достаточно следующего разбивки).

Stage 1 Innocent (never heard of the product)

Stage 2 Aware (Has read an article about X)

Stage 3 Apprentice (has attended a three-day seminar)

Stage 4 Practitioner (ready to use X on a real project)

Stage 5 Journeyman (uses X naturally and automatically in his job)  

Stage 6 Master (has internalized X, knows when to break the rules)  

Stage 7 Expert (writes books, gives lectures, looks for ways to extend x)

НИКОГДА не следует пытаться выполнить проект с командой, состоящей из Стадии 3 или ниже. Это верная формула огня для неудачи. Команда может состоять из 4-х этапов, но они должны иметь как минимум доступ к 5-му или 6-му этапам (см. Пейдж-Джонс, Мейлир. «Семь этапов экспертизы в разработке программного обеспечения», американский программист, июль-август 1990 г.). ).

Таким образом, в зависимости от того, сколько времени вам нужно здесь инвестировать, вы, возможно, захотите привлечь сюда кого-то с опытом, особенно тех, кто делал меню и работал с ADP.

Несмотря на это, вышесказанное должно помочь вам начать работу, но, учитывая ваши вопросы, вы уже слишком заняты и не можете выполнять базовые задачи в Access, необходимые для разработки в Access.

...