|
14 Кб. |
|
| Привет народ. Подскажите что я делаю не так.
Есть таблица1 связанная один-много с таблицами 2 и 3
Есть свободная форма1 в которой ленточная подформа2. Источник ее – таблица3
В этой подформе полясосписком ИзТаб1 и ИзТаб2. Причем надо сделать так, что при выборе в полесосписком ИзТаб1 информация в полесосписком изтаб2 была соотвтествующей выбранному в предыдущем поле.
В основной форме работает на раз. В подчиненной не хочет.
Полесосписком Из таб2 такой
SELECT Таблица2.Код, Таблица2.Поле2, Таблица2.ИзТаб1 FROM Таблица2 WHERE (((Таблица2.ИзТаб1)=Forms!Форма1![подчиненная форма Таблица3].form!ИзТаб1)) ORDER BY Таблица2.Поле2;
Обновляю методом попадания фокуса в это полесосписком, после того как сделаю выбор в полесосписком1.
И еще ругается при открытии формы. Наведите на мысль, что не так. Убрать условие из запроса нельзя.
Может как-то назначать источник строк полюсосписком? Но надо делать по текущей записи как-то, т.к. инфа в полесосписком1 будет в каждой строке разная.
PS совсем забыл об ограничениях до 50 кбт. Предыдущие сайт отбивал назад. Рар забыл... | |
|
| |
|
|
|
| переименуй поляСосписком - и будет сщазтье. | |
|
| |
|
|
|
| Не понял. Во что переименовать и как это на что влияет? | |
|
| |
|
15 Кб. |
|
| у тебя - поля со списком - на форме и поля - текстовое и числовое "Источнике формы" совпадают!!!
когда ты пытаешся сделать что-либо с полем ТЕКСТОВОЕ у которого объявлено RowSource - Акс выпадает в осадок - измени поля на форме (хоть _ добавь ) и запросы соответсвенно и будет ОК,
и повесь обработчик
Private Sub ИзТаб1__AfterUpdate()
Me.ИзТаб2_.RowSource = "SELECT Таблица2.Код, Таблица2.Поле2, Таблица2.ИзТаб1 FROM Таблица2 WHERE (((Таблица2.ИзТаб1)=Forms!Форма1![подчиненная форма Таблица3].form!ИзТаб1_)) ORDER BY Таблица2.Поле2"
Me.ИзТаб2_= Null
End Sub
а тот выкинь. | |
|
| |
|
|
|
| Спасибо. Действительно работает. Только снова вижу, что это неприемлемо. Даже если на попадание фокуса в полесосписком2 задавать ему источник, надо еще что-то. Пропадает, не сохраняет. Наверно надо все иначе. | |
|
| |
|
|
|
|
Private Sub ИзТаб1__AfterUpdate()
if nz(Me.ИзТаб1,"")="" then
Me.ИзТаб2_.RowSource = "SELECT Таблица2.Код, Таблица2.Поле2, Таблица2.ИзТаб1 FROM Таблица2 ORDER BY Таблица2.Поле2"
else
Me.ИзТаб2_.RowSource = "SELECT Таблица2.Код, Таблица2.Поле2, Таблица2.ИзТаб1 FROM Таблица2 WHERE (((Таблица2.ИзТаб1)=Forms!Форма1![подчиненная форма Таблица3].form!ИзТаб1_)) ORDER BY Таблица2.Поле2"
End if
End Sub
Private Sub form_current()
call ИзТаб1__AfterUpdate()
end Sub
|
| |
|
| |
|
|
|
| оставь в покое поле2, при изменении поля1 - полесосписком2 меняет свой RowSource и обнуляется, для того чтобы не было неправильностей, можно присовить первое значение из списко - но это не правильно. | |
|
| |