|
Select и grid
|
|||
---|---|---|---|
#18+
Возник вопросик. Нужно выбрать из таблицы записи с некоторыми условиями и вывести результат на форму в грид. Подскажите пожалуйста, это возможно? Если да, то как это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2008, 15:34 |
|
Select и grid
|
|||
---|---|---|---|
#18+
В событиии Load формы создать курсор, в который извлекается из ВАшей таблицы нужная информация: Select p1,p2,p3 from MyTable; where <Условия на поля p1,p2,p3> into cursor MyCursor В событии Init формы задать MyCursor в качестве источника грида thisform.Grid1.recordsourceType=1 thisform.Grid1.recordsource='MyCursor' ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2008, 16:12 |
|
Select и grid
|
|||
---|---|---|---|
#18+
Андрей КВ событиии Load формы создать курсор, в который извлекается из ВАшей таблицы нужная информация: Select p1,p2,p3 from MyTable; where <Условия на поля p1,p2,p3> into cursor MyCursor В событии Init формы задать MyCursor в качестве источника грида thisform.Grid1.recordsourceType=1 thisform.Grid1.recordsource='MyCursor' В качестве источника грида можно и сразу указать SELECT ... FROM ... INTO CURSOR cName и GRID.RecordSourceType=4 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2008, 17:21 |
|
Select и grid
|
|||
---|---|---|---|
#18+
Если условие "стандартное" в том смысле, что запрос всегда один и тот же, а меняется только значения с которым сравниваются поля в условии отбора, то можно еще использовать Local View или CursorAdapter как источник для Grid. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2008, 19:12 |
|
Select и grid
|
|||
---|---|---|---|
#18+
Что-то не получается. Пишу так: par1=thisformset.form1.combo1.Value par2=thisformset.form1.combo2.Value SELECT t.title, m.magazin, m.adres, p.kolvo FROM table1 as t JOIN prise_list as p ON t.kod=p.kod JOIN magazin as m ON p.kodmag=m.kodmag WHERE t.kod=par1 AND m.kodmag=par2 INTO cursor cur_query1 thisform.grid1.RecordSourceType=1 thisform.grid1.RecordSource='cur_query1' При запуске возникает ошибка: operator/operand type masmatch ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2008, 19:33 |
|
Select и grid
|
|||
---|---|---|---|
#18+
В событии Form.Load объектов формы еще в принципе не существует. Поэтому команда вроде par1=thisformset.form1.combo1.Value бессмысленна. Нет тех объектов, к которым пытаетесь обратится. Они еще просто не созданы. Перенесите свой код в событие Form.Init. Хотя тут возможны некоторые заморочки с Grid. Я бы Вам предложил сделать параметризированный Local View. По данному запросу это будет сделать проще. Замечание : Префикс "m." закреплен за обращением к переменным памяти. Т.е. выражение "m.kodmag" может быть воспринято как обращение к переменной памяти с именем "kodmag". Чтобы избежать подобных недоразумений крайне не желательно давать однобуквенные алиасы таблицам. Лучше или используйте полное имя таблицы или алиас из 2...3 символов. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2008, 20:34 |
|
Select и grid
|
|||
---|---|---|---|
#18+
К сожалению я не знаю как создать Local View. Подскажите пожалуйста как это сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2008, 20:41 |
|
Select и grid
|
|||
---|---|---|---|
#18+
Начинать с Local View трудновато. Сделайте так. В событие Form.init сформируйте курсор , считая, что два Ваши комбобокса - пустые. Сделайте этот курсор источником для грида, как было показано ранее. Сделайте на форме кнопку, создающую в методе Click курсор с учётом значений комбобоксов. В качестве последней команды метода Click выполните метод Thisform.Grid1.refresh ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2008, 21:51 |
|
Select и grid
|
|||
---|---|---|---|
#18+
neznakomkaК сожалению я не знаю как создать Local View. Подскажите пожалуйста как это сделать. - Открыть файл проекта - Перейти на закладку Data - Открыть узел с именем базы данных - Встать на узел с именем "Local Views" - Нажать кнопку New Далее откорется достаточно понятный мастер создания Local View. Параметр в Local View задается через вопросительный знак. Т.е. на закладке Filter в столбце Example пишется нечто вроде Код: plaintext
Вопросительный знак как раз и указывает на то, что далее следует параметр. Т.е. некая переменная памяти, значение которой будет определено непосредственно перед открытием или перезапросом Local View. Если значение параметра не будет задано, то в тот момент, когда она потребуется откроется диалоговое окно с предложением указать значение параметра. После того, как Local View будет создано с ней можно работать как с обычной таблицей FoxPro. Добавляешь его в DataEnvironment формы и указываешь свойство Код: plaintext
Этот параметр означает, что в момент инициализации формы Local View откроется, но данными наполнен не будет. Т.е. будет пустая таблица. Но, кроме того, не последует запроса на указание параметров, поскольку к этому моменту значение параметров пока не известно. Далее в событии Form.Init определяются значения параметров и выполняется перезапрос для наполнения данными Local View примерно следующим способом Код: plaintext 1. 2. 3.
Здесь MyLocalView - это алиас Local View с которым он включен в DataEnvironment формы. Этот код можно повторять при изменении выбранных значений Combo1 и Combo2 ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2008, 22:33 |
|
Select и grid
|
|||
---|---|---|---|
#18+
Спасибо большое за объяснения!!! Всё работает. Сделала без кнопки. поместила создание курсора в событие paint. Надо попробовать ещё с LocalView. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2008, 22:36 |
|
Select и grid
|
|||
---|---|---|---|
#18+
> Спасибо большое за объяснения!!! Всё работает. Сделала без кнопки. > поместила создание курсора в событие paint. В какое событие???? А при чем здесь paint? Или нужно, чтобы данные перелопачивались когда мы меняем размер формы, скрываем, а потом снова показываем всю форму/часть формы?... Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2008, 07:44 |
|
Select и grid
|
|||
---|---|---|---|
#18+
Galyamov RinatА при чем здесь paint? Ну, карта так легла! :) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2008, 08:55 |
|
Select и grid
|
|||
---|---|---|---|
#18+
В качестве источника грида можно и сразу указать SELECT ... FROM ... INTO CURSOR cName и GRID.RecordSourceType=4[/quot] если использовать SQL Statement, то все конечно работает, но предварительно выскакивает таблица, сформированная select. Можно как нибудь с этим побороться? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2008, 14:08 |
|
Select и grid
|
|||
---|---|---|---|
#18+
hazeВ качестве источника грида можно и сразу указать SELECT ... FROM ... INTO CURSOR cName и GRID.RecordSourceType=4 если использовать SQL Statement, то все конечно работает, но предварительно выскакивает таблица, сформированная select. Можно как нибудь с этим побороться?[/quot] Обратить самое пристальное внимание на INTO CURSOR. Вот без этого и "выскакивает таблица". ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2008, 14:15 |
|
|
start [/forum/topic.php?fid=41&msg=35251966&tid=1587236]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
66ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 168ms |
0 / 0 |