Public Property Let TravelNum(ByVal TrlNum As Long)
'МАХ Получает номер заказа по Travel
'Dim StrSql As String
Dim ValueName As String
IsTrueOll = False
TrNum = TrlNum 'МАХ запоминаем номер из Travel
'StrSql = "SELECT order_currency FROM main_order WHERE order_num = " & TrlNum
If Not IsNull(DLookup("order_currency", "main_order", "order_num = " & TrlNum)) Then
ValueName = DLookup("order_currency", "main_order", "order_num = " & TrlNum)
If Trim(UCase(ValueName)) = "RUR" Or Trim(UCase(ValueName)) = "TND" Then
MsgBox "Внимание! Выбранный Вами заказ " & vbCrLf & _
"относится к валюте " & ValueName & vbCrLf & _
"Но данный интерфейс предназначен" & vbCrLf & _
"для работы только с заказами USD и EUR!", _
vbCritical, "Внимание! Неверная валюта заказа!"
Exit Property
End If
IsTrueOll = True
Else
MsgBox "Внимание! В базе данных не указана валюта заказа! " & vbCrLf & _
"Работа с заказом невозможна!" & vbCrLf & _
"Уточните валюту заказа и затем обратитесь в IT отдел!", _
vbCritical, _
"Ошибка в базе! Неверные данные!"
Exit Property
End If
'МАХ устанавливаем в комбобоксе валюту заказа
CBoxValues.Enabled = True
CBoxValues.SetFocus
CBoxValues.Value = ValueName
CBoxValues.ValidationText = ValueName
' CBoxValues.Text = ValueName
LblValue.Caption = ValueName
TxSumm.SetFocus
CBoxValues.Enabled = False
Me.Refresh
End Property
Вот я и вернулся. Помогите с комбобоксом в Access
Имеется форма. На ней есть "комбобокс". В комбобоксе - результаты выборки (названия валют).
Есть у формы свойство.
Код:
Как видите, в последних строках я упорно пытаюсь сделать так, что бы в комбобоксике отобразился нужный мне текст. Но он отображаться не хочет. Чекст, который ему передаётся, априорно есть срели его айтемов, но, блин, эта сволочь не хочет понимать, что от него требуется. Сам понимаете, методы классического VB тут бессильны. ListIndex получить и заставить подставить мне не удастся. Как заставтить комбик отображать передаваемый ему текст (элемент с нужным текстом)?
HELP! Я уже всё перепробовал, но ничего не выходит. Сроки горят...
1. cmb1.Value="22" - установка через значение
2. cmb1.Value = cmb1.ItemData(2) - установка через значение, зная только индекс
3. cmb1.SetFocus
cmb1.ListIndex = 1 - к сожалению без фокуса присовить чего-нибудь свойству ListIndex не удаться.
У ComboBox была отключена - Автоподстановка и включена - Ограничиться списком. Версия - Access 2002.
Почему у тебя не получилось со значением... CBoxValues.Value = ValueName - надо смотреть, может стоит привести ValueName к текстовому виду, может в этом был трабл?!
Цитата:
Originally posted by SergeySV
Сейчас проверил на новой базе, работают все три метода:
1. cmb1.Value="22" - установка через значение
2. cmb1.Value = cmb1.ItemData(2) - установка через значение, зная только индекс
3. cmb1.SetFocus
cmb1.ListIndex = 1 - к сожалению без фокуса присовить чего-нибудь свойству ListIndex не удаться.
У ComboBox была отключена - Автоподстановка и включена - Ограничиться списком. Версия - Access 2002.
Почему у тебя не получилось со значением... CBoxValues.Value = ValueName - надо смотреть, может стоит привести ValueName к текстовому виду, может в этом был трабл?!
Сейчас проверил на новой базе, работают все три метода:
1. cmb1.Value="22" - установка через значение
2. cmb1.Value = cmb1.ItemData(2) - установка через значение, зная только индекс
3. cmb1.SetFocus
cmb1.ListIndex = 1 - к сожалению без фокуса присовить чего-нибудь свойству ListIndex не удаться.
У ComboBox была отключена - Автоподстановка и включена - Ограничиться списком. Версия - Access 2002.
Почему у тебя не получилось со значением... CBoxValues.Value = ValueName - надо смотреть, может стоит привести ValueName к текстовому виду, может в этом был трабл?!
Да там и так текст передаётся. В принципе, я уже это дело обошол. Сделал "топором" - перенёс переменные в глобальные и комбик заменил на лейбл - всё равно юзверям не надо тама, в той форме, давать возможность выбора. Хотя с комбиком красивее смотрелось бы...
Тама у меня ещё были траблы с открытием экземпляров форм, но это попозже опишу - сейчас убегаю...