Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.05.19;
Скачать: [xml.tar.bz2];

Вниз

ADO и Excel   Найти похожие ветки 

 
DmitryNekl   (2003-04-28 13:59) [0]

Помогите, пожалуйста!

Учусь работать с ADO. Хочу подсоединиться к книге Excel и перекачать оттуда инфу. Вроде понятно, как это сделать, кроме одного: у компонента ADOTable есть свойство TableName.
Что это в случае с Excel и где его взять?

Заранее спасибо! :)


 
sniknik   (2003-04-28 14:08) [1]

листы, вроде этого [Sheet1$].
книга - база.
листы - таблицы


 
KoluChi   (2003-04-28 14:30) [2]

db.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\temp\temp.xls;Extended Properties=""Excel 8.0;""";
db.Open();
rs.ActiveConnection = db;
rs.CursorType = 3;
rs.LockType = 2;
rs.Source = "Select * from [Лист1$]";
rs.Open();
while rs.Eof()=0 do
//обрабатываем Recordset
rs.MoveNext();
end;
rs.Close();
db.Close();


 
DmitryNekl   (2003-04-28 14:31) [3]

А вот не работает... Соединение с файлом происходит, а в выпадающем списке в свойстве TableNAme - пусто :(


 
KoluChi   (2003-04-28 14:37) [4]

А ручками написать?
Советую пользоваться Query.


 
sniknik   (2003-04-28 14:39) [5]

А без кавычек? так к примеру
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Книга 1.xls;Extended Properties=Excel 5.0;Persist Security Info=False

и проверь что у тебя ADOTable с коннектом связан (ADOConnection).


 
sniknik   (2003-04-28 14:40) [6]

KoluChi © (28.04.03 14:37)
Query отстой, ADODataSet рулез.


 
DmitryNekl   (2003-04-28 14:42) [7]

2 KoluChi

А что такое db? Какой компонент?

Я что сделал... Разместил на форме ADOConnection и ADOTable. В ADOConnection подключился к файлу (ConnectionString) (причем успешно, тест проходит), ADOTable.Connection:=ADOConnection. ADOConnection.Connected:=True;

И потом смотрю ADOTable.TableNAme - пусто. При попытке ADOTable.Active:=True получаю: missing TableName property.

Попробовал все в виде кода:

ADOTable2.TableName:="catalog$";
ADOTable2.Active:=True;
ADOTable2.First;
For i:=0 to AdoTable2.RecordCount-1 do
begin
for j:=0 to ADOTable2.FieldCount-1 do
begin
Write(F, ADOTable2.Fields[j].AsString);
end;
Writeln(f,"");
AdoTable2.Next;
end;
ADOTable2.Active:=False;

И не работает... Кстати, а зачем после имени листа "$"?


 
sniknik   (2003-04-28 14:51) [8]

ADOTable2.TableName:="[catalog$]";

> И не работает... Кстати, а зачем после имени листа "$"?
а сделай ADOConnection.GetTableNames(); и посмотри что выдаст.


 
DmitryNekl   (2003-04-28 14:53) [9]

Всем спасибо, разобрался! Заработало :))))


 
KoluChi   (2003-04-28 14:58) [10]


> sniknik © (28.04.03 14:40)
> Query отстой, ADODataSet рулез.

Та же байда, только вид сбоку. Я не думаю, что в данном случае с Excel, нужно изменять данные. Все не Table.


 
sniknik   (2003-04-28 15:17) [11]

KoluChi © (28.04.03 14:58)
Та же байда, только вид сбоку.

не сбоку а вообще "довесок", что ADOTable что ADOQuery оба потомки от ADODataSet. причем с ограничениями свойств и только для "облегчения перехода" к "истинным" ценностям (ADODataSet, ADOCommand) :о)) (почти дословно из руководства).
и в данном случае (да и вообще), использование ADOQuery то же самое что и ADOTable (не по стилю работы конечно а по "устаревшести").
(не говоря уже о том что с Query совсем нельзя сравнивать)

а если понимаеш что это "Та же байда" зачем советовать?


 
KoluChi   (2003-04-28 16:15) [12]

Я же не настаиваю, а советаю. Разговор ни о чем...



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

Форум: "Базы";
Текущий архив: 2003.05.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.006 c
1-59773
Arkady
2003-05-06 11:08
2003.05.19
TOpenDialog


7-59966
Xoy
2003-03-20 10:42
2003.05.19
как отловить окончание данных в COM порте


14-59871
ooooooo
2003-04-29 10:00
2003.05.19
Как программно отправить SMS?


1-59749
Ghost_
2003-05-06 10:21
2003.05.19
ShellListView


1-59674
Andrushka
2003-05-07 15:31
2003.05.19
Как сжать шрифт по горизонтали? (типа condensed при печати из DOS





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский