|
Работа с Excel через ADO.
|
|||
---|---|---|---|
#18+
Да, пожалуй, это извращение, однако почему бы и нет? :) Работаем с листами Excel, как с таблицами - вроде удобно и не запарно. Создаю таблицу (лист) через ADOQuery: Код: plaintext 1.
Все нормально создается: Теперь я вставляю под эти поля данные (через Excel обычным копипастом). Но далее почему-то через запрос: Код: plaintext 1.
возвращается пустой результат: Field1 Field2 Тогда я добавляю туда данные запросом (предварительно удалив оттуда все значения под названиями полей): Код: plaintext 1.
И после этого вновь делаю выборку: Код: plaintext 1.
И получаю: Field1 Field2Александр Попов Я же хочу вбить туда (в лист Excel) свою инфу (обычным копипастом), чтобы потом можно было выборкой все эти данные получать. Но почему-то не получается. Я не понимаю в чем тут секрет. Пробовал копировать формат этой записи (которую добавил через INSERT) - все равно не сработало :( Подскажите, пожалуйста, в чем тут дело? Благодарю! ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2012, 19:42 |
|
Работа с Excel через ADO.
|
|||
---|---|---|---|
#18+
К С++ это не относится. Это вопрос по Экселю и его версии "базы данных". Модератор: Тема перенесена из форума "C++". ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2012, 19:46 |
|
Работа с Excel через ADO.
|
|||
---|---|---|---|
#18+
The_Immortal... Теперь я вставляю под эти поля данные (через Excel обычным копипастом). ... "Сохранить", нажми, даа ... ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2012, 19:49 |
|
Работа с Excel через ADO.
|
|||
---|---|---|---|
#18+
qwerty112, Не понял Вас на этот раз :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2012, 19:52 |
|
Работа с Excel через ADO.
|
|||
---|---|---|---|
#18+
The_Immortalqwerty112, Не понял Вас на этот раз :) нуу, после того как вставил копипастом, и перед программным селектом, страницу нужно сохранить ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2012, 19:54 |
|
Работа с Excel через ADO.
|
|||
---|---|---|---|
#18+
qwerty112, Нет, ну я, конечно, дурак, но не до такой же степени. Файл Excel'я я сохраняю (т.е. данные там есть). ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2012, 19:56 |
|
Работа с Excel через ADO.
|
|||
---|---|---|---|
#18+
да еще вот это..... авторVARCHAR(20) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2012, 21:53 |
|
Работа с Excel через ADO.
|
|||
---|---|---|---|
#18+
R Dmitry, а что в этом такого? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2012, 22:29 |
|
Работа с Excel через ADO.
|
|||
---|---|---|---|
#18+
The_ImmortalДа, пожалуй, это извращение, однако почему бы и нет? :) Работаем с листами Excel, как с таблицами - вроде удобно и не запарно...Ну, это не "извращение", я, например, советую это время от времени, если видно, что задача соответствует... С другой стороны, почему именно ADOQuery? Почему бы не ADODB.Connection/RecordSet? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2012, 01:00 |
|
Работа с Excel через ADO.
|
|||
---|---|---|---|
#18+
The_Immortal, excel это не база данных, и там нет типов данных в поле, есть только тип данных внесенный в определенную ячейку. Если конечно сам не сделаешь на классах, макросах или еще как нибудь проверку типа вводимых данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2012, 01:12 |
|
Работа с Excel через ADO.
|
|||
---|---|---|---|
#18+
AndreTM, А есть разница? :) Касательно моей проблемы, думаю что нет... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2012, 01:38 |
|
Работа с Excel через ADO.
|
|||
---|---|---|---|
#18+
The_ImmortalСоздаю таблицу (лист) через ADOQuery: Код: plaintext 1.
Теперь я вставляю... гм... я не понял. а зачем создавать таблицу до того как в ней будут нужные данные? из существующего листа разве нельзя сделать селект? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2012, 02:02 |
|
Работа с Excel через ADO.
|
|||
---|---|---|---|
#18+
Как раз касательно вашей проблемы - думаю, есть. И R_Dmitry указал на одно из отличий. Просто с рекордсетом вы сможете работать, как с таблицей, включая типизацию; а вот напрямую с листом - нет. А уж организовать обмен данными рекордсета и листа - это не просто, а очень просто... Тем более, что у вас, как я понял, Excel 2010? Так пользуйте тогда .NET и DataTable. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2012, 02:10 |
|
Работа с Excel через ADO.
|
|||
---|---|---|---|
#18+
AndreTMПросто с рекордсетом вы сможете работать, как с таблицей Да я просто думал, что через ADOQuery тоже смогу работать как с таблицей... А вот с RecordSet'ом, честно говоря, никогда дел не имел и не знаю как... Всегда юзаю либо ADOQuery, либо ADOTabel :) Так получается, что через ADOQuery эту проблему не разрешить? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2012, 02:24 |
|
Работа с Excel через ADO.
|
|||
---|---|---|---|
#18+
ikki, ikkiиз существующего листа разве нельзя сделать селект? Именно что нельзя. ADOQuery будет кричать, что не знает такой таблицы (листа). ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2012, 02:25 |
|
Работа с Excel через ADO.
|
|||
---|---|---|---|
#18+
Печально :) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2012, 02:30 |
|
Работа с Excel через ADO.
|
|||
---|---|---|---|
#18+
AndreTMПросто с рекордсетом вы сможете работать, как с таблицей, включая типизацию Ребят, кто-нибудь может дать линк по использованию RecordSet'а из C++? Я гуглил, но на какую-то ерунду нарывался. И все на VS... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2012, 05:01 |
|
Работа с Excel через ADO.
|
|||
---|---|---|---|
#18+
The_ImmortalAndreTMПросто с рекордсетом вы сможете работать, как с таблицей, включая типизацию Ребят, кто-нибудь может дать линк по использованию RecordSet'а из C++? Я гуглил, но на какую-то ерунду нарывался. И все на VS... В поставке офиса 2003 про в комплект поставки к акцессу идет справка по ADO 2.5. Там вроде и для C++ примеры. ----- Не люблю Progress OpenEdge. ЗЫ Как-то так ADO 2.5 API Reference Close Method Closes an open object and any dependent objects. Syntax object.Close Remarks Use the Close method to close a Connection, a Record, a Recordset, or a Stream object to free any associated system resources. Closing an object does not remove it from memory; you can change its property settings and open it again later. To completely eliminate an object from memory, set the object variable to Nothing (in Visual Basic) after closing the object. Connection Using the Close method to close a Connection object also closes any active Recordset objects associated with the connection. A Command object associated with the Connection object you are closing will persist, but it will no longer be associated with a Connection object; that is, its ActiveConnection property will be set to Nothing. Also, the Command object's Parameters collection will be cleared of any provider-defined parameters. You can later call the Open method to re-establish the connection to the same, or another, data source. While the Connection object is closed, calling any methods that require an open connection to the data source generates an error. Closing a Connection object while there are open Recordset objects on the connection rolls back any pending changes in all of the Recordset objects. Explicitly closing a Connection object (calling the Close method) while a transaction is in progress generates an error. If a Connection object falls out of scope while a transaction is in progress, ADO automatically rolls back the transaction. Recordset, Record, Stream Using the Close method to close a Recordset, Record, or Stream object releases the associated data and any exclusive access you may have had to the data through this particular object. You can later call the Open method to reopen the object with the same, or modified, attributes. While a Recordset object is closed, calling any methods that require a live cursor generates an error. If an edit is in progress while in immediate update mode, calling the Close method generates an error; instead, call the Update or CancelUpdate method first. If you close the Recordset object while in batch update mode, all changes since the last UpdateBatch call are lost. If you use the Clone method to create copies of an open Recordset object, closing the original or a clone does not affect any of the other copies. See Also Visual Basic Example | VBScript Example | Visual C++ Example | Visual J++ Example Open Method (ADO Connection) | Open Method (ADO Recordset) | Save Method Applies To: Connection Object | Record Object | Recordset Object | Stream Object © 1998-2003 Microsoft Corporation. All rights reserved. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2012, 17:17 |
|
|
start [/forum/topic.php?fid=61&msg=37822887&tid=2175636]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 178ms |
0 / 0 |