-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4


Компиляция кода в зависимости от версии Access

Четверг, 08 Июня 2017 г. 10:10 + в цитатник
Проблема.
программа работает под Access версий от 2000 до 2016.
Хотел сделать подпрограмму для сворачивания при запуске ленты Ribbon. Написал такую вещь. Поскольку в А2000-2003 ленты нет, воспользовался операторами условной компиляции
Function DbRibbonMinimize() As Boolean
Dim strversion As String
Dim sngVersion As Single
Dim intComp As Integer
strversion = SysCmd(acSysCmdAccessVer)
sngVersion = CSng(Val(strversion))
If sngVersion <= 12 Then intComp = -1

#If intComp Then

#Else
    If Not RibbonState() Then
        Application.Echo False
        CommandBars.ExecuteMso "MinimizeRibbon"
        Application.Echo True
    End If
#End If

End Function
По идее в Access 2003 вторая ветка не должна компилироваться. Но при запуске функции Access останавливается на операторе .ExecuteMso и выдаёт сообщение Method or data member not found.

Что делать?

Причём вот такая структура работает
#If VBA7 Then
'  Code is running in the new VBA7 editor
     #If Win64 Then
     '  Code is running in 64-bit version of Microsoft Office
     #Else
     '  Code is running in 32-bit version of Microsoft Office
     #End If
#Else
' Code is running in VBA version 6 or earlier
#End If


-------------------------------------------------------------
А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса?

http://www.sql.ru/forum/1262455/kompilyaciya-koda-v-zavisimosti-ot-versii-access


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку