Access 2003 FORMS: когда я устанавливаю во время выполнения с VBA, «RowSource» для ListBox сохраняется, даже если я закрываю и затем открываю - PullRequest
0 голосов
/ 05 мая 2011

Access 2003 FORMS: когда я устанавливаю во время выполнения с VBA, «RowSource» для ListBox сохраняется, даже если я закрываю и затем открываю ...

Как это исправить, я хотел бы иметь чистый "RowSource" при открытии новой формы ...

Ответы [ 2 ]

2 голосов
/ 05 мая 2011

Вы можете установить RowSource во время загрузки формы.

Private Sub Form_Load()
    Dim strSql As String
    strSql = "SELECT f.id, f.fname FROM foo AS f ORDER BY f.fname;"
    Me.lstNames.RowSource = strSql
End Sub
1 голос
/ 06 мая 2011

Установка RowSource в окне списка изменяет дизайн формы. Access хочет сохранить эти изменения для вас (на самом деле, я думаю, что поведение по умолчанию - спрашивать). Если вы хотите закрыть форму без изменений, поместите этот код в OnClick командной кнопки:

DoCmd.Close acForm, Me.Name, acSaveNo

Последний параметр указывает Access не сохранять изменения. Другая альтернатива - то, что HansUp дал вам во втором комментарии к своему ответу - просто отключите список. Затем, когда вы выясните, каким должен быть его RowSource (при вводе пользователем), установите RowSource & свойство Enabled.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...