2015-10-26 7 views
0

У меня есть форма с несколькими полями со списком, эти поля имеют 2 списка столбцов, где ширина столбца 0 равна нулю. Все эти поля имеют источники строк, определенные для их выпадающих списков.Обновление отображения для Combo Box

Когда я пытаюсь переместить отображаемое значение со списков с помощью кода vb, он работает для нескольких элементов управления, а ничего не делает для остальных. Поэтому я сделал изолированный код, чтобы обновить значения всех комбинированных полей (cbo), и снова те же элементы управления проходят/терпят неудачу. Вот код, с которым я пытаюсь работать, может ли кто-нибудь рассказать мне, почему я не могу обновить некоторые комбинированные поля, в то время как другие работают нормально?

Спасибо!

Sub test() 

Dim Ctrl As Control 
Dim CtrlName_Combined as String 

For Each Ctrl In Forms("frmNewTransaction").Controls 

'Name of all combo boxes start with 'cbo' 

If Left(Ctrl.Name, 3) = "cbo" Then 
Ctrl = "Hello" 
CtrlName_Combined = ctrlName_Combined & Ctrl.Name & " " 
End If 

Next Ctrl 

MsgBox CtrlName_Combined 

End Sub 

Вот скриншот формы после кода запуска (все коробки Combo начать с СВО): enter image description here

+0

Мое предположение было бы в том, что комбокс, которые не работают, имеют 'LimitToList = True', поэтому они не принимают произвольные значения, такие как« Hello ». – Andre

+0

@ Andre451 Все Comboxes имеют 'LimitoList = Yes' и 'Allow Value Editing = Yes', включая те, которые работают – Codex

+0

@ Andre451 Кроме того, этот код приветствия является тестом, я изначально пытался изменить значения каждого комбо из в пределах sub в соответствии с его значениями источника строки, когда я понял, что некоторые комбо просто не нажимают – Codex

ответ

0

Спасибо ребята за помощь. Проблемы начались, когда мало кто из комбинированных окон не принимает значение, когда я казнен:

forms("FormName").Controls("ComboBoxName")="Some Value which was in the list"

Так что я проверил все мои комб, передавая их значение «Hello», которые я знаю, не в их источнике строк. Странно, что несколько комбо ответили, а другие - нет. Это была кроличья дыра, так как все мои комбо были сконфигурированы так же, как и исходные запросы строк, но у всех были столбик ID и eName.

Проблема заключалась в том, что несколько комбо не принимали текстовые значения, которые я передавал им, но получается, что если бы я дал им числовое значение в соответствии с первым столбцом, они начинают отвечать (то, что я не понимаю, заключается в том, что некоторые комбо ведут себя в одном направлении и остальное по-другому)

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

Кроме того, я вижу, что вопрос или манера не был хорошо принят сообществом, было бы полезно, если бы кто-то указал, что не нужно делать для будущих ссылок

Еще раз спасибо!