Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2013, 22:45   #1
raytek
Пользователь
 
Регистрация: 07.11.2011
Сообщений: 67
По умолчанию Есть ли в этом смысл?

Доброго времени суток! Подскажите пожалуйста, есть ли смысл менять одну конструкцию:

Код:
If (Me!Вид = "Т") And (Me!Клас = "1") Then
    Me!фЗаводские_данные.SourceObject = "ф_Т1"
ElseIf (Me!Вид = "В") And (Me!Клас = "2") Then
    Me!фЗаводские_данные.SourceObject = "ф_Т2"
ElseIf (Me!Вид = "Т") And (Me!Клас = "3") Then
    Me!фЗаводские_данные.SourceObject = "ф_Т3"
ElseIf (Me!Вид = "Ф") And (Me!Клас = "2") Then
    Me!фЗаводские_данные.SourceObject = "ф_Т4"
ElseIf (Me!Вид = "Т") And (Me!Клас = "6") Then
    Me!фЗаводские_данные.SourceObject = "ф_Т5"
Else
    Me!фЗаводские_данные.SourceObject = "ф_Т6"
End If
на другую:

Код:
V = Me!ВидОборудования
K = Me!КласНапряжения
If (V = "Т") And (K = "1") Then
    Me!фЗаводские_данные.SourceObject = "ф_Т1"
ElseIf (V = "В") And (K = "2") Then
    Me!фЗаводские_данные.SourceObject = "ф_Т2"
ElseIf (V = "Т") And (K = "3") Then
    Me!фЗаводские_данные.SourceObject = "ф_Т3"
ElseIf (V = "Ф") And (K = "2") Then
    Me!фЗаводские_данные.SourceObject = "ф_Т4"
ElseIf (V = "Т") And (K = "6") Then
    Me!фЗаводские_данные.SourceObject = "ф_Т5"
Else
    Me!фЗаводские_данные.SourceObject = "ф_Т6"
End If
raytek вне форума Ответить с цитированием
Старый 03.04.2013, 23:18   #2
Андрэич
Форумчанин
 
Аватар для Андрэич
 
Регистрация: 20.05.2012
Сообщений: 311
По умолчанию

А вы как сами думаете, почему сейчас (в 21 веке) считается более трудозатратным скриптовать на Ассемблере, чем на VBA? Зачем вообще нужны переменные?

Последний раз редактировалось Андрэич; 03.04.2013 в 23:21.
Андрэич вне форума Ответить с цитированием
Старый 03.04.2013, 23:25   #3
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,077
По умолчанию

лично я меняю длинные переменные на короткие достаточно часто
--нагляднее код при наличии сложных условий, которые не влезают в строку редактора
--проверка на NULL

Код:
DIM V AS string
dim k as string
V = "" &Me!ВидОборудования
K = "" &Me!КласНапряжения
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание
shanemac51 вне форума Ответить с цитированием
Старый 03.04.2013, 23:30   #4
Андрэич
Форумчанин
 
Аватар для Андрэич
 
Регистрация: 20.05.2012
Сообщений: 311
По умолчанию

ElseIf (V = "Т") And (K = "3") Then
Me!фЗаводские_данные.SourceObject = "ф_Т3"
ElseIf (V = ")And (K = "2") Then
Me!фЗаводские_данные.SourceObject = "ф_Т4"
ElseIf (V = "Т") And (K = "6") Then
Me!фЗаводские_данные.SourceObject = "ф_Т5"
Else
...
Зачем и для кого Аристотель придумывал логику???

Последний раз редактировалось Андрэич; 03.04.2013 в 23:37.
Андрэич вне форума Ответить с цитированием
Старый 03.04.2013, 23:39   #5
Андрэич
Форумчанин
 
Аватар для Андрэич
 
Регистрация: 20.05.2012
Сообщений: 311
По умолчанию

-----------------------------------
Андрэич вне форума Ответить с цитированием
Старый 03.04.2013, 23:42   #6
Андрэич
Форумчанин
 
Аватар для Андрэич
 
Регистрация: 20.05.2012
Сообщений: 311
По умолчанию

Короче говоря, я сам запутался в этой портянке...
Андрэич вне форума Ответить с цитированием
Старый 03.04.2013, 23:43   #7
raytek
Пользователь
 
Регистрация: 07.11.2011
Сообщений: 67
По умолчанию

Извените, я не программист, если я заменю, будет выигрыш в скорости обработки?
raytek вне форума Ответить с цитированием
Старый 03.04.2013, 23:50   #8
raytek
Пользователь
 
Регистрация: 07.11.2011
Сообщений: 67
По умолчанию

Цитата:
Сообщение от raytek Посмотреть сообщение
Извените, я не программист, если я заменю, будет выигрыш в скорости обработки?
поменять

If (Me!Вид = "Т") And (Me!Клас = "1") Then

на

V = Me!Вид
K = Me!Клас
If (V = "Т") And (K = "1") Then
raytek вне форума Ответить с цитированием
Старый 03.04.2013, 23:50   #9
Андрэич
Форумчанин
 
Аватар для Андрэич
 
Регистрация: 20.05.2012
Сообщений: 311
По умолчанию

Цитата:
Сообщение от raytek Посмотреть сообщение
я не программист
Во-первых, не надо быть программистом, чтобы содержать свои вещи в порядке. А когда им станете, будете чесать голову, что я имел в виду... (Пишете осмысленный код - значит уже программист, без скидок...)

Будет. Сколько у вас обрабатывается записей? При современных мощностях, наверное, даже не заметите...
Андрэич вне форума Ответить с цитированием
Старый 03.04.2013, 23:54   #10
Андрэич
Форумчанин
 
Аватар для Андрэич
 
Регистрация: 20.05.2012
Сообщений: 311
По умолчанию

Где это возможно, в процедуре (функции) - лучше использовать переменные (хотя бы потому, что и удобнее, и читабельнее...)
Андрэич вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
есть ли смысл изучать visual user Microsoft Office Excel 5 12.06.2012 10:57
HTML5 и старые браузеры. Есть ли смысл поддерживать? dem66 HTML и CSS 23 30.04.2012 11:10
CVS Mercurial и SFTP - есть смысл? RebOOter Софт 0 21.07.2011 04:29
Российская ОС. Есть ли смысл? mrChester Свободное общение 39 30.07.2010 17:25