Обновление списка ComboBox

Программирование на Visual Basic for Applications
_Step_
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 16.11.2005 (Ср) 0:46

Обновление списка ComboBox

Сообщение _Step_ » 30.01.2007 (Вт) 23:19

Здравствуйте!
У меня возникла проблема которая заключается в следующем. Есть таблица "тДолжности" которая содердит два поля "Код_Должности" и "Должность" соответственно. Я создаю форму (FrmGeneral) кидаю на неё элемент ComboBox (CmbBx) и привязываю его к таблице "тДолжности" (в списке отображаются записи поля "Должность"), свойство ComboBox - "Ограничится списком" стоит - "Да". Так вот, при наборе должности которой нет в списке запускается процедура обработки событий
Код: Выделить всё
Private Sub CmbBx_NotInList(NewData As String, Response As Integer)
которая добавляет новую запись т.е. той которой нет в списке в таблицу "тДолжности". После выполнения процедуры
Код: Выделить всё
Private Sub CmbBx_NotInList(NewData As String, Response As Integer)
выдается ошибка следующего вида:
Изображение
Но! при проверки таблицы, новая запись добавилась.... вот только не обновился список элемента ComboBox'a. Отсюда вытекает вопрос, как обновить список элемента ComboBox чтобы не вылетала эта ошибка. Потому как некоторые свойства как VB у него отсутствуют. Очень прошу помощи, уже второй день решаю эту проблему. Заранее спасибо.

bi-lya
Обычный пользователь
Обычный пользователь
 
Сообщения: 87
Зарегистрирован: 07.08.2006 (Пн) 15:36

Сообщение bi-lya » 31.01.2007 (Ср) 1:11

Я в таком случае пользую UserForm_Activate

_Step_
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 16.11.2005 (Ср) 0:46

Сообщение _Step_ » 31.01.2007 (Ср) 3:07

Всё уважаемые....извините за безпокойство вопрос решился сам! Я немного неправильно реализовывал обновление ComboBox
Вот если кому интересно правильный вариант. Кстати очень удобно получается =)
Код: Выделить всё
Private Sub ПолеСоСписком0_NotInList(NewData As String, Response As Integer)
    Dim strMsg As String
    Dim rst As DAO.Recordset
    Dim db As DAO.Database
   
    strMsg = "'" & NewData & "' is not like list. "
    strMsg = strMsg & "Would you like to add it? "
   
    If vbNo = MsgBox(strMsg, vbYesNo + vbQuestion, "New Job") Then
        Response = acDataErrDisplay
    Else
        Set db = CurrentDb()
        Set rst = db.OpenRecordset("тБР_Должность")
        rst.AddNew
        rst("Должность") = NewData
        rst.Update
        Response = acDataErrAdded
        rst.Close
    End If
End Sub


P.S. Использовал DAO


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 89

    TopList