Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ListBox / 6 сообщений из 6, страница 1 из 1
28.04.2004, 16:23
    #32501102
ListBox
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListBox
Раскажите чайнику как я могу в Форме встроить ЛистБокс, в котором отображаются даннные запроса, ссылаюшегося на Таблицу и на саму Форму.
У меня есть Таблица Person:
PersNr, Name,.....
Таблица HasChild:
PersNrMain, PersNrChild.

В Форме я навигирую по записям из таблицы Person и в этой же Форме есть TextBox Parent в котором появляется PersNr если у него есть ребёнок в HasChild.
Это вроде всё работает. А вот ЛистБокс не работает. Как синтактически правильно написать запрос SQL, особенно условие WHERE?

SELECT PersNrChild
FROM HasChild
WHERE HasChild.PersNrMain=??????"здесь мне нужно правильно ввести значение из ТехтВох"
...
Рейтинг: 0 / 0
28.04.2004, 17:37
    #32501335
А.Ромейко
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListBox
Если я правильно понял проблему,

Вы хотите увидеть в форме, кроме самой персоны ещё и всех его детей (один и более).
Для отображения соотношения "один ко многим" инструмент ListBox неудобен, в большей степени он подходит для установки связи "один к одному, выбор из многих".

Для выбранного Вами инструмента, придётся написать процедуру по замене исходного SQL ListBox для Form.CurrentRecord с обновлением запроса (Requery) ListBox (я не беру глубже, по свойствам объекта).

Сделайте лучше зависимую форму по полю PersNr/PersNrMain - Вы увидите список всех детей текущей персоны... Пусть это не ответ на Ваш вопрос (заставить ListBox показывать, то, что Вы хотите - можно!), но, возможно, окажется полезным.
...
Рейтинг: 0 / 0
28.04.2004, 18:23
    #32501446
ListBox
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListBox
А.Ромейко, спасибо за ответ!
Насколько я понял, мне нужно написать процедуру Sub Form_Current() и в ней указать значение полей ListBox. Если да, то можно ли ListBox-у в процедуре придать результат запроса SQL? Как это правильней написать?


Private Sub Form_Current()
List=??????????????
End Sub

Заранее благодарю
...
Рейтинг: 0 / 0
29.04.2004, 08:52
    #32501813
А.Ромейко
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListBox
Итак:
ShldLst - имя ListBox
PersNr - имя поля в форме (считаю, что поле символьное, поэтому включаю ограничивающие апострофы в "источную" строку)

Private Sub Form_Current()
Me.ShldLst.RowSource = "SELECT HasChild.* FROM HasChild WHERE (((HasChild.PersNrMain)='" & Me.PersNr & "'));"
Me.ShldLst.Requery
End Sub

Желаю успеха...
...
Рейтинг: 0 / 0
30.04.2004, 11:42
    #32504096
ListBox
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListBox
Привет!
Спасибо за помощь. Сделал так как ты сказал и вот что оне мне выдаёт:

Compile error:
Method or data member not found!

Private Sub Form_Current()
Me.ShldLst.RowSource = "SELECT HasChild.* FROM HasChild WHERE (((HasChild.PersNrMain)=' " & Me.PersNr & "'));"
Me.ShldLst.Requery
End Sub
...
Рейтинг: 0 / 0
30.04.2004, 11:51
    #32504129
А.Ромейко
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ListBox
В свойствах поля PersNr д.б. и имя PersNr , либо в процедуре поставьте Me.имя_поля_в_котором_находится_PersNr ...

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


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