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

 

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

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

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

ник: Анатолий (Киев)


что может быть не так ?


Всё не так!

Set rs = db.OpenRecordset("Клиенты")
Здесь вы открываете rs = на таблице "Клиенты"

Set rs = Me.RecordsetClone
И тут же заменяете данные записями из источника формы, хотя по фразе "а оно точно
есть в таблице клиенты" - всё-таки в "клиенты". Видимо эта строчка лишняя.

rs.FindFirst "[id] = " & Me![НазваниеКомпании] ругается на id, что нет такого поля...
Если предыдущую строчку отмените, то, видимо, поле [id] будет, но какой тип поля Me![НазваниеКомпании]? Если текстовый, то строка критерия - неправильная, особенно, если [id] - числовое.

Me.Bookmark = Me.RecordsetClone.Bookmark
Какой смысл в этой строчке? Вы ищете запись в другом наборе, не имеющем отношения к источнику формы.

Объясните смысл вашей задачи.
Me![НазваниеКомпании] - поле или поле со списком?

И еще:
1. Если таблица "Клиенты" - родная (не прилинкованная), то Set rs = db.OpenRecordset("Клиенты") откроет Recordset, не поддерживающий методы Find. Нужно явно указывать его тип.
2. После выполнения поиска всегда проверяйте св-во NoMatch.
3. Вместо DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70 можно с успехом применить Me.Refresh или Me.Dirty = False.


Ваше имя:

Пароль:

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

Сообщение:

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

Прикрепить:

 

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