|
|
|
Запись данных в файл Excel при помощи ADO
|
|||
|---|---|---|---|
|
#18+
Безуспешно пытаюсь записать данные в файл Excel: Файл "Baze.xls" закрыт. Sub ADO_InsertDataToBaze() Dim Workbook As Workbook Dim p As String Dim i As Long, TabIndex As Long, Ran As Integer Dim DBFullName As String Dim Cnct As String, Src As String Dim Connection As ADODB.Connection Dim Recordset As ADODB.Recordset 'Dim j As Long, ar, l As Variant DBFullName = Path & "Baze.xls;" Set Connection = New ADODB.Connection Cnct = "Provider=Microsoft.Jet.OLEDB.4.0;" Cnct = Cnct & "Data Source=" & DBFullName & _ "Extended Properties=Excel 9.0;Jet OLEDB:Engine Type=35;HDR=no;Jet OLEDB:Compact Without Replica Repair=False;" Connection.Mode = adModeWrite ' = adModeReadWrite Connection.Open ConnectionString:=Cnct Connection.Execute "UPDATE [dannye$] SET f2='5' WHERE f1=" & Count & "" Connection.Close Set Connection = Nothing End Sub Переменная Count видна на уровне модуля. После закрытия Connection.Close файл "Baze.xls" увеличивается в размерах приблизительно в 2 раза и при попытке открыть его, появляется предупреждение “File error: data may have been lost”, тем не менее, файл открывается. Данные в нем непонятным образом перемешаны, причем только начиная со строки 2043. Исходный файл "Baze.xls" имеет 55 столбцов и приблизительно 30000 строк, из которых не все заполнены. Исходный размер файла 1930 кб. Интересно, что если файл открыт, запись в него проходит без проблем. И еще одна особенность – если уменьшить количество строк до 2044 (лишние вырезать), запись происходит без проблем и при закрытом файле, причем даже в строку с номером, скажем, 30000. Может, кто-нибудь знает, как разрешить проблему, чтобы не происходила порча файла и запись происходила без проблем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.01.2006, 10:59:13 |
|
||
|
Запись данных в файл Excel при помощи ADO
|
|||
|---|---|---|---|
|
#18+
Никто ничего не может подсказать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2006, 05:34:28 |
|
||
|
Запись данных в файл Excel при помощи ADO
|
|||
|---|---|---|---|
|
#18+
Попробовал. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Все нормально, файл практически не увеличился, правда проверял на 10 строках. Ты данные пробовал перенести в новую книгу? Какие-нибудь макросы есть в книге? Книгу несколько людей используют? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2006, 09:51:15 |
|
||
|
Запись данных в файл Excel при помощи ADO
|
|||
|---|---|---|---|
|
#18+
на 10 строках у меня тоже все в порядке. Все рушится, если строк > 2043. Данные перенести в новую книгу пробовал, макросов нет, используют несколько человек, но другие подключаются не через АДО, когда я подключаюсь к ней, больше никто не подключен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2006, 10:08:24 |
|
||
|
Запись данных в файл Excel при помощи ADO
|
|||
|---|---|---|---|
|
#18+
Заканчивай такое с Excel делать. Переходи на нормальную СУБД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2006, 12:51:12 |
|
||
|
Запись данных в файл Excel при помощи ADO
|
|||
|---|---|---|---|
|
#18+
а на какую лучше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2006, 13:04:08 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=61&tid=2185329]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
46ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 308ms |

| 0 / 0 |
