Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Запись данных в файл Excel при помощи ADO / 7 сообщений из 7, страница 1 из 1
12.01.2006, 10:59:13
    #33478201
Tavocer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись данных в файл Excel при помощи ADO
Безуспешно пытаюсь записать данные в файл 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.
Может, кто-нибудь знает, как разрешить проблему, чтобы не происходила порча файла и запись происходила без проблем?
...
Рейтинг: 0 / 0
26.01.2006, 05:34:28
    #33503804
Tavocer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись данных в файл Excel при помощи ADO
Никто ничего не может подсказать?
...
Рейтинг: 0 / 0
26.01.2006, 09:51:15
    #33504061
Запись данных в файл Excel при помощи ADO
Попробовал.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
    Dim cnn As New ADODB.Connection
    Dim intCount As Integer
    Dim strCnnString As String
    
    strCnnString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                   "Data Source=D:\2\Test.xls;" & _
                   "Extended Properties=""Excel 8.0;HDR=No"""
                   
    intCount =  2 
    
    cnn.Open strCnnString
    cnn.Execute "UPDATE [dannye$] " & _
                "SET F2 = '5' WHERE F1 = " & intCount
    
    cnn.Close
    Set cnn = Nothing

Все нормально, файл практически не увеличился, правда проверял на 10 строках.

Ты данные пробовал перенести в новую книгу? Какие-нибудь макросы есть в книге? Книгу несколько людей используют?
...
Рейтинг: 0 / 0
26.01.2006, 10:08:24
    #33504114
Tavocer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись данных в файл Excel при помощи ADO
на 10 строках у меня тоже все в порядке.
Все рушится, если строк > 2043.
Данные перенести в новую книгу пробовал, макросов нет, используют несколько человек, но другие подключаются не через АДО, когда я подключаюсь к ней, больше никто не подключен.
...
Рейтинг: 0 / 0
26.01.2006, 12:51:12
    #33504756
5631
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись данных в файл Excel при помощи ADO
Заканчивай такое с Excel делать. Переходи на нормальную СУБД.
...
Рейтинг: 0 / 0
26.01.2006, 13:04:08
    #33504814
Tavocer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись данных в файл Excel при помощи ADO
а на какую лучше?
...
Рейтинг: 0 / 0
26.01.2006, 16:45:53
    #33505573
5631
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запись данных в файл Excel при помощи ADO
http://www.sql.ru/forum/actualtopics.aspx?bid=10
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Запись данных в файл Excel при помощи ADO / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]