![]() |
HELP !!! разучился программировать
Доброго времени суток всем
Не брал access в руки очень давно. Стоит офис ХР, раньше писал на 97 Проблемма Не могу открыть готовую таблицу для дальнейшей обработки вот пример Dim Db Dim R As Recordset Set Db = CurrentDb Set R = Db.openrecordset("Движение") или Set R = Db.openrecordset("select * from Движение") |
Хотелось бы сразу уточнить, что имеется в виду:
Цитата:
|
точно
не стаяла галочка. Решпект. Кстати, я пробовал на разных машинах, везде одно и то же. И еще, там библиотека dao 3.51. Наверное смысла нет включать и ее? PS И еще... Почему у меня помощь то на русском выйдет, а в основном на английском. Может ему где почесать надо? и еще почему при выполнении Set R = Db.openrecordset("select * from Движение Where id=" & параметр) выдает Слишком мало параметров, требуется хотябы 1 ??? :mad: При этом, если ему дописываешь ..., dbOpenTable, dbReadOnly) при выполнении говорит что объект (далее строка моего запроса) не найден ядром базы данных и т.д. проверял, запрос написан правильно Уже чуствую себя идиотом :молись: |
DAO нужно включать только одну, да их две сразу (допустим 3.6 и 3.51) включить всё равно не получится, это же одна библиотека, просто версии разные. DAO 3.6 будет достаточно.
Помощь в Офисе 2002 вся такая, мне не известно что можно сделать чтобы это исправить. Про "слишком мало параметров" снова слишком мало информации. Что такое "Движение" -- таблица или запрос? Что такое "параметр" -- переменная, константа? Какой у неё тип и значение? Какие поля есть в таблице, какой у них тип? Для проверки я создал таблицу "Движение" с полями Id (длинное целое) и Txt (текстовое). Вот такой код работает без проблем: Код:
Dim Db As Database |
Во блин мелкософт набородил огород.
Цитата:
Dim Db As Database Dim R As Recordset Dim параметр Set Db = CurrentDb параметр = 1 Set R = Db.OpenRecordset("select * from Движение Where id=" & параметр) "Движение" это таблица. Проверял в построителе запросов - все работает. Причем копировал запрос через отладчик, а не набирал вручную. Нашел другой выход убрал в строке "Dim R As Recordset" As Recordset все заработало. Шаманство какое-то Вобщем-то огульными путями проблему решил, прогу написал, все работает. :idontnow: Непонятности только раздражают |
Это у тебя наверно в ссылках подключена библиотека "Microsoft ActiveX Data Objects". Отключи её, она скорее всего тебе не нужна, или пиши "Dim R As DAO.Recordset". Как включать/отключать библиотеки, см. выше
|
Цитата:
Кстати о птичках, я в кишках у него не лазил, ни чего не перенастраивал. Понадобился access - просто установил и все. Комп новый. Как же так получилось что у меня подключено всё наоборот? Хотя вопрос наверное не к тебе, а к дяде Билу. А еще бы я хотел у него спросить, почему у меня помощь только в accesse (пока только) выдается кракозяблами вместо русских букв (там где она есть, все таки есть русская помощь) |
Цитата:
|
не Recordset, а DAO.Recordset, т.к. ADO также имеет Recordset object (не помню то ли OLEDB.Recordset, то ли ADO.Recordset) вот они и конфликтуют. Думаю, что в Office 2002 по умолчанию в references стоит ADO, а не DAO
по поводу того, что отключать или нет ADO, то это большой вопрос, т.к. Microsoft официально DAO не поддерживает, хотя внутри спрятал DAO for compatibility, так что будет еще тот букет... (часть кода на DAO, часть на ADO). Кроме того надо еще проверить конфликты, если нес-ко пользователей. Я переводил front-end Access97 (DAO) на front-end VB6(disconnected ADO)/back-end Access97. Так пока они не вырубили все старые системы, на новой не всегда происходил Insert/Update, хотя не было ни единой ошибки |
| Часовой пояс GMT +4, время: 14:20. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.