![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 26.09.2008
Сообщений: 38
|
![]()
Всем добрый вечер
![]() Проблема такая: Имеется форма, на которой есть два поля (ПолеСоСписком и Список) Значение (только одно) в Списке появляется на основе запроса после ввода данных в ПолеСоСписком. Далее необходимо записать значение из ПоляСоСписком и значение из Списка в таблицу.Использую такой код: Dim rstTRS As DAO.Recordset Set dbs = CurrentDb ' Записываем данные в таблицу Расход_семян' Set rstTRS = dbs.OpenRecordset("Расход_семян") With rstTRS .AddNew !Дата = Me!Поле0 !Вид_работы = Me!ПолеСоСписком2 !Культура = Me!Список8 !Расход = Me!Поле14 .Update End With rstTRS.Close При сохранении база ругается, что не может вытащить значение из Списка (поле "Культура" является ключевым в таблице и не может быть пустым) Подскажите, плз, как мне решить эту проблему.Заранее спасибо ![]() |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
Здравствуйте Botanik1987.
В коде и тексте сообщения описаны только те свойства и методы объектов которые Вы считает важными. Уверяю не менее важны и другие для описания которых понадобиться не одна страница и не один час времени. А без полноценного анализа, объяснение "на пальцах" не дает желаемого результата (и с анализом такое "объяснение" мало эффективно ![]() Выложите архив с заранее подготовленным (избавленным от избыточных данных, OLE объектов,.... и сжатый средствами MS Access) файлом БД с описанием "проблемы", и на примере Вашей БД можно будет продемонстрировать способы решения Вашей задачи. Евгений. P.S. 1. "..есть два поля (ПолеСоСписком и Список).." - кол-во контролов, как выяснилось по тексту четыре, скобки вводят в заблуждение ![]() 2. размещая в сообщении код, для удобочитаемости заключайте его в тэги [соde]...[/соde] (для этого предназначена кнопка #) |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 26.09.2008
Сообщений: 38
|
![]()
Евгений, добрый день.Вышенаписанную проблему я решил, но появился ещё вопрос-новую тему создавать не буду.
В форме имеются два поля со списком: вид и наименование У поля1(вид) фиксированные 3 значения:удобрения,средства защиты и семена. Значения поля2 выбираются из разных таблиц,одноименных со значениями поля вид(то, что они одноимённые-не имеет значения) в зависимости от выбора значения в поле наименование Вопрос в следующем: Как при помощи VBA реализовать процедуру присвоения свойству поля наименование разного источника строк(разных запросов), в зависимости от выбора значения в поле вид. Таблицы никак не связаны друг с другом,в каждой таблице перечислены без повторений наименования(удобрений, средств защиты и семян соответственно). Очевидно, что это нужно делать с помощью оператора If Then Else Код ниже Код:
![]() |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
Не вникая в суть "проблемы", конструкция ветвления может выглядеть так:
Код:
Код:
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
![]() |
![]() |
![]() |
![]() |
#6 | |
Пользователь
Регистрация: 26.09.2008
Сообщений: 38
|
![]() Цитата:
В полесосписком с свойстве "источник строк" указан "список значений", а в этом списке я и вписал три значения (семена, удобрения и средства защиты) Есть таблица "Удобрения" с одним полем "Наименование", в которой перечислены все удобрения.Аналогично с семенами и средствами защиты. Евгений, Вы опять меня не так поняли ![]() Напишу по-русски: Код:
|
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
![]()
ИМХО, в таких случаях лучше использовать таблицу-словарь, в которой будут ваши "семена", "удобрения" и прочее, и поле, идентифицирующее запись (числовое).
Тогда и Ваше "Поле1" можно сделать числовым, что с точки зрения построения бд более рациональное решение, а источником поля сделать запрос.. (табл. "словарь"). И процедура Ваша работать будет намного быстрее.. Я об этом говорил. По второй части вопроса: Поле2.RowSource = "SELECT НУЖНЫЕ ПОЛЯ from ИмяТаблицы" |
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 10.08.2009
Сообщений: 1,796
|
![]()
Botanik1987,
".. Вы опять меня не так поняли..", могу подсказать Вам как с этим "бороться" - выкладывайте архив с образцом и "непонимание" будет побеждено. ![]() Евгений. |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 26.09.2008
Сообщений: 38
|
![]()
Благодарю,Вы мне очень помогли
![]() Есть ещё вопросик, не помню,задавал ли я его уже...: Имеется запрос(к примеру): SELECT Таблица1.Поле1, Таблица2.Поле1 from ИмяТаблицы1, ИмяТаблицы2... Допустим, В таблице1 нет данных.В таком случае надо, чтобы полю (выводящему значение Таблица1.Поле1) формы(источником данных которой является этот запрос) призваивалось бы значение "0" Можно ли это сделать? ![]() Спасибо заранее)) |
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 26.04.2008
Сообщений: 487
|
![]()
Вы уверены, что правильным путем идете? (В ваших рассуждениях нет логики: если в таблице нет записей, то значение поля не может ничему равняться, даже "0"). Сделать конечно же можно, подсчитав кол-во записей, и если их нет, то Вашему полю присвоить значение "0", но правильно ли это будет? Вы это значение в вычислениях используете? Опишите подробно, что Вы хотите, чтобы не городить тут, не зная цели, а лучше выложите пример.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как сохранить отсортированную таблицу | Kingson | Microsoft Office Access | 12 | 22.12.2009 13:23 |
Последнее значение в столбце списка | ALev | Microsoft Office Excel | 2 | 02.07.2009 16:29 |
Как правильно сохранить данные в таблицу??? | kAtenok87 | PHP | 4 | 07.05.2009 11:24 |
[Prolog] Преобразование списка в таблицу | girlll | Помощь студентам | 1 | 07.04.2009 23:29 |
Как сохранить значение Edit после закрытия | tarakan1983 | Помощь студентам | 14 | 11.09.2008 08:25 |