MS Access + VB

visual basic access dao

Имеется в наличие БД на MS Access. К ней фронтэндом (пользовательской частью) в комплекте идет программка, написанная на VB (исходников нет, 100% рабочая).
Имеем такую беду, что при попытке запуска программы выдает
Run-time error '9' Subscript out of range.
Я помню, что когда я в прошлый раз копался с ней дело лечилось с помощью то ли MSDAC, то ли MS DAO, но беда в том, что и то, и другое уже стоит и ничего не пашет.
Может кто точно знает, какие компоненты нужны для связки Access и VB?

Примечание:
Офис 2003 стоит свежеустановленный.
Дело не в бейсике, как таковом, а именно в связке Access+VB.
Если быть точным программа открывается, но ошибку выдает при любом тычке к БД.

Примечание:
Прога отдельно написанная.
Встроенную я бы расковырял бы.

Примечание:
Я думаю получается так:
допустим я нажимаю поиск по критерию, ввожу критерий, после этого должен идти запрос в БД и возвращаться или 0 или данные, так вот из-за того, что не происходит запрос в БД происходит возврат null и из-за этого получаем ошибку, что данные лежат вне диапазона.

Примечание:
Офисом база нормально открывается. Базу она видит, так как коннект прописан в текстовом файле.
Видеть видит, но не подключается (чего-то не хватает ей)

Примечание:
От версии офиса совершенно не зависит.
Знаю машины где это прекрасно работает в связке с 97 офисом, и с 2000, и с ХР.

Примечание:
И текстовый файл она видит, если бы не видела, то она другую ошибку пишет.

Примечание:
.NET и иже с ним VB.NET, ADO.NET там не используется - это точно.
C++ Redistributable не помог.

Примечание:
С автором связаться не получится - это точно.
Readme нет.
.NET там вообще не нужен. Даже если его поставить это ничего не изменит в моем случае.

Примечание:
archangel_546
А я сам и пишу в БД, мне просто нужно проверить, что то чему я делаю update нормально потом выцепляется программой и не тянет за собой ничего лишнего. Там структура связей таблиц в БД - бешенная.

Примечание:
Ну вот и крайнее дополнение.
Бешеная структура - это 90 таблиц и каждая из них связанна друг с другом причем соотношения разные.
Я не разработчик этой дури - меня просто пропросили посмотреть на нее.
Ответы:
Насколько я помню, в офис встраивалась мини-версия бейсика и она работала сама по себе.
Попробуйте переустановить офис
То есть прога писалась не на встроенном бейсике?
Если бейсик встроен, то можно глянуть код проги и проверить его правильность.
Ошибка выдаётся типа "Подпись вне допустимых пределов".
К чему это может быть применимо?
Тогда фозможно прога не находит базу?
Офисом база сама открывается?
Есть ещё вариант что база создана в 2007 офисе
На других компах запускается?
А текстовый файл она кстати видит?)))
А именно сам компонент офиса установлен?
или мож скачать что-то типа .Net Framework или C++ Redistributable?
.net стоит? помогает во многих случаях. лишней не будет.
а ридмишки нет для проги никакой?
Или с автором связаться?
Вы бы сами запросик на SQL написали и не мучили себя сомнениями и всякими VB.
Бешеная структура связей это что, сколько там у вас таблиц в БД, я делал БД с 30 таблицами, но это по неопытности, вы можете сказать, сколько у вас таблиц, сколько строк и сколько она объёмом. И вообще, бешеные структуры в Access не делают, для это есть соотв СУБД.
90 таблиц !!! я вам сочувствую, что за идиот делал эту БД. Структура базы данных намеренно запутанная, скорее всего, я так понял, человек страховался от увольнения, вы, видимо, хотите перенести информацию в оптимизированную БД. Вы не пробовали вначале оптимизировать БД, анализатором таблиц - возможно он сможет её упростить: Сервис - Анализ, ну и т.д., только на всякий случай сделайте резервную копию, для отката, в случае неудачи.
Придется с жениного аккаунта писать.
archangel_546
Я не собираюсь ничего оптимизировать - это не моя работа. Просто хорошие знакомые попросили внести некоторые правки в данные, причем все легально и законно, просто не хочется им заниматься рутиной и вручную это все делать. Внести-то я уже внес, а для проверки нужно запустить эту программу и проверить, что все нормально внес, а если неправильно, то внести корректировки.
KrasivayaSvo, то есть вы хотите сказать, что у вас есть некая внешняя по отношению к Access программа (не внутренний скрипт на VBA), которая выдает ошибку типа выхода за границы значения/поля? И вы к тому же не можете даже ее исходный код посмотреть? Сложно что-либо советовать.
Вряд ли вам здесь кто-то поможет.
P.S. попробуйте обратиться в форум www.sql.ru (там есть раздел про Access).
Еще раз предупрежу, что пишу с жёниного аккаунта.
skipjack
Нет, не внутренний скрипт, а именно программа, написанная на VB (не VB.NET).
Ну я не разработчик, так что исходного кода - нету.
Я за вечер, убитый на шаманство с этой связкой, добился того, что ошибка скорее всего кроется не в коннекте к БД, а в отрисовке, аналога dbdatagrid из delphi (к сожалению не знаю, как это в VB называется).
Вот теперь бы еще узнать, какой компонент за это отвечает и подменить его на нужный :-)


16 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.