![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
вызов запросов из Access97 [D6, Access97]
Andrushk © (2002-09-06 15:24:00)Как с помощью ADO-шных компонент вызвать запрос находящийся в mdb-ке Access97, если использовать ADOStoreProc то он ругается: Невозможно найти устанавливаемый ISAM; хотя ADODataSet использующий туже udl-ку работает замечательно.
Andrushk (2002-09-10 15:41:00) [1]ok, спасибо большое :-))
sniknik (2002-09-09 16:02:00) [2]ISAM FoxPro после Jet 3.5 не поддерживается. (может и позже боюсь ошибится) в 4.0 точно нет. MDAC (mdac_typ.exe) старый содержит Jet и ISAM-мы FoxPro (версию не знаю) но вряд ли старый поверх нового встанет. Попробовать конечно можно, насколько это принципиально? Да я пытался реестр править переносил из Fox 3 го в 4 й, не получилось ничего :-((.
пользуйся dBASE если не считать индексов то различий нет (может еще мемо поля). Смотря для чего это тебе нужно. Если нужно именно FoxPro то в крайнем случае можно через ODBC и foxpro подключить (Visual FoxPro драйвера обычно есть, только отличий между Visual FoxPro и FoxPro гораздо больше чем FoxPro и dBASE).
Andrushk (2002-09-09 15:06:00) [3]а как установить ISAM? я посмотрел, у меня нет FoxPro, dBaseIII вот есть
sniknik (2002-09-09 10:46:00) [4]Не понимаю в чем проблема надо используй, сам вроде этого делал опять же перегонять между разными форматами таблиц удобно если часто приходится.
вот в mdb описан Query имя KEYS
SELECT *
FROM FKEYS IN "D:\"[dBASE IV;];
В дельфях вызываю SELECT * FROM KEYS
просто. если в Acces срабатывает то и в дельфях должен вызватся главное ISAM должен быть установлен, список установленых смотри в реестре ветка.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\ISAM Formats
Andrushk (2002-09-09 10:01:00) [5]блин, sniknik, ты крутой чувак, прямо в точку, спасибо блин большое :-))
самое обидное, что мне эти линки на FoxPro"шные таблички и не нужны были, вышло просто так
а вот если всетаки у меня в mdb-ку вставлены FoxPro-шные таблицы, запрос использует их, да вобщемто только их и использует, как мне его из Делфей вызвать? от Acces отказываться неохота, поскольку программу написал, откомпилировал и все, больше ее не трогаешь, надо запрос поменять - пожалуста, в mdb-ке поменял, ничего перекомпилировать не надо
sniknik (2002-09-06 18:03:00) [6]да главное забыл если например в приведенных запросах вместо dBase III написать dBase 3 то получиш такую ошибку про ISAM -ы типа не найденные.
sniknik (2002-09-06 18:01:00) [7]ISAM обычно не находит по другому поводу, не связано с процедурами, а если обрашаешся к внешним базам например
INSERT INTO [dBase III;DATABASE=D:\].[3#DBF] (FIRM_NAME,ARTIKL,CODE,[CURRENCY],[DATE],UNIT,PRESISION,[SIZE],GROOP1,GROOP2,GROOP3,GROOP4,GROOP5,COST,GRCODE,ENABLEX) SELECT NAME,ARTICUL,ARTICUL,"RUB",MODDATE,MESURIMENT,iif(MESPRESISION=0,0.001,MESPRESISION),iif(SCALE="NOSIZE","",SCALE),GROOP1,GROOP2,GROOP3,GROOP4,GROOP5,PRICERUB,CLIENTINDEX,iif(DELETED=1,"E","D") FROM [Paradox 3.x;DATABASE=D:\].[3#DB].
здесь из Paradox таблици в dBase данные перекладываются но основное подключение к базе *.MDB аксесовской.
возможно у тебя в твоем запросе обрашение к внешним базам? (не обязательно в такой форме может быть прилинкованая таблица может обращение вида SELECT * FROM CASHMAN IN "D:" "dBASE IV;" или подобное)? а ты на процедуры грешиш. ?
Andrushk (2002-09-06 17:13:00) [8]я первым делом попробовал вызвать как просто таблицу, ошибка таже вываливается
еще кстати вопрос, если процедуре надо передать параметры КАК это сделать?
я так понимаю и через StoreProc должно работать, может кто-то сталкивался с такой же ошибкой как у меня и скажет в чем дело
sniknik (2002-09-06 16:05:00) [9]бывает временами
Mike Kouzmine (2002-09-06 15:59:00) [10]Какой Вы щепетильный! ;)
sniknik (2002-09-06 15:52:00) [11]я не про то, просто как то неправильно запрос в одну стороку (а других проц. в Access нет)процедурой обзывать. Душа не принимает и болит. :-)) а так конечно пожалуйста раз работает.
Mike Kouzmine (2002-09-06 15:48:00) [12]sniknik © -> А что тут крутого. Работает и слава аллаху.
sniknik (2002-09-06 15:46:00) [13]А не слишком круто ADOStoreProc использовать? полноценных процедур в Access-е нет, вызывай как будто это просто таблица
для примера
SELECT * FROM TBQUERY
в Access в кверях описано как
SELECT * FROM TB WHERE ID<=3;
использовать ADODataSet, ADOQuery, ADOCommand