Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Добавляемый элемент отсутствует в выпадающем списке / 7 сообщений из 7, страница 1 из 1
01.04.2004, 16:43
    #32465915
Sergey Ermakov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавляемый элемент отсутствует в выпадающем списке
Господа, очень хочу добавить элемент, отсутствующий в списке.. Для этого сочиняю такой код:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Private Sub Серия_NotInList(NewData As String, Response As Integer)
Dim st, q As String
Dim serIdx As Integer
st = Me.Серия.Text
q =  "INSERT INTO Серии (НазваниеСерии) VALUES ("  "" & st & "  "")" 
CurrentDb.Execute q
serIdx = DLookup( "[ИндексСерии]" ,  "Серии" ,  "[НазваниеСерии]="  "" & st & "  """ )
q =  "UPDATE Книги SET ИндексСерии="  & serIdx &  " WHERE ИндексКниги="  & Me.СтИндексКниги
CurrentDb.Execute q
Me.Серия.Requery
End Sub


Он в последней строке выдает ошибку о том, что "требуется сохранить текущее значение перед выполнением макрокоманды Обновление".. Что мне делать? :(
...
Рейтинг: 0 / 0
01.04.2004, 17:30
    #32465987
Roma R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавляемый элемент отсутствует в выпадающем списке
Перед обновлением попробуйте добавить
Response = acDataErrAdded
...
Рейтинг: 0 / 0
01.04.2004, 18:28
    #32466093
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавляемый элемент отсутствует в выпадающем списке
скостромил вот так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Private Sub Sp_R_NotInList(NewData As String, Response As Integer)
Dim myrst As Recordset
Set myrst = CurrentDb.OpenRecordset( "TBaks" )
myrst.AddNew
myrst![S_Guid] = NewData
myrst.Update
myrst.Close
Me![Sp_R] = Me![Sp_R].ItemData( 0 ) ' переход на первый элемент
Me![Sp_R].Requery
Me![Sp_R] = NewData
Response =  0 
End Sub

описания Responce увы не нашел
для списка Sp_R надо выбрать для Requery существующуе значение а потом перейти на вновь вставленое
минус в том что поле сос пм\иском остается открытым
...
Рейтинг: 0 / 0
01.04.2004, 18:44
    #32466121
Roma R
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавляемый элемент отсутствует в выпадающем списке
Response описывается в NotInList
...
Рейтинг: 0 / 0
01.04.2004, 18:48
    #32466124
Анн
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавляемый элемент отсутствует в выпадающем списке
Может это поможет...

Private Sub имяЭлемента_NotInList(NewData As String, Response As Integer)

Процедура обработки события Отсутствие в списке использует следующие аргументы.

Аргумент Описание
имяЭлемента Имя элемента управления, для которого вызывается процедура обработки события Отсутствие в списке (NotInList).
NewData Строка, в которой Microsoft Access передает в процедуру обработки событий текст, введенный пользователем в текстовое поле поля со списком.
Response Определяет способ обработки события Отсутствие в списке (NotInList). В аргументе «Response» используются следующие встроенные константы:
Константа Описание
acDataErrDisplay Используется по умолчанию. Задает вывод стандартного сообщения о событии. Данная константа используется, когда требуется запретить пользователю добавление нового значения в список поля со списком.
acDataErrContinue Стандартное сообщение не выводится. Данная константа используется при выводе специального сообщения для пользователя. Например, в процедуре обработки события может быть открыто специальное диалоговое окно с вопросом, следует ли сохранить новое значение. При нажатии кнопки «Да» процедура обработки события добавит новое значение в список и задаст в аргументе «Response» константу acDataErrAdded. При нажатии кнопки «Нет» процедура обработки событияи задаст в аргументе «Response» константу acDataErrContinue.
acDataErrAdded Сообщение не выводится, но пользователь получает возможность добавить новое значение в список поля со списком в процедуре обработки события Отсутствие в списке (NotInList). После добавления значения Microsoft Access обновляет список, выполняя повторный запрос к полю со списком. После этого строковое значение снова сравнивается со списком и значение аргумента «NewData» сохраняется в поле, к которому присоединено поле со списком. Если строковое значение в списке не обнаружено, Microsoft Access выводит сообщение об ошибке.
Дополнительные сведения

Допускается создание процедуры обработки события Отсутствие в списке (NotInList), которая предоставляет пользователю возможность добавить новый элемент в список поля со списком. Например, в такой процедуре может быть добавлена запись в таблицу или список, служащие источником данных для поля со списком.
Для добавления нового элемента в список процедура обработки события должна добавить значение аргумента «NewData» в источник данных поля со списком. Конкретный способ зависит от типа источника данных поля со списком, который определяется значениями свойств Тип источника строк (RowSourceType) и Источник строк (RowSource). В примере для данного раздела демонстрируется добавление нового значения в список значений для поля со списком.

Для того чтобы позволить пользователю изменить значение, введенное в поле со списком, (например в специальном диалоговом окне), необходимо сделать значением поля со списком новое значение, введенное в специальном диалоговом окне. Это приведет к сохранению нового значения в поле, к которому присоединено поле со списком. Константа acDataErrContinue в аргументе «Response» обеспечит добавление нового значения в список поля со списком.
...
Рейтинг: 0 / 0
01.04.2004, 19:21
    #32466167
Sergey Ermakov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавляемый элемент отсутствует в выпадающем списке
Благодарю за помощь, — первый же совет пришелся в самый раз.. Конечное решение таково:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Private Sub Серия_NotInList(NewData As String, Response As Integer)
Dim st, q As String
Dim serIdx As Integer
st = Me.Серия.Text
q =  "INSERT INTO Серии (НазваниеСерии) VALUES ("  "" & st & "  "")" 
CurrentDb.Execute q
Response = acDataErrAdded
End Sub
...
Рейтинг: 0 / 0
01.04.2004, 19:46
    #32466181
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавляемый элемент отсутствует в выпадающем списке
Разглядел хэлп - всем спасибо
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Добавляемый элемент отсутствует в выпадающем списке / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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