Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / FoxPro, Visual FoxPro Новый топик    Ответить
 Код покупателя -> Покупатель - нужно без Grida  [new]
help123
Member

Откуда: УКРАИНА
Сообщений: 159
Уважаемые посетители, помогите, ато не понимаю:

Суть вопроса: есть форма в которой есть два поля TextBox: sellerk (код покупателя) и
seller (название покупателя) и есть две таблицы: mparent (таблица в которой эти
данные должны сохраняться - поля sellerk и seller и другие) и sell (таблица из которой эти данные берутся - поля sellerk и seller).
Необходимо сделать, чтобы в форме после ввода в поле sellerk кода покупателя и
нажатия таб или ентер (потеря фокуса) - в поле seller автоматически появлялось
название покупателя которое берется из таблицы sell.

В DataEnvironment формы курсоры связаны: mparent.sellerk -> sell.sellerk
В TextBox sellerk LostFocus: ThisForm.seller.Value = sell.seller
ThisForm.Refresh

Теперь то чего понять немогу: если в форме есть Grid, построенный по таблице

Как эта проблема решается, ато замучился уже (может глупый вопрос)
mparent -> то все работает, если его нет -> то данные в поле seller не обновляются.
7 окт 04, 22:06    [1017450]     Ответить | Цитировать Сообщить модератору
 Re: Код покупателя -> Покупатель - нужно без Grida  [new]
Spavel_74
Member

Откуда:
Сообщений: 54
Не совсем понятно что хочется но попробуй так
В LostFocus sellerk
sellerk_=Alltrim(Upper(this.value))
Select sell
Select seller from sell where Alltrim(Upper(sellerk))==sellerk_ into Cursor q1
select q1
count all to countrec_
if countrec_=0
messagebox("покупатель в таблице sell ненайден")
endif
Tfisform.seller.value=Alltrim(q1.seller)
use
Select sell
Thisform.Refresh()
8 окт 04, 01:02    [1017507]     Ответить | Цитировать Сообщить модератору
 Re: Код покупателя -> Покупатель - нужно без Grida  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
У тебя некорректная структура данных.

Нельзя дублировать название элемента справочника в рабочей таблице (mparent). В ней должен быть только код записи (sellerK), а собственно название необходимо брать непосредственно из таблицы-справочника (sell)

Т.е. в Grid делаешь примерно следующие настройки

Grid.Column1.ControlSource="mparent.sellerK"
Grid.Column2.ControlSource="sell.seller"
Grid.Column2.ReadOnly = .T.

Подробнее читай здесь

Раздел "Связи и отношения"
http://www.foxhelp.ru/SovetyNachinajushhim?v=1agr
8 окт 04, 09:30    [1017757]     Ответить | Цитировать Сообщить модератору
 Re: Код покупателя -> Покупатель - нужно без Grida  [new]
help123
Member

Откуда: УКРАИНА
Сообщений: 159
Все-таки неполучается!??
Вот пример как я делаю - файл problem.zip

там две формы: work и dontwork соответственно в одной работает,
а в другой - нет
Прямо ерунда какая-то.

ПАМАГИТЕ!!!!

К сообщению приложен файл (problem.zip - 13Kb) cкачать
8 окт 04, 11:05    [1018206]     Ответить | Цитировать Сообщить модератору
 Re: Код покупателя -> Покупатель - нужно без Grida  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Поставь самой первой командой в методе ThisForm.SellerK.LostFocus()

GO RECNO() IN Mparent
8 окт 04, 11:26    [1018369]     Ответить | Цитировать Сообщить модератору
 Re: Код покупателя -> Покупатель - нужно без Grida  [new]
help123
Member

Откуда: УКРАИНА
Сообщений: 159
БОЛЬШОЕ СПАСИБО "ВЛАДИМИРМ" ВСЕ ЗАРАБОТАЛО.*******
************************************************

Да будет так
8 окт 04, 11:40    [1018454]     Ответить | Цитировать Сообщить модератору
 Re: Код покупателя -> Покупатель - нужно без Grida  [new]
help123
Member

Откуда: УКРАИНА
Сообщений: 159
Если можно - то еще есть один вопрос:

А как теперь отловить событие, если в форме введен код покупателя, которого нету в таблице sell и вывести сообщение об этом....

заранее благодарен
8 окт 04, 15:24    [1019661]     Ответить | Цитировать Сообщить модератору
 Re: Код покупателя -> Покупатель - нужно без Grida  [new]
ВладимирМ
Member

Откуда: г. Москва
Сообщений: 7864
Первые строки в методе ThisForm.SellerK.LostFocus()

GO RECNO() IN MParent
IF FOUND('sell')=.F.
	MESSAGEBOX('ничего нету-ти')
ENDIF
ThisForm.seller.Value = sell.seller
ThisForm.Refresh
8 окт 04, 15:44    [1019775]     Ответить | Цитировать Сообщить модератору
 Re: Код покупателя -> Покупатель - нужно без Grida  [new]
help123
Member

Откуда: УКРАИНА
Сообщений: 159
Все гениально и просто!!! Спасибо
8 окт 04, 16:03    [1019875]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить