Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 recordset  [new]
italtd
Guest
Две АБСОЛЮТНО одинаоквые программки:
первый текст в
Private Sub Form_Open
(открывает форму Town)


второй, такой же, в
Private Sub Town_AfterUpdate()
(после выбора в списке в той же форме)

здесь пишет
no current record

вот текст:


Private Sub Town_AfterUpdate()
Dim MyDatabase As Database, MyTable As Recordset
Dim MyTableDef As TableDef, MyField As Field, MyIndex As Index
Dim Студент As Integer
Dim Город As String
Dim Town As String


Set MyDatabase = DBEngine.Workspaces(0).Databases(0)


Town = (Forms!Форма11!Town) ' Значение Town допустимое, проверял!

Set MyTable = CurrentDb.OpenRecordset("SELECT TOP 1 * FROM Студенты WHERE (((Студенты.Город) = """ & Town & """));", dbOpenDynaset)

'запрос правильный, в первой проге работает!

Me![Студент] = MyTable(Студент) ' здесь, после запроса ругается - no current record


MyTable.Close

End Sub


Helppls!
20 апр 04, 17:40    [638817]     Ответить | Цитировать Сообщить модератору
 Re: recordset  [new]
Roma R
Guest
1. Me![Студент] = MyTable("Студент")
2. Запрос то может и правильный, но он может не возвратить ни одной строки (такие данные в таблице)
После
Set MyTable=...
поставьте проверку
if MyTable.Recordset=0 then
msgbox "Нет записей"
Exit sub
end if
20 апр 04, 18:16    [638944]     Ответить | Цитировать Сообщить модератору
 Re: recordset  [new]
АлексейК
Member

Откуда: http://www.msdatabase.ru , Moscow
Сообщений: 7683
наверное во второй программке часть данных удалена

после выполнения запроса - рекордсет пустой - без записей

чего от него хотеть?
20 апр 04, 18:17    [638950]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить