Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание списка 
:(
    Опции темы
Aden1985
Дата 9.9.2011, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 9.9.2011

Репутация: нет
Всего: нет



Здравствуйте, помогите разобраться со следующим вопросом.
На форме два списка comboproizv(список производителей) и combomarka(список марок приборов).
При выборе значение значения из omboproizv во втором списке должны вывестисть марки приборов, соответствующие данному производителю.
Код

thisform.Gridproizv.RecordSource = ""
WITH THISFORM
proizv1= .comboproizv.value
 ENDWITH 
*********** 
SELECT proizvcounter
LOCATE FOR proizvcounter.nameproizv = proizv1
nidproizv = IIF(FOUND(), proizvcounter.idproizv, 0)

***************
SELECT Counter.marka;
 FROM gaz!counter;
WHERE  Counter.idproizv = nidproizv INTO CURSOR MyProba NOFILTER ReadWrite
thisform.Gridproizv.RecordSource = ""  
thisform.Gridproizv.RecordSource = "MyProba"


Результат вывел в таблицу на форме Gridproizv, а можно ли вывести результат в combomarka? Или можно это сделать другим способом?

PM MAIL   Вверх
Данкинг
Дата 9.9.2011, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 7
Всего: 130



Цитата(Aden1985 @  9.9.2011,  14:49 Найти цитируемый пост)
в combomarka? 

Так посмотри свойства "RowSource" и "RowSourceType".

Добавлено через 1 минуту и 23 секунды
Ну можно, конечно, и в цикле пройтись по результатам выборки и заполнить комбик.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Aden1985
Дата 9.9.2011, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 9.9.2011

Репутация: нет
Всего: нет



Спасибо. В поле Rowsourse =Myproba.marka, а  в RowsourseType=6-fields. Работает.... smile  smile 

Это сообщение отредактировал(а) Aden1985 - 9.9.2011, 14:20
PM MAIL   Вверх
Aden1985
Дата 9.9.2011, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 9.9.2011

Репутация: нет
Всего: нет



Рано обрадовался. Сейчас выдает ошибку "Cannot access the selected table myproba.marka ". Что это может быть?
PM MAIL   Вверх
Данкинг
Дата 9.9.2011, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 7
Всего: 130



Попробуй динамически в коде прописывать после выполнения запроса.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Aden1985
Дата 9.9.2011, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 9.9.2011

Репутация: нет
Всего: нет



В процеду ре Init формы прописал
Код

thisform.comboMarka.RowSource='MyProba.marka'
thisform.comboMarka.RowSourcetype=6

Та же ошибка.
PM MAIL   Вверх
Данкинг
Дата 9.9.2011, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 7
Всего: 130



Да не на события формы, а после "SELECT Counter.marka; FROM gaz!counter;"


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Aden1985
Дата 9.9.2011, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 9.9.2011

Репутация: нет
Всего: нет



Код

WITH THISFORM
proizv1= .comboproizv.value
 ENDWITH 
*********** 
SELECT proizvcounter
LOCATE FOR proizvcounter.nameproizv = proizv1
nidproizv = IIF(FOUND(), proizvcounter.idproizv, 0)

SELECT Counter.marka;
 FROM gaz!counter;
 WHERE  Counter.idproizv = nidproizv INTO CURSOR MyProba NOFILTER ReadWrite
 thisform.comboMarka.RowSource='MyProba.marka'
thisform.comboMarka.RowSourcetype=6
 
Ошибка та же.

Код

WITH THISFORM
proizv1= .comboproizv.value
 ENDWITH 
*********** 
SELECT proizvcounter
LOCATE FOR proizvcounter.nameproizv = proizv1
nidproizv = IIF(FOUND(), proizvcounter.idproizv, 0)
SELECT Counter.marka;
 FROM gaz!counter;
 thisform.comboMarka.RowSource='MyProba.marka'
thisform.comboMarka.RowSourcetype=6
 WHERE  Counter.idproizv = nidproizv INTO CURSOR MyProba NOFILTER ReadWrite

Выдает ошибку "unrecognized command verb ", да же если после FROM gaz!counter; ставлю пустую строку. Ничего не понимаю но сегодня же один раз сработало...
PM MAIL   Вверх
Данкинг
Дата 9.9.2011, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 7
Всего: 130



Экспериментируй с "RowSourcetype" тогда.
Цитата(Aden1985 @  9.9.2011,  21:37 Найти цитируемый пост)
Выдает ошибку "unrecognized command verb ", 

Так понятно - зачем внутрь запроса-то писать какой-то код.



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Aden1985
Дата 9.9.2011, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 9.9.2011

Репутация: нет
Всего: нет



Сделал сначала форму, разместил списки. Все работает. Перезагрузил Foxpro. Снова та же ошибка. В чем тут причина?
Код

WITH THISFORM
proizv1= .comboproizv.value
 ENDWITH 
*********** 
SELECT proizvcounter
LOCATE FOR proizvcounter.nameproizv = proizv1
nidproizv = IIF(FOUND(), proizvcounter.idproizv, 0)

***************
SELECT Counter.marka;
 FROM gaz!counter;
 WHERE  Counter.idproizv = nidproizv INTO CURSOR MyProba NOFILTER ReadWrite


Выбираю производителя из первого списка, выдает ошибку, при закрытии ошибки, второй список исчезает.При дальнейшем выборе из списков все работает.

Это сообщение отредактировал(а) Aden1985 - 9.9.2011, 21:44
PM MAIL   Вверх
Aden1985
Дата 9.9.2011, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 9.9.2011

Репутация: нет
Всего: нет



Ну можно, конечно, и в цикле пройтись по результатам выборки и заполнить комбик.
У Вас есть какой пример?
PM MAIL   Вверх
Данкинг
Дата 9.9.2011, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 7
Всего: 130



Цитата(Aden1985 @  10.9.2011,  00:38 Найти цитируемый пост)
У Вас есть какой пример? 

Код

select MyProba 
thisform.combo1.Clear
FOR j=1 TO RECCOUNT()
 GO j
 thisform.combo1.AddItem(marka)
endfor



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Aden1985
Дата 10.9.2011, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 9.9.2011

Репутация: нет
Всего: нет



Спасибо
PM MAIL   Вверх
Aden1985
Дата 15.9.2011, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 9.9.2011

Репутация: нет
Всего: нет



Здравствуйте, помогите разобраться.На форме два списка. При выборе конкретного значения из первого списка, для второго списка указывается источник данных(таблица proizvplit, поле nameproizv).
В методе valid первого списка прописал. Выдает ошибку "Alias 'PROIZVPLIT' is not found".
Код

WITH THISFORM  
     IF .comboNai_vid.Value= 'ПЛИТА ГАЗОВАЯ'  
        WITH .comboNai_firma  
           .RowSource=''  
           .RowSource='proizvplit.nameproizv'  
           .RowSourcetype=6  
        ENDWITH  
     ELSE  
     endif  
     .Refresh  
  ENDWITH


Да, все что нужно было, так это в Database формы добавить таблицу PROIZVPLIT.

Это сообщение отредактировал(а) Aden1985 - 15.9.2011, 21:05
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Foxpro/Clipper/Dbase"
MoLeX

Запрещается!

1. Публиковать ссылки для чисто рекламных целей.

2. Оффтопить, флеймить, говорить не культурно.

Пожалуйста, адекватно задавайте свой вопрос. Тема должна создаваться с названием характеризующем Вашу проблему.

Задавайте вопросы правильно - как спросите, так вам и ответят.

Разрешено!

Давать ссылки на статьи, обзоры, если это не нарушает первый пункт правил.

Задавая вопрос, давайте нужную информацию касающуюся Вашей проблемы. Этим вы ускорите полезные ответы.

P.S. Размещение рекламы будет строго наказываться!



Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MoLeX

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Foxpro/Clipper/Dbase | Следующая тема »


 




[ Время генерации скрипта: 0.1329 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.