0 / 0 / 0
Регистрация: 08.07.2007
Сообщений: 5
|
|
1 | |
Как базу после открытия через DAO связать к Data Object?09.07.2007, 11:14. Показов 1273. Ответов 8
Метки нет Все метки)
(
Открываю базу mdb через DAO:
Private Sub Form_Load() Dim WR As Workspace Dim db As DAO.Database Dim rc As DAO.Recordset Set WR = CreateWorkspace('', 'admin', '', dbUseJet) Set db = WR.OpenDatabase('c:insurmainbase.mdb') Set rc = db.OpenRecordset('table1') rc.MoveFirst For i = 1 To 5 rc.MoveNext MsgBox (rc.Fields(0).Value) 'показывает содержимое первого поля 'А ВОТ ЗДЕСЬ ВОТ ПРОБЛЕМЫ, ERR-3251: Operation is not supported for this type of object MsgBox (rc.AbsolutePosition) Next i End Sub как эту базу после открытия через DAO связать к Data Object, и как выяснить текушую запись(т.к.AbsolutePosition вызывает ощибку), и будут ли после такого подключения к базе данных объекты TextBox, ComboBox и тому подобные видеть в DataSource и DataField во время дизайна (design time). Буду весьма благодарен если если кто пришлет примерный проект для работы с базой Access через DAO. Спасибо.
0
|
|
09.07.2007, 11:14 | |
Ответы с готовыми решениями:
8
Как открыть базу dbf 2.6ver.. через DAO Проблема открытия DBF через DAO Как закрыть меню через секунду, после открытия (0) Как связать два combobox так, что бы они зависили друг от друга, через базу данных? |
Karamba
|
|
09.07.2007, 14:06 | 2 |
в принципе, у тебя все правильно. вот тока recordset у тебя немного неправильно открывается. ниже кидаю свой пример. он открывает базу, открывает таблицу Titles, выводит какое-то количество записей (а также их позицию). и в конце присваивает наш рекордсет DataControl-у, который в свою очередь увязан с DBGrid.
для использования примера положи на форму CommandButton, DataControl и DBGrid (подключи в компонентах, называется Microsoft Data Bound Grid Control 5.0). в пропертях DBGrid DataSource поставь Data1. скопируй пример и упражняйся ![]() Option Explicit Private Sub Command1_Click() Dim DB As Database Dim RS As Recordset Dim sSQL As String Dim iTmp As Integer Set DB = OpenDatabase('H:Program FilesMicrosoft Visual StudioVB98BIBLIO.MDB', , False) sSQL = 'select * from Titles' Set RS = DB.OpenRecordset(sSQL) RS.MoveFirst For iTmp = 0 To 5 Debug.Print RS.AbsolutePosition, RS.Fields(0).Value 'prosto vyvodim AbsolutePosition i znachenie pervogo polja v Debug RS.MoveNext Next ' prisvaivaem DataControl-u nash recordset Set Data1.Recordset = RS Data1.Refresh End Sub |
0 / 0 / 0
Регистрация: 08.07.2007
Сообщений: 5
|
|
09.07.2007, 15:25 [ТС] | 3 |
Спасибо за отклик, скопировал и упражняюсь
![]() Но есть проблемы, нижеследующая строка твоего кода не нравится компилятору: Set RS = DB.OpenRecordset(sSQL) говорит Type mismatch err-13 ну, чё делать дальше? и еше я прикрепил Data object и DBGrid к своему коду, но ощибки имеются.....
0
|
Karamba
|
|
09.07.2007, 16:02 | 4 |
чЮдеса, однако... странно.
ты DAO библиотеку в References прилепил? |
0 / 0 / 0
Регистрация: 08.07.2007
Сообщений: 5
|
|
09.07.2007, 16:22 [ТС] | 5 |
да конечно, как же без него?
ты сам попробовал свой код запустить ? или как профи выкладываеш из памяти? ![]()
0
|
Karamba
|
|
09.07.2007, 16:26 | 6 |
мог и по памяти, но таки прогнал сей скрипт. у тебя какой ВБ? у меня ВБ6 и Сервис Пак 5 к нему.
результат моего кода: 1. в Debuge пишет 0 dBASE III : A Practical Guide 1 The dBASE Programming Language 2 dBASE III Plus 3 Database Management : Developing Application Systems Using Oracle 4 Wordstar 4.0-6.0 Quick Reference Guide 5 Oracle Triggers and Stored Procedure Programming 2. в гриде показал всю таблицу Titles. не знаю что там у тебя не получилось, но в данном случае это чуть ли не христоматийный пример ![]() |
0 / 0 / 0
Регистрация: 08.07.2007
Сообщений: 5
|
|
09.07.2007, 17:40 [ТС] | 7 |
У меня тоже VB6.0, но никакого сервис ПАКа не было
![]() если знаеш подскажи откуда можно скачать?
0
|
Karamba
|
|
09.07.2007, 17:44 | 8 |
http://msdn.microsoft.com/vstudio/sp/vs6sp5/default.asp
|
saint
|
|
15.10.2007, 20:54 | 9 |
В References отключи ADO. У тебя Access 2000, иначе этой проблемы бы небыло.
Best regards, Alsin |
15.10.2007, 20:54 | |
Помогаю со студенческими работами здесь
9
Как запустить функцию через какое-то время после открытия формы? Как открыть большую dbf базу, используя DAO? Как открыть базу данных с паролем....используя DAO???? Связать базу данных Access через ADODC Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |