powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите плиз нубасу=) ( по форме)
6 сообщений из 6, страница 1 из 1
Помогите плиз нубасу=) ( по форме)
    #36427670
qwertyy2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер, есть форма в ней грид по 2ум таблицам, в одной таблице есть поле код типа работы, в другой таблице содержаться эти коды типов и их названия... в гриде делаю новый столбик в контролсаурс прописываю tip.name и в Data Enviroment ставлю связь, связь отображена на скрине... но почему то на всех столбиках заполяеться одно и то же значение имени типа (tip.name) если свяь поменять в таблице ничего не поялвяться просто пустой столбик...
Как исправить это? помогите плииз!
...
Рейтинг: 0 / 0
Помогите плиз нубасу=) ( по форме)
    #36427739
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwertyy2010,

Если я правильно понял, к гриду привязана таблица registr, т.е.
Код: plaintext
1.
Grid.RecordSource = 'registr'
а в новой колонке сво-во Column.ControlSource вы ставите поле уже из ДРУГОЙ таблицы tip.
Так вот данном случае грид отображает построчно строки той таблицы, которая прописана в RecordSource.
А в новой колонке он будет показывать вам одну и ту же строку таблицы tip, на которой в данный момент установлен указатель в этой таблице tip.

Я могу предложить два варианта
1) Описать метод на форме GetTip что-то вроде (фокса под рукой нет, возможны синтаксические ошибки)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
parameters tnTip
local lnOldArea
lnOldArea = select()
select tip
locate for id = tnTip
if found()
      select(lnOldArea)
      return name
else
      select(lnOldArea)
      return '<не определен>'
end if 
Тогда в новой колонке надо будет прописать Column.ControlsSource = '(thisform.GetTip(registr.id_type))'

2) Привязать к гриду курсор MyCursor, полученный в рез-те
Код: plaintext
1.
2.
3.
4.
select *  ;
from registr ;
left join tip on registr.id_type = tip.id ;
into cursor MyCursor
...
Рейтинг: 0 / 0
Помогите плиз нубасу=) ( по форме)
    #36427852
igorbik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwertyy2010,

1 Судя по рисунку, связь по полю id_type сделана с точностью до наоборот. И вообще, кажется, что в таблице registr оно поименовано не так, как в таблице tip, хотя это не принципиально.
2 В гриде проверить controlsource как для столбцов, так и для контролов в каждой колонке. В новой колонке это будет tip.name.
3 Для всего грида в качестве RecordSource поставить registr.

У меня это все работает.
...
Рейтинг: 0 / 0
Помогите плиз нубасу=) ( по форме)
    #36432149
qwertyy2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AmKadqwertyy2010,

Если я правильно понял, к гриду привязана таблица registr, т.е.
Код: plaintext
1.
Grid.RecordSource = 'registr'
а в новой колонке сво-во Column.ControlSource вы ставите поле уже из ДРУГОЙ таблицы tip.
Так вот данном случае грид отображает построчно строки той таблицы, которая прописана в RecordSource.
А в новой колонке он будет показывать вам одну и ту же строку таблицы tip, на которой в данный момент установлен указатель в этой таблице tip.

Я могу предложить два варианта
1) Описать метод на форме GetTip что-то вроде (фокса под рукой нет, возможны синтаксические ошибки)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
parameters tnTip
local lnOldArea
lnOldArea = select()
select tip
locate for id = tnTip
if found()
      select(lnOldArea)
      return name
else
      select(lnOldArea)
      return '<не определен>'
end if 
Тогда в новой колонке надо будет прописать Column.ControlsSource = '(thisform.GetTip(registr.id_type))'

2) Привязать к гриду курсор MyCursor, полученный в рез-те
Код: plaintext
1.
2.
3.
4.
select *  ;
from registr ;
left join tip on registr.id_type = tip.id ;
into cursor MyCursor





Где именно нужно прописать метод GetTip???
А с привязкой к гриду курсора я вообще не сталкивался(
...
Рейтинг: 0 / 0
Помогите плиз нубасу=) ( по форме)
    #36432293
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwertyy2010,

Привзяка курсора к гриду также как и привязка таблицы к гриду.
Если не знаешь что такое курсор - читай в хелпе.

GetTip - добавляешь метод на форме. Щелкаешь на форму, далее в меню выбираешь Form (Class) - new Method и т.д
...
Рейтинг: 0 / 0
Помогите плиз нубасу=) ( по форме)
    #36440737
qwertyy2010
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все разобрался всем спс=) появилась новая проблемка=) отписал в др теме
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите плиз нубасу=) ( по форме)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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