Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Ошибка Type mismatch / 4 сообщений из 4, страница 1 из 1
19.01.2011, 15:11
    #37066920
Azeke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка Type mismatch
Привет
Мне нужно написать функцию которая из базы Аксес берет перечень сажает его в массив и возвращает его.
Спаткнулся на OpenRecordset пишет ошибку Run-time Error '13': Type mismatch.
Вот функция:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Function poezd(id As Integer)
    Dim db As Database
    Dim rs As Recordset
    Dim Arr() As String
    Set db = DBEngine.OpenDatabase(PathFile & "\NSI.mdb")
    Set rs = db.OpenRecordset("select POEZD_NUM" & _
                              " from POEZD" & _
                              " where TRANSR_ID=3", dbOpenDynaset)
    l% =  0 
    For Each s In rs
        l% = l% +  1 
    Next s
    
    ReDim Arr(l% -  1 )
    l% =  1 
    
    For Each r In rs
        Arr(l%) = r.poezd_num
        l% = l% +  1 
    Next r
    rs.Close
    Set rs = Nothing
    poezd = Arr
End Function
...
Рейтинг: 0 / 0
19.01.2011, 15:51
    #37067080
kinotaurus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка Type mismatch
Azeke,

Попробуй так:

Код: plaintext
1.
2.
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
...
Рейтинг: 0 / 0
23.01.2011, 22:16
    #37074175
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка Type mismatch
В Tools-Reference стоит ссылка на DAO ?
...
Рейтинг: 0 / 0
23.01.2011, 22:53
    #37074214
скукотища
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка Type mismatch
Azeke,
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
'...
Set rs = db.OpenRecordset ...

If Not rs.EOF Then
  rs.MoveLast
  l = rs.RecordCount
  rs.MoveFirst
  ReDim Arr(l -  1 )
  l =  0 
  Do 
    Arr(l) = rs( 0 )
    rs.MoveNext
    l = l +  1 
  Loop Until rs.EOF
End If

rs.Close: Set rs = Nothing
db.Close: Set db = Nothing
' ...
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Ошибка Type mismatch / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]