powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Меню 2003 - 2007
15 сообщений из 15, страница 1 из 1
Меню 2003 - 2007
    #37428898
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скажите пожалуйста. Формирую меню в 2007 с помощью xml, но код обрабатывающий загрузку меню в 2007 не компилируется в 2003. Другие библиотеки. А приложение используется и 2003 и в 2007.

Как это победить?

Заранее благодарен.
...
Рейтинг: 0 / 0
Меню 2003 - 2007
    #37429029
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dim b as boolean
b=(val(application.version)>=12)
#if b then
application.LoadCustomUI ....
#else
CurrentProject.Properties.add "StartUpMenuBar", "menu2003"
#end if
...
Рейтинг: 0 / 0
Меню 2003 - 2007
    #37429192
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя наврал. Не расчетное значение д.б.,а константа

#const b=true
...
Рейтинг: 0 / 0
Меню 2003 - 2007
    #37429216
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senin ViktorХотя наврал. Не расчетное значение д.б.,а константа

#const b=true

А можно сделать такое условие на весь модуль?
...
Рейтинг: 0 / 0
Меню 2003 - 2007
    #37429235
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senin ViktorХотя наврал. Не расчетное значение д.б.,а константа

#const b=true


А как можно записать такое?

Код: plaintext
1.
2.
#Const b = (Val(Application.Version) >=  12 )

#If b Then
...
Рейтинг: 0 / 0
Меню 2003 - 2007
    #37429236
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vah,

чуть поискал оказывается (слова "условная компиляция" есть константа новая vba7
наверное,можно ее юзать -для отличия 2003 (и ниже) от 20 10
http://msdn.microsoft.com/ru-ru/library/ee691831.aspx

#if vba7 then
application.LoadCustomUI ....
#else
CurrentProject.Properties.add "StartUpMenuBar", "menu2003"
#end if
...
Рейтинг: 0 / 0
Меню 2003 - 2007
    #37429238
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пардон за ошибки.

Код: plaintext
1.
чуть поискал оказывается (слова "условная компиляция") есть константа новая vba7
наверное,можно ее юзать -для отличия 2007 (и ниже) от 2010
...
Рейтинг: 0 / 0
Меню 2003 - 2007
    #37429248
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senin Viktorпардон за ошибки.

Код: plaintext
1.
чуть поискал оказывается (слова "условная компиляция") есть константа новая vba7
наверное,можно ее юзать -для отличия 2007 (и ниже) от 2010


Спасибо Вам огромное. Мне бы отличить 2007 от меньших версий...
...
Рейтинг: 0 / 0
Меню 2003 - 2007
    #37429281
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как при условном компилировании опознать Acctss 2007?
...
Рейтинг: 0 / 0
Меню 2003 - 2007
    #37429298
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vahКак при условном компилировании опознать Acctss 2007?

да никак - см. хэлп.
Придется делать два файла с разными #Const b=true/false

либо распространять приложение с runtime'ом нужной версии акеса
...
Рейтинг: 0 / 0
Меню 2003 - 2007
    #37430419
T_Alex_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Application.SetOption "Conditional Compilation Arguments", "AccessVersion_ = " & Val(Application.SysCmd(acSysCmdAccessVer))
#If AccessVersion_ =  11  Then
    MsgBox "код для Acc2003 "
#ElseIf AccessVersion_ =  14  Then
    MsgBox "код для Acc2010"
#else
    msgbox "прочие версии"
#End If
...
Рейтинг: 0 / 0
Меню 2003 - 2007
    #37430640
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чуда не случилось,код, конечно, работает, только не работает :) должным образом
Верней работает правильно, но только после двух запусков.
Первый запуск (установка свойства) не вызывает инициализацию вновь добавленной константы AccessVersion_ , а юзается либо ее ранее существовавшее значение, либо выполняется #else

Проверил. Запустил пару раз в акесе 2010. Свойство стало "AccessVersion_ = 14"
Открыл в акесе 2003 - выдало,что это акес 2010, повторный запуск - выдало 2003.
...
Рейтинг: 0 / 0
Меню 2003 - 2007
    #37430669
T_Alex_G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а если вынести функцию с кодом
Код: plaintext
Application.SetOption "Conditional Compilation Arguments", "AccessVersion_ = " & Val(Application.SysCmd(acSysCmdAccessVer))
в autoexec ?
...
Рейтинг: 0 / 0
Меню 2003 - 2007
    #37442876
Фотография vah
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
T_Alex_Gа если вынести функцию с кодом
Код: plaintext
Application.SetOption "Conditional Compilation Arguments", "AccessVersion_ = " & Val(Application.SysCmd(acSysCmdAccessVer))
в autoexec ?

Идея хорошая, НО когда я делаю mde и запускаю его в 2007, то вылезает ошибка:
"Ошибка записи параметров модуля"
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Меню 2003 - 2007
    #39394518
ser_volk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если надо скомпилировать конструкцию
Application.LoadCustomUI strRibbonName, strRibbonXML

под Access 2003, то можно сделать это так:
CallByName Application, "LoadCustomUI", VbMethod, strRibbonName, strRibbonXML
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Меню 2003 - 2007
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]