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

--
Regards
Alexander Artamonov

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

--
Regards
Alexander Artamonov

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

--
Regards
Alexander Artamonov

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

Posted via ActualForum NNTP Server 1.1

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

--
Regards
Alexander Artamonov

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

--
Regards
Alexander Artamonov

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
17.11.2004, 12:12:14
    #32786336
Daf
Daf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фантомные данные в списке?
Не, я просто по описанию ответил ...
...
Рейтинг: 0 / 0
17.11.2004, 12:17:32
    #32786362
Daf
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
17.11.2004, 12:25:48
    #32786392
Iskander68
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
фантомные данные в списке?
Рассуждая логически, получается что когда список пуст, то значение
Me.lstList.ListIndex >= 0 всегда ложно, а вот Me.lstList.Value может и не
быть Null (при пустом-то запросе, на котором основан список!) в зависимости
от того, закрывалась ли форма после того, как список стал пустым, или нет.

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

--
Regards
Alexander Artamonov

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

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

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


--
Regards
Alexander Artamonov

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


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