Имя: Пароль:
1C
 
Cannot open File
0 Балбес
 
02.11.07
09:54
База = СоздатьОбъект("OLEDBData");
Соединение = "Provider=VFPOLEDB.1;Deleted=Yes;Data Source=" + КаталогИБ()+ ";Mode=ReadWrite;Mask Password=False;Collating Sequence=RUSSIAN;";
   Рез = База.Соединение(Соединение);
   Запрос = База.СоздатьКоманду();  
   
   ТекстЗапроса = "
   |SELECT
   |    Спр.Code as Код,
   |    Спр.Descr as Наименование
   |FROM
   |    $Справочник.Новый1 as Спр";

   ТЗ = Запрос.ВыполнитьИнструкцию(ТекстЗапроса);
   ТЗ.ВыбратьСтроку();

Выдает ошибку
Cannot open file sc12.dbf

Я так понимаю он занят самой одноэской. Как поправить, чтобы выполнялся запрос???
1 pectopatop
 
02.11.07
10:05
что прямо "Cannot" ?
2 Балбес
 
02.11.07
10:06
(1) Да
3 pectopatop
 
02.11.07
10:08
странное очень уж словечко..
4 Балбес
 
02.11.07
10:09
(3) Флудим??? :))). Помоги плиз.
5 pectopatop
 
02.11.07
10:09
Апим, ветку
6 Балбес
 
02.11.07
10:11
(5) Ясно.
7 pectopatop
 
02.11.07
10:13
у меня говорит:

Рез = База.Соединение(Соединение);
{Отчет.новый1.Форма.Модуль(4)}: FAILED! IDataInitialize::GetDataSource(): Класс не зарегистрирован

...
8 pectopatop
 
02.11.07
10:14
драйвер надо видимо..
9 Балбес
 
02.11.07
10:16
(7) Зарегистрируй vpfoledb.dll Если нету, то скачай у мелкософтов.
10 pectopatop
 
02.11.07
10:24
База = СоздатьОбъект("OLEDBData");
   Соединение = "DSN=test1;";
   Рез = База.Соединение(Соединение);
   Запрос = База.СоздатьКоманду();  
   
   ТекстЗапроса = "
   |SELECT
   |    Спр.Code as Код,
   |    Спр.Descr as Наименование
   |FROM
   |    $Справочник.Новый1 as Спр";

   ТЗ = Запрос.ВыполнитьИнструкцию(ТекстЗапроса);
   ТЗ.ВыбратьСтроку();

=====

ТЗ = Запрос.ВыполнитьИнструкцию(ТекстЗапроса);
{Отчет.новый1.Форма.Модуль(16)}: Meta name parser error: объект не найден "$Справочник.Новый1"

Т.е. вроде твоя проблема обойдена.. ???
11 smaharbA
 
02.11.07
10:27
а нафига фокспрошный ? чте без негото никак чтоли ?
12 Балбес
 
02.11.07
10:29
(11) Я не в курсах. Я только учусь . Делаю учебный пример.
13 Балбес
 
02.11.07
10:30
(10) Когда он найдет этот справочник, он тебе сообщит о том, что он не может открыть таблицу.
14 pectopatop
 
02.11.07
10:32
(13) имеется ввиду:

ТЗ = Запрос.ВыполнитьИнструкцию(ТекстЗапроса);
{Отчет.новый1.Форма.Модуль(16)}: FAILED! ICommandText::Execute(): [Microsoft][Драйвер ODBC dBase] Непредвиденная ошибка драйвера внешней базы данных (15877).

???

это если
$Справочник.Номенклатура as Спр
15 pectopatop
 
02.11.07
10:34
а, да, и Делфи тоже говорит, мол таблица занята. угу значит, самой 1С
16 pectopatop
 
02.11.07
10:35
(15) + в монопольном режиме...
а в НЕМОНОПОЛЬНОМ - таблица открывается нормально..
(В Делфи, паралельно с 1С)
17 pectopatop
 
02.11.07
10:36
Зато из 1С - один фиг - не открывается. значит косяк в запросе (который у меня)

   База = СоздатьОбъект("OLEDBData");
   Соединение = "DSN=test1;";
   Рез = База.Соединение(Соединение);
   Запрос = База.СоздатьКоманду();  
   
   ТекстЗапроса = "
   |SELECT
   |    Спр.Code as Код,
   |    Спр.Descr as Наименование
   |FROM
   |    $Справочник.Номенклатура as Спр";

   ТЗ = Запрос.ВыполнитьИнструкцию(ТекстЗапроса);
   ТЗ.ВыбратьСтроку();
18 КонецЦикла
 
02.11.07
10:36
Боян
Либо использовать пропатченный драйвер, либо заходить немонопольно
19 Балбес
 
02.11.07
10:38
(18) Спасибо родной
20 Балбес
 
02.11.07
10:50
(18) мот сцылко подаришь на пропатченный драйвер??