Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 18.01.2008, 15:28   #1
MUZDIE
 
Регистрация: 18.01.2008
Сообщений: 4
По умолчанию запись в БД(*.MDB) из Excel VB

Всем привет!

Проблема такая: есть MDB-файл, в VB Excel SQL-запросами из него читается инфа и кладется на лист, делаем расчеты и надо записать часть данных обратно в БД.
Первый вариант у меня получился с xlodbc.xla, но эту библиотеку ставить и тоскать на разные компы неудобно (в некоторых местах она слетает, да и поставить не каждый пользователь сможет)
Тогда я решил пойти другим путем: записал макрос который выгребает данные через OLE DB (импорт внешних данных в Excel), но так я и не смог понять и сделать запись расчетных данных из Excel в MDB.
Подскажите кто знает как запись в БД делать по-людски.

Такой вариант макроса я использую для чтения БД:

Public Sub GetTable(Name, CmdText As Variant, Dest As Range)
With Worksheets("Base").QueryTables.Add( Connection:=Array( _
"OLEDB;Provider=Microsoft.Jet.OLEDB .4.0;Password="""";User ID=Admin;Data Source=" & Worksheets("Base").Range("B5") & ";Mode=ReadWrite;" _
, _
"Extended Properties="""";Jet OLEDB:System database="""";Jet OLEDB:Registry Path="""";Jet OLEDB:Database Password="""";Jet OLEDB:Eng" _
, _
"ine Type=4;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:" _
, _
"New Database Password="""";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on " _
, _
"Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False" _
), Destination:=Dest)
.CommandType = xlCmdSql
.CommandText = CmdText
.Name = Name
.FieldNames = False
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlOverwriteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = False
.RefreshPeriod = 0
.PreserveColumnInfo = True
.SourceDataFile = Worksheets("Base").Range("B5")
.Refresh BackgroundQuery:=False
End With
End Sub

а для записи в БД экспериментировал с полем Mode в строке Connection и что-то шиш.
для CmdText=
"UPDATE MudProperties SET Prop47 = 11 WHERE CkNum = 1 AND Date = 39460"
Выдает Run-time error 1004:
"Размер поля недостаточен, чтобы принять добавляемые данные. Попробуйте вставить меньшее кол-во данных."


Заранее благодарен.

Последний раз редактировалось MUZDIE; 18.01.2008 в 15:39.
MUZDIE вне форума
Старый 18.01.2008, 17:13   #2
Pavel55
Форумчанин
 
Регистрация: 21.08.2007
Сообщений: 292
По умолчанию

Смотри личное сообщение
Pavel55 вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Экспорт из Access в Excel, Экспорт из отчётов в таблицу Excel Kissedbythegod Microsoft Office Access 1 31.05.2008 22:15
Запись в БД(*.MDB) из Excel VB MUZDIE Помощь студентам 2 18.01.2008 12:58
очень громоздкие финансовые модели в Excel, а Excel не тянет Ragazza Microsoft Office Excel 7 03.10.2007 20:08
Формирование из excel в ASCII, у меня он формирует по одному клиенту а в Excel нескол Askat Общие вопросы Delphi 0 18.07.2007 06:28
Как вытащить данные из Excel в бд dephi, а потом (после работы с данными) сформировать новый файл excel. Геля БД в Delphi 1 10.04.2007 15:11