Привязать поле к полю временного набора программ программно - PullRequest
1 голос
/ 14 марта 2012

Я пытаюсь отобразить набор записей, созданный программно.Но у меня возникают проблемы с привязкой управляющего источника к полям набора записей.

Следующий код выводит "#Error" в текстовое поле FirstField.

Option Compare Database
Option Explicit

Private Sub Form_Load()
    Dim rs As ADODB.Recordset
    Set rs = New ADODB.Recordset

    With rs.Fields
        .Append "A", adInteger
        .Append "B", adInteger
        .Append "C", adInteger
    End With

    rs.Open

    With rs
      .AddNew
        ![a] = 1
        ![b] = 1
        ![c] = 1
      .Update
    End With

    rs.Clone

    Set Me.Recordset = rs
    Me.FirstField.ControlSource = rs.Fields(0).Name 'outputs #Error in FirstField
End Sub

Помощь очень ценится!


Что я пытаюсь сделать

У меня есть база данных, которая представляет используемые парковочные места на парковке.A, B, C - координаты положения, для каждого из которых установлено правило проверки, поэтому они не могут превышать свои пределы.Теперь я хочу отобразить все доступные парковочные места.Таким образом, я решил создать «поддельную» базу данных со всеми парковочными местами, а затем выполнить запрос, где я только отображаю энтиры из поддельной базы данных, где позиция не находится в базе данных «использованных парковочных мест».

Создание базы данных только с позициями показалось мне глупым, и заполнение базы данных «использованной парковкой» всеми парковочными местами, а затем добавление использованного логического поля также казалось плохой идеей.

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

Спасибо за ваше время.

1 Ответ

0 голосов
/ 14 марта 2012

Из вашего комментария я вижу, что вы намереваетесь изменить дизайн, что мне кажется хорошей идеей. Несмотря на это, если вы хотите поэкспериментировать с отключенным набором записей ADO для формы, включите .LockType перед .Open.

rs.LockType = adLockPessimistic
rs.Open

С этим изменением и без строки rs.Clone ваш код Form_Load работает в моей тестовой форме.

См. Эту статью из База данных журнала для получения более подробной информации по этому вопросу: Создание наборов записей ADO в памяти .

...