Кнопка вкладки «Доступ к ADO»

Я переместил свое приложение доступа из DAO в соединение ADO. Это работает лучше, но я сталкиваюсь с проблемой, когда я ввожу значение в поле формы, затем я нажимаю кнопку табуляции, экран переводит меня к первым полям формы, и я теряю свой активный контроль, который является контролем поля, в котором я введите значение. N.B.: Если я щелкнул курсором мыши после применения значения в указанном поле, он работает правильно...

Любая помощь будет высоко оценена


person CREFLY    schedule 21.05.2010    source источник
comment
Просто любопытно, как ваше приложение лучше работает с ADO? Какие преимущества вы получили?   -  person Tony Toews    schedule 24.05.2010
comment
Можете ли вы показать, какие события вы используете в поле формы? Если есть, покажите код, пожалуйста.   -  person hgulyan    schedule 04.06.2010


Ответы (1)


Я всегда считал, что код ADO лучше, проще и быстрее, чем DAO.

Dim rst as new ADODB.recordset
rst.open "Select * from employees", CnnString

Я имею в виду... это просто менее подробно, чем то, что вам нужно в DAO.

person Aaron Kempf    schedule 22.03.2011
comment
Чем это проще, чем DAO? Я могу сделать это в DAO: lngNewID = CurrentDB.OpenRecordset("SELECT @@IDENDITY")(0) -- это одна строка кода, а у вас две. Я также могу открыть набор записей DAO двумя строками кода: Dim rs As DAO.Recordset / Set rs = DBEngine(0)(0).OpenRecordset("SELECT * FROM employees;"). DAO и ADO отличаются тем, как вы делаете что-то, но ни один из них не является более или менее подробным, чем другой. Ключевое отличие состоит в том, что при работе с данными Jet/ACE DAO является прямым интерфейсом, родным интерфейсом, поддерживает больше функций и работает быстрее. - person David-W-Fenton; 24.03.2011
comment
При работе с данными, отличными от Jet/ACE, сочетание производительности/функций может быть, а может и не быть совершенно другим. И мы программируем вне Access, скорее всего, будет проще использовать ADO/OLEDB. - person David-W-Fenton; 24.03.2011