powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / фантомные данные в списке?
14 сообщений из 14, страница 1 из 1
фантомные данные в списке?
    #32785989
Iskander68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Столкнулся с таким непонятным (и неприятным) для меня явлением (Аксесс 2000, mdb). Есть некая свободная форма со списком, основанным на запросе. Запрос выбирает данные из T2, для которых нет внешнего ключа (таблица с внутренним ключом Т1). По двойному клику на списке вызывается процедура, которя добавляет запись в Т2 и обновляет список - список уменьшается. Когда в списке ничего не видно, то тем не менее можно щелкнуть по пустой верхней строке. По идее данных в списке нет, но добавление записи, которая была последней все равно происходит! Если форму открыть еще раз и попытаться щелкнуть по верхней пустой строке в списке, то ничего не происходит - как и было задумано. На самом деле проще посмотреть приложенный пример.
Буду благодарен за любые советы, как исправить баг.
...
Рейтинг: 0 / 0
фантомные данные в списке?
    #32786073
sasha_1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вместо условия
Код: plaintext
If Not IsNull(Me.lstAuthors.Value) Then
напиши
Код: plaintext
If Me.lstAuthors.ListIndex>= 0  Then
...
Рейтинг: 0 / 0
фантомные данные в списке?
    #32786159
Iskander68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал. Стало хуже :-) Теперь "фантом" также добавляется, только еще ошибка
вылезает, если форму открыть заново с пустым списком и кликнуть на списке -
насколько я понимаю, потому что в списке в любом случае существует Item c
ListIndex = 0. В случае пустого списка его Value Is Null и строка sql
формируется неправильно.
А ты сам пробовал?

--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
фантомные данные в списке?
    #32786176
Iskander68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тормознул - не тот контрол вписал. Твой совет помог, спасибо!

--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
фантомные данные в списке?
    #32786177
Фотография Daf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если обновить и еще присвоить этому списку Null. Вроде этого:
Код: plaintext
1.
ПолеСоСписком1.Requery
ПолеСоСписком1.Value = Null
...
Рейтинг: 0 / 0
фантомные данные в списке?
    #32786199
Iskander68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даф, в какой момент? Т.е. проверять, не пустой ли рекордсет и если пустой,
то me.value присваивать нуль? Так что ли? Вообще-то совет тезки уже помог.
Но согласитесь, что это подло - оставлять значение в списке, который
выглядит пустым! Хотя, конечно, баг прикольный.

--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
фантомные данные в списке?
    #32786225
Фотография Daf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Iskander68
Даф, в какой момент?
--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.1

" ... которя добавляет запись в Т2 и обновляет список - список уменьшается ..."
...
Рейтинг: 0 / 0
фантомные данные в списке?
    #32786255
Iskander68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даф, видимо, я тебя не понял, потому что фигня какая-то получается. Если не
лень, объяснись подробнее.

--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
фантомные данные в списке?
    #32786288
Фотография Daf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну ты пишешь, что у тебя в процедуре происходит добавление записи в Т2 и обновляется список и список уменьшается.
Я предположил что список у тебя обновляется по Requery (может я ошибся?).
Если нет то, тогда после Requery и присвой value = Null списку.
...
Рейтинг: 0 / 0
фантомные данные в списке?
    #32786309
Iskander68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Даф, все равно не очень понятно, ты уж извини. Ты файл открывал? Или просто
по описанию ответил? Если по описанию, то там может быть не совсем понятно.
Вообще, хотелось бы знать причину такого поведения списка.

--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
фантомные данные в списке?
    #32786336
Фотография Daf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, я просто по описанию ответил ...
...
Рейтинг: 0 / 0
фантомные данные в списке?
    #32786362
Фотография Daf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из твоей программы процедура двойного нажатия клавиши подправленная:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Private Sub lstAuthors_DblClick(Cancel As Integer)
Dim cnnCur As ADODB.Connection
Dim strInsert As String

If Not IsNull(Me.lstAuthors.Value) Then
    strInsert = "INSERT INTO AuthAuto (AuthID) VALUES (" & Me.lstAuthors.Value & ")"
    Set cnnCur = CurrentProject.Connection
    cnnCur.Execute strInsert
    cnnCur.Close
    Set cnnCur = Nothing
    Debug.Print strInsert
    Me.lstAuthors.Requery
    Me.lstAuthAuto.Requery
    Me.lstAuthors.Value = Null
End If

End Sub

я добавил Me.lstAuthors.Value = Null.

У меня больше не вставляет значения из пустого списка.
...
Рейтинг: 0 / 0
фантомные данные в списке?
    #32786392
Iskander68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рассуждая логически, получается что когда список пуст, то значение
Me.lstList.ListIndex >= 0 всегда ложно, а вот Me.lstList.Value может и не
быть Null (при пустом-то запросе, на котором основан список!) в зависимости
от того, закрывалась ли форма после того, как список стал пустым, или нет.

Моя вера в Аксесс (по крайней мере мдб) подорвана :-(
Либо надо глубже вникнуть в процесс.

--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
фантомные данные в списке?
    #32786418
Iskander68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"У меня больше не вставляет значения из пустого списка."

Сама фраза выглядит абсурдом - тем не менее так оно и происходило - до
исправлений.

Даф, и тебе спасибо.


--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / фантомные данные в списке?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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