ADO Data + DataList. Не редактируются записи

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
affin
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 15.01.2008 (Вт) 7:58

ADO Data + DataList. Не редактируются записи

Сообщение affin » 16.01.2008 (Ср) 17:11

Пишу программу на VB6.0 для работы с БД в формате Access 2002.
Для доступа к базе использую элемент управления ADO Data.
В базе имеется несколько таблиц, и одна из них ("Пациенты") использует данные из других - например, "Диагнозы", "Отделение"
Для связывания таблиц из базы использую элемент управления DataList.


' Main - главная форма, на которой находятся ADO Data
' PatADO - таблица "Пациенты"
' DiaADO - таблица "Диагнозы

' список диагнозов
Set DiaList.DataSource = Main.PatADO
Set DiaList.RowSource = Main.DiaADO

' список отделений
Set DevList.DataSource = Main.PatADO
Set DevList.RowSource = Main.DevADO

Свойства BoundColumn, DataField, ListField указанны в свойствах DataList'ов на этапе разработки

Предполагается, что пользователь выбирает диагноз или отделение из списка, а в таблицу "Пациенты" заносится идентификатор диагноза или отделения соответственно. Никаких откровений, как видите.
Если хочу добавить запись все работает и сохраняется.
Если хочу отредактировать существующую запись, используя DataList (выбираю диагноз или отделение), ничего не происходит: новые данные не сохраняются, никаких ошибок не выдается. При этом, текстовые поля (фамилия, имя и т.д.), привязанные к ADO Data, работают исправно: сохраняют и обновляют базу , как и было задумано.
Для сохранения использую такой код:

Main.PatADO.Recordset.Update
Main.PatADO.Refresh

Подскажите, что я делаю не так, пожалуйста

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 16.01.2008 (Ср) 17:49

Подскажите, что я делаю не так, пожалуйста
Используешь ADO Data. Избавляйся от него в пользу ADODB.Recordset.
Лучший способ понять что-то самому — объяснить это другому.

affin
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 15.01.2008 (Вт) 7:58

Сообщение affin » 17.01.2008 (Чт) 13:10

Antonariy писал(а):
Подскажите, что я делаю не так, пожалуйста
Используешь ADO Data. Избавляйся от него в пользу ADODB.Recordset.


Спасибо. Уже начал избавляться.
Но хотелось бы таки понять с Вашей помощью, что не работает в нынешнем виде.

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 17.01.2008 (Чт) 14:12

Лично у меня нет никакого желания ковыряться в глюках ADODC, коих предостаточно.
Лучший способ понять что-то самому — объяснить это другому.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Yandex-бот и гости: 94

    TopList