powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Recordset и поле со списком
25 сообщений из 27, страница 1 из 2
Recordset и поле со списком
    #39446438
quickstar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Задача сохранить новую запись в таблицу "клиенты".
Поле со списком "Me.Курсы" имеет несколько значений, ровно так же как "rs![Курсы]".
Но! при сохранении выдает "Ошибка преобразования тип данных"

ВОПРОС: как используя Recordset сохранить запись данные из поля Me.Курсы в таблицу?
Может есть еще какой метод.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub СохранитьКлиентыNew_Click()
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("Клиенты")
rs.AddNew
rs![ФИО ребенка] = Me.ФИО_ребенка
rs![Курсы] = Me.Курсы
rs.Update
MsgBox ("Занятие успешно сохранено!")
End Sub
...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446448
вопрос__222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
quickstar,

в источнике для комбобокса сколько столбцов?

me.[курсы] это ссылка на первый столбец, как правило, ключевой, он может быть скрыт

попробуйте
me.[курсы].column(index)

где вместо index подставьте индекс столбца, данные из которого надо сохранять
...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446452
quickstar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вопрос__222, в источнике 2 столбца.
сделал видимым (1 см) и в источнике, в форме ввода данных.


rs![Курсы] = Me.[Курсы].Column(1) выдает "metod collect of recordset2 failed"

Как исправить?
...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446453
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
quickstar, NotInList
...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446455
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
quickstar, или всётаки запись в комбобоксе есть такая? Форма unbound?
...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446459
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
quickstarПоле со списком "Me.Курсы" имеет несколько значений, ровно так же как "rs![Курсы]".Поле в таблице многозначное?
...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446460
quickstar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург, извините , не понимаю вопроса. Не понимаю как форма может быть не связана.

Во вложении отправляю саму базу, так нагляднее.
...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446466
quickstar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург, да, многозначное
...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446468
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
quickstar,
...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446470
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
quickstar, создай нормальную форму с источником данных, привяжи контролы к полям источника. И код практически будет не нужен.
...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446475
quickstar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург, сделал форму заново. потом перенес поле Курсы, в свою форму. Все равно ошибка та же.
Не понимаю что значит привязать контролы.
Скажите "по-русски" ))) чего сделать-то?)
...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446477
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
quickstar, форму переделывать не надо. Просто у каждого контрола (почти) есть свойство "Данные", так вот, нужно чтобы там были прописаны поля источника записей (таблицы/запроса). В этом случае значения сами поступают в таблицы. Правда есть некоторые нюансы, но лучше взять какую-нибудь книгу по Access (их даже покупать не надо когда есть интернет) и прочитать там про создание форм и прочего. Так же рекомендуется просмотреть учебную БД "Борей" которая идёт в стандартной поставке дистрибутива MS Office с Access, хотя её можно так же найти в интернете.
...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446478
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
quickstarВсе равно ошибка та же.В том пример, что я исправил?
...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446480
quickstar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург, мне нужно поле с несколькими вариантами выбора. В том, что Вы исправили только 1 вариант для выбора курса.
...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446481
quickstar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и я хочу понать где у меня ошибка, понять, что сделал не так и научиться сохранять в таблицу поле с множественными вариантами выбора.
...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446484
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
quickstarПанург, мне нужно поле с несколькими вариантами выбора. В том, что Вы исправили только 1 вариант для выбора курса.Один из вариантов я тебе предложил тут-> 20445717
Комбо без источника не позволит выбрать несколько значений, так как это сделано у тебя это неправильно.
...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446486
quickstar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург, в том то и дело, что источник привязан. В форме я вижу нужные мне значения.
Вопрос лишь в сохранении.
Две ошибки выдает, которые я один побороть не смог. Оттого и прошу помощи. Не стандартная ошибка.
...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446487
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
quickstar, вот я тебе частично привязал контролы и поправил код. То, что заремлено, ненужно.
...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446488
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
quickstar, упс, я там по запарке тебе немного неправильно в примере написал, поправь выделенное
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Private Sub ЗакрытьКлиентNew_Click()
    If Me.Dirty Then Me.Undo
Me.SetFocus
DoCmd.Close
End Sub

Private Sub СохранитьКлиентыNew_Click()
Me.ФИО_ребенка.SetFocus
Me.Dirty = False
Me.ФИО_ребенка.BackColor = "900500"
MsgBox ("Занятие успешно сохранено!")
DoCmd.Close
End Sub

...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446489
вопрос__222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
quickstar,

у вас таблица курсы предусматривает для каждой записи одно значение кода курса и таблица курсы (справочная таблица) тоже на одну запись одно значение кода курса. Для реализации записи выбора множественного значения "многие-ко-многим" (несколько вариантов значений курсов для каждого клиента и несколько клиентов для одного курса) нужна таблица с полями "код клиента", "код курса", и уже в ней сохранять выбранное значение. Кстати, его как множественное надо и отображать (в виде какого-либо списка)
...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446528
quickstar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем за помощь.
К сожалению, не одним из способов не смог решить вопрос.

"Me.Dirty = False" - значит придется устанавливать связь с таблицей "клиенты" и любое изменение поля сразу ведет к созданию записи в таблице "курсы". Администраторы умудряются по 3-5 дубликатов делать одного клиента. Поэтому мне нужен рекогсет, чтобы сохранение было исключительно после нажатия кнопки "сохранить".

Связь многие-ко-многим сделал - ошибка та же.

Решил просто сделать три отдельных поля в каждом свой курс будем выбирать.
...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446535
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
quickstar,
родитель1,телефон1,родитель2,телефон2...(а если телефонов 4 куда ещё 2 писать?-Ржевский молчать!!) а подчиненные, со связью 1:М,почему не использовать
да и использование многозначных (допускающих несколько значений) полей не ICE
...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446538
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вдогонку:quickstarРешил просто сделать три отдельных поля в каждом свой курс будем выбирать.не поля,а таблицу "курсы"(тем более что оплата,количество занятий,преподаватель да мало-ли что еще может отличаться
(извиняюсь что не отвечаю конкретно на Ваш вопрос-считаю что при правильной структуре БД создается,причем достаточно легко,а при не правильной,после ряда мучений,приходит понимание что создать БД не удастся)
...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446539
quickstar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku, у меня сложности с по курсами возникли. По родителям там несколько полей.
Я сделал связь м-к-м, все ранво ошибку выдавало.
...
Рейтинг: 0 / 0
Recordset и поле со списком
    #39446552
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
quickstar"Me.Dirty = False" - значит придется устанавливать связь с таблицей "клиенты" и любое изменение поля сразу ведет к созданию записи в таблице "курсы".Да, устанавливать источником таблицу. Почему изменение поля ведёт к созданию записи в таблице курсы? Ничего подобного. Надо правильно провести настройки.
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Recordset и поле со списком
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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