Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / И снова RecordsetClone / 9 сообщений из 9, страница 1 из 1
28.07.2003, 12:57
    #32219415
Ми
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова RecordsetClone
Код
Dim rst As Recordset
Set rst = Me.RecordsetClone // тут ошибка type mismatch 13

Нахожу в хелпе Аксесса, а также и в форуме, как с этим бороться:
Dim rst As DAO.Recordset
Set rst = Me.RecordsetClone ..... и получаю compile error 'user-defined type not defined' на DAO.Recordset. В чем дело?

Заранее спасибо
...
Рейтинг: 0 / 0
28.07.2003, 13:07
    #32219426
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова RecordsetClone
Сейчас народ налетит и будет кричать, что клоны плохо (ну это в зависимости от того, что дальше делать собираешься).
Что касаемо вопроса, в референсах DAO подключи и всё работать будет.
...
Рейтинг: 0 / 0
28.07.2003, 13:58
    #32219495
Ми
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова RecordsetClone
Если не трудно, расшифруйте термин "подключи DAO в референсах"... Какую волшебную строчку следует написать? Я в Access почти полный чайник.
...
Рейтинг: 0 / 0
28.07.2003, 14:02
    #32219498
Hummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова RecordsetClone
В окне модуля заходим в Tools-References, потом там выбираем MIcrosoft DAO 3.6 object library и ставим галочку, всё.
...
Рейтинг: 0 / 0
28.07.2003, 14:11
    #32219506
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова RecordsetClone
...
Рейтинг: 0 / 0
28.07.2003, 17:13
    #32219744
Ми
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова RecordsetClone
Спасибо. Положительная динамика есть, но до совершенства далеко :-)
Вот полный текст кода (между прочим, из хелпа, с незначительными изменениями)

Private Sub ClientID_AfterUpdate()
Dim rst As DAO.Recordset
Dim strSearchName As String
Set rst = Me.RecordsetClone
strSearchName = Me!ClientID
rst.FindFirst "Client = " & strSearchName // Client - ключевое поле
//если это имеет значение....
If rst.NoMatch Then
MsgBox "Record not found"
Else
Me.Bookmark = rst.Bookmark
End If
rst.Close
Set rst = Nothing
End Sub

Все прекрасно, в переменную strSearchName заносится значение поля со списком, скажем, 'Клиент1', после чего выдается сообщение:
'Run-time error 3070 The Microsoft Jet Database Engine does not recognize 'Клиент1' as valid field or expression".
Специалисты, поглядите, плиз, а то пример целиком из хелпа, и не фурыкает.
...
Рейтинг: 0 / 0
28.07.2003, 17:19
    #32219758
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова RecordsetClone
Попробуй добавить апострофы
rst.FindFirst "Client = '" & strSearchName & "'"// Client - ключевое поле
...
Рейтинг: 0 / 0
29.07.2003, 12:43
    #32220558
Ми
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова RecordsetClone
Всем спасибо, все работает. Так как этот вопрос (переход на запись с помощью поля со списком) доволно часто мелькает, привожу работающий код, может, кому понадобится:
Private Sub ClientID_AfterUpdate()
Dim rst As DAO.Recordset
Dim strSearchName As String
Set rst = Me.RecordsetClone
strSearchName = Me!ClientID
rst.FindFirst "Client = '" & strSearchName & "'"
If rst.NoMatch Then
MsgBox "Record not found"
Else
Me.Bookmark = rst.Bookmark
End If
rst.Close
Set rst = Nothing
End Sub
и хочу предупредить, на случай, если найдется еще такая бестолочь, как я - элемент 'Поле со списком' должен быть свободным (а у меня там в данных ссылка на ключевое поле стояла, и при выборе значения происходила попытка это поле изменить, хе-хе.....)
...
Рейтинг: 0 / 0
29.07.2003, 18:16
    #32221381
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
И снова RecordsetClone
а теперь задачка (в продолжение темы)

strSearchName - элемент поле со списком.


а в этом списке у тебя > 1000 записей, с тенденцией роста.
при малом числе записей - проще найти в тойже таблице.

а ты делаешь так - ищешь сначала в поле со списком - потом встаёшь на нужную запись в таблице.

если не влом , здесь есть поле для поиска набери в нем Lik
посмотри вариант.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / И снова RecordsetClone / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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