Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: VB

Программирование VB

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не определяется база данных
 
 автор: lommike   (12.08.2007 в 13:35)   личное сообщение
 
 

Проблема следующего плана.
Программа писалась очень давно на VB4, VB5, VB6 под ОС Windows 2000. При попытке запустить её в VB6 под Windows XP возникает ошибка (последующее зацикливание) после следующего кода:

Private Sub Form_Load()
Dim rs1 As DAO.Recordset
Dim i As Integer, j As Integer
On Error Resume Next
Set db = Workspaces(0).OpenDatabase(App.Path & "\NameDB.mdb")
Set RS = db.OpenRecordset("Staff", dbOpenDynaset)
Set rs1 = db.OpenRecordset("User rights")

If rs1.RecordCount Then
rs1.MoveLast
ReDim Rights(rs1.RecordCount, 14)
rs1.MoveFirst
Do Until rs1.EOF
i = i + 1
For j = 1 To 14
Rights(i, j) = Trim(rs1.Fields(j - 1).Value)
Next j
rs1.MoveNext
Loop
End If

Не определяется база данных. Т.е. после строки
Set db = Workspaces(0).OpenDatabase(App.Path & "NameDB.mdb")
значение db – “nothing”.
Ну и соответственно все проблемы после.
На Windows 2000 всё проходит без проблем.
Какая то проблема с XP. В References помимо прочего установлены Microsoft DAO 2.5/3.0 Compatibility Library, Microsoft ActiveX Data Objects 2.0 Library и Microsoft ActiveX Data Objects Recordset 2.8 Library (именно в таком порядке). Очень нужна помощь или подсказка!

С уважением!

  Ответить  
 
 автор: ДрЮня   (12.08.2007 в 18:32)   личное сообщение
 
 

навскидку, попробуйте так (возможно не хватает обратного слеша)

Set db = Workspaces(0).OpenDatabase(App.Path & "\NameDB.mdb")
и посмотрите, чтобы в папке, из которой запускается ехе файл лежала БД "NameDB.mdb"

  Ответить  
 
 автор: Doc_i   (25.09.2007 в 12:44)   личное сообщение
 
 

Я бы еще попробовал добавить в код CreateWorkspace. Кстати, а Access на компе установлен? Под ХР в окне ссылок DAO 2.5/3.0 нет, есть DAO 2.5/3.5 и выше. Так что может есть смысл заменить хотя бы на 3.51

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList