Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.16;
Скачать: CL | DM;

Вниз

Динамическое создание-подключение к таблице   Найти похожие ветки 

 
vic1   (2004-12-13 09:48) [0]

Использую ADO
Уважаемые Мастера, почему при динамическом создании таблицы и ее последующем открытии получаю ошибку, что объект не найден. А когда прохожусь по коду в реж отладки - все работает? Может таблица не успевает создаться и зарегистрироваться - как с этим бороться?

Спасибо.


 
janb   (2004-12-13 10:05) [1]

Kak ti ee sozdaesh?
Kak otkrivaesh?


 
vic1   (2004-12-13 11:17) [2]

Данные переношу из Excel - как-то взял здесь на форуме:

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
f_name:=copy(ExtractFileName(s),1,length(ExtractFileName(s))-4);
ADOQuery1.SQL.Add("SELECT * INTO "+f_name+
  " FROM [Лист1$] IN ""+s+" " "Excel 8.0;"");
ADOQuery1.ExecSQL;

Затем мне нужно получить доступ к полям, чтобы переименовать их:

     ADOQ_.Close;
     ADOQ_.SQL.Clear;
     ADOQ_.SQL.Add("SELECT * from "+f_name);
     ADOQ_.Open;
     n:=ADOQ_.FieldCount;
     for i:=0 to n-1 do
     begin
       ListBox1.Items.Add(ADOQ_.Fields[i].FieldName);
       //////
       ShowMessage(ADOQ_.Fields[i].FieldName);
     end;
     ADOQ_.Close;

При пошаговом проходе Listbox заполняется.


 
sniknik ©   (2004-12-13 12:14) [3]

код неполный (не все что нужно показано...) но догадатся можно (наверное ;)

решения (по догадкам)
1 поставить задержку между первым и вторым блоками кода т.е.
...
ADOQuery1.ExecSQL;

sleep(5000);

ADOQ_.Close;
...

2 пользоваться тем же компонентом
...
ADOQuery1.ExecSQL;

ADOQuery1.Close;
ADOQuery1.SQL.Clear;
...

3 настроить конект правильно (один в обоих компонентах)


 
sniknik ©   (2004-12-13 12:16) [4]

и кстати
> Затем мне нужно получить доступ к полям, чтобы переименовать их:
странная фраза. возможно все делается не так.


 
vic1   (2004-12-13 12:45) [5]

По умолчанию поля имеют имена f1, f2, ...
Мне в таблице нужны свои имена так как по ним идет обращение, может можно сделать это сразу при импорте как-то.

Спасибо sniknik.


 
vic1   (2004-12-13 13:19) [6]

sniknik ©  - а можно ли при импорте из таблицы указать в самом запросе имена полей?


 
sniknik ©   (2004-12-13 18:17) [7]

конечно можно в запросе делать переопределение

select f1 as f10, f2 as f20 ...



Страницы: 1 вся ветка

Текущий архив: 2005.01.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.068 c
4-1101562207
Express
2004-11-27 16:30
2005.01.16
Перевод компьютера в режим пониженного энергопотребления


14-1103982756
OneFragLeft
2004-12-25 16:52
2005.01.16
Войти на другой комп


14-1103907381
Aldor_
2004-12-24 19:56
2005.01.16
WinXP - когда вставляю флэшку, винда виснет


3-1102664346
abell
2004-12-10 10:39
2005.01.16
Как записать кртинку из bmp-файла в таблицу Access?


3-1103093807
Vogres
2004-12-15 09:56
2005.01.16
Преобразование даты