Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: lommike
Проблема следующего плана.
Программа писалась очень давно на 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 (именно в таком порядке). Очень нужна помощь или подсказка!

С уважением!


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.