powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Изменение условия where в SelectCmd СА в процессе
7 сообщений из 7, страница 1 из 1
Изменение условия where в SelectCmd СА в процессе
    #39142098
VIVA_CA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые знатоки!

На форме в методе LOAD создаю СА:
this.ca1 = CREATEOBJECT("CursorAdapter")
WITH this.ca1
.DataSourceType = "ODBC"
.DataSource = pr_Soed
.alias = 'zarp'
.tables = 'zarp'
.KeyFieldList = 'rabotnik,n_rab'
.whereType = 3
.FetchSize = -1
.FetchAsNeeded = .F.
uslovie= 'WHERE n_rab =1 or n_rab=7'
.SelectCmd = 'Select * from zarp' + uslovie
.UpdatableFieldList ...
.UpdateNameList
ENDWITH
this.ca1.cursorfill()

1. Перед выполнением ca1.CursorRefresh Где и Как обновить на uslovie= 'WHERE rabotnik ="Сидоров"' ?
те обновленное условие поиска.
2. Или
Как именно здесь (при описании свойств ca1) достучаться до метода BeforeCursorRefresh и
в нем прописать все варианты поиска к примеру через DO CASE ипользуя LPARAMETR cSelectCmd,
чтобы затем при необходимости в программе перед ca1.CursorRefresh выполнить ca1.BeforeCursorRefresh() WITH _usl(uslovie)
? В методе BeforeCursorRefresh необходимо в каждом варианте DO CASE прописывать каждый вариант Select ... или
в качестве параметра передать uslovie для .SelectCmd ??? не используя DO CASE
...
Рейтинг: 0 / 0
Изменение условия where в SelectCmd СА в процессе
    #39142192
VIVA_CA,
CA не рассчитан на изменение запроса для обновления, СА понимает только изменение значений параметров запроса. И никакие before... тут не помогут.

Твое "обновить на uslovie= 'WHERE rabotnik ="Сидоров"' - это изменение запроса. Оно допускается для CursorFill(), но при этом разрушается источник данных для грида.
...
Рейтинг: 0 / 0
Изменение условия where в SelectCmd СА в процессе
    #39142487
VIVA_CA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
благодарю за такой лаконичный приговор!

И все же, может кто нибудь подскажет - как в моем случае обратиться к методу(BeforeCursorFill) и изменить параметр cSelectCmd?
...
Рейтинг: 0 / 0
Изменение условия where в SelectCmd СА в процессе
    #39142516
VIVA_CAблагодарю за такой лаконичный приговор!А от длины приговора хоть как-то меняется его суть?
И все же, может кто нибудь подскажет - как в моем случае обратиться к методу(BeforeCursorFill) и изменить параметр cSelectCmd?Молча. Берешь и обращаешься. И изменяешь хоть до посинения. Только толку от этого будет 0. Нравится бегать по граблям?
...
Рейтинг: 0 / 0
Изменение условия where в SelectCmd СА в процессе
    #39142828
VIVA_CA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый правильный проходящий, Вы правы - опробовал на СА на базе заранее созданного класса СА - там с BeforeCursorFill все понятно !
Может снизойдете и пару строк набросаете - уже для просвещения, как в конкретном случае обратиться и прописать в метод ca1.BeforeCursorFill(или любой метод са1) нужный мне код?! С уважением и благодарностью за оказанное мне внимание.
...
Рейтинг: 0 / 0
Изменение условия where в SelectCmd СА в процессе
    #39142939
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно в запросе указывать переменные, например есть свойство: ThisForm.cFilter
присваиваешь ThisForm.cFilter = "Иванов" в запросе пишешь
Код: sql
1.
.SelectCmd = 'Select * from zarp where rab = ?ThisForm.cFilter'



Это именно значения, т.е. так не сработает ThisForm.cFilter = [where rab = 'Иванов']
Код: sql
1.
.SelectCmd = 'Select * from zarp ?ThisForm.cFilter'
...
Рейтинг: 0 / 0
Изменение условия where в SelectCmd СА в процессе
    #39143231
VIVA_CA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Благодарю!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Изменение условия where в SelectCmd СА в процессе
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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