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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.02.2010, 21:08   #1
Swatch
Форумчанин
 
Регистрация: 05.07.2009
Сообщений: 209
Лампочка Автоматическое присвоение значение поля со списком

Здравствуйте! Подскажите пожалуйста, как решить такую задачу: на форме есть 2 поля со списком. Источники данных у них не связаны между собой.
Первое поле содержит список значений модификаций, например:
3205-....
3204-....
.....
Второе поле примерно такой набор записей
автобусы 3205
автобусы 3204
......
Нужно чтобы при выборе значения из первого поля во втором автоматически из списка значений выбиралось то, где последние 4 символа сопадают с первыми 4 в первом поле со списком, ну то есть если выбрали 3205-..... то автоматически выведется "автобусы 3205
". Но при этом чтобы сохранялась возможность выбора других "автобусов" во втором поле.
Swatch вне форума Ответить с цитированием
Старый 18.02.2010, 01:06   #2
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Swatch.
если обновления набора списка не требуется, выполните в VBA "перебор" второго списка по событию после обновления первого списка:
Код:
Private Sub ComboBox1_AfterUpdate()
Dim i%, s1$, s2$
s1 = Left(ComboBox1, 4)
For i = 0 To ComboBox2.ListCount - 1
    s2 = ComboBox2.ItemData(i)
    If s1 = Right(s2, 4) Then
        ComboBox2 = s2
        Exit For
    End If
Next
End Sub
примерно так.
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 18.02.2010, 09:07   #3
Swatch
Форумчанин
 
Регистрация: 05.07.2009
Сообщений: 209
Вопрос

Спасибо большое! Это работает если сделать источником для второго поля список значений. А как быть,если источник второго поля это 2 поля из таблицы с "автобусами" (код и название автобусов), тогда искомый элемент будет во втором столбце. Как теперь к нему обратиться?
Swatch вне форума Ответить с цитированием
Старый 18.02.2010, 18:11   #4
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

конструкция действительно будет работать только если в свойствах контрола "Присоединенный Столбец" задать поле содержащее "название автобусов". "..как быть..источник второго поля это..." если речь о поле со списком (ComboBox) - массив полей поля со списком может содержать и более двух элементов, к любому из них можно обратиться по индексу колонки. Нумерация индексов начинается с нуля и потому V = ComboBox.Column(0) - (код), V = ComboBox.Column(1) - (название автобусов).
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обновление поля со списком в подчиненной форме touchka Microsoft Office Access 7 01.08.2012 17:06
Связь таблиц для выбора из поля со списком nakedpigeon БД в Delphi 5 06.05.2009 16:11
Создение поля со списком. Не сохраняются данные. Olyachir Microsoft Office Access 1 02.05.2009 15:44
Присвоение значения одного поля другому frai БД в Delphi 2 20.09.2007 15:03