Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Update БД через MSFlexGrid Control!

5.9K
20 июля 2009 года
SPB-667
119 / / 23.06.2007
При использовании сетки DBGrid данные автоматически обновляются в БД, но она меня не устраивает, т.к. в ней нельзя программно менять ширину полей. Поэтому решил использовать другую сетку - MSFlexGrid. Но поскольку (по умолчанию) в ней нельзя редактировать записи, то отсутствует автоматическое сохранение в БД :(
По идее должен работать примерно вот такой код:

 
Код:
Data1.Recordset.Edit
MSFlexGrid1.Text = Text1.Text
Data1.Recordset.Update


Но на практике отредактированные ячейки не сохраняются! :confused:
5.9K
22 июля 2009 года
SPB-667
119 / / 23.06.2007
Как обычно, пришлось разбираться самому :)

Вот как решается данная проблема:

Код:
Dim WorkSpace As WorkSpace
Dim DataBase As DataBase
Dim RST As DAO.Recordset

Set WorkSpace = DBEngine.Workspaces(0)
'Открываем базу данных DataBase.mdb
Set DataBase = WorkSpace.OpenDatabase("C:\DataBase.mdb")
'Открываем таблицу Table1
Set RST = DataBase.OpenRecordset("Table1")
RST.Edit
' Записываем в базу данных значения ячейки MSFlexGrid1
RST(0) = MSFlexGrid1.Text  'RST(0) - это номер первого поля в БД, номер записи можно менять с помощью RST.Move() или RST.MoveNext
'Обновляем запись
RST.Update
'Закрываем базу данных
RST.Close
DataBase.Close
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог