powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Ошибка Type mismatch
4 сообщений из 4, страница 1 из 1
Ошибка Type mismatch
    #37066920
Azeke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет
Мне нужно написать функцию которая из базы Аксес берет перечень сажает его в массив и возвращает его.
Спаткнулся на 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
Ошибка Type mismatch
    #37067080
kinotaurus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Azeke,

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

Код: plaintext
1.
2.
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
...
Рейтинг: 0 / 0
Ошибка Type mismatch
    #37074175
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Tools-Reference стоит ссылка на DAO ?
...
Рейтинг: 0 / 0
Ошибка Type mismatch
    #37074214
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Ошибка Type mismatch
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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