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

Откуда:
Сообщений: 148
на форме есть check1. в методе interactiveghange есть условие в зависимости от того стоит или нет галочка выбираются записи из таблицы pacient в курсор и отображаются в грид1 вот код

+
автор
SELECT * DISTINCT FROM obsled o WHERE !EMPTY(o.polis) AND BETWEEN(o.dat_obs,startDate,endDate) AND INLIST(o.pri_zak,0,2) AND o.nom_reg=vnom_reg INTO CURSOR tmpObsled
IF thisform.check1.value=0
SELECT * FROM pacient WHERE ser=tmpobsled.ser AND polis=tmpobsled.polis INTO CURSOR curs1
ELSE
SELECT * FROM pacient WHERE ser=tmpobsled.ser AND polis=tmpobsled.polis AND EMPTY(smocod) INTO CURSOR curs1
ENDIF
GO TOP

thisform.grid1.Refresh
thisform.grid2.RecordSource='tmpObsled'
thisform.grid2.Column1.ControlSource='tmpObsled.n_tal'
thisform.grid2.Column2.ControlSource='tmpObsled.dat_obs'
thisform.grid2.Column3.ControlSource='tmpObsled.nam'
thisform.grid2.Column4.ControlSource='tmpObsled.n_cab'
thisform.grid2.Column5.ControlSource='tmpObsled.n_ch'
thisform.grid2.Column6.ControlSource='tmpObsled.n_min'
thisform.grid2.Column7.ControlSource='tmpObsled.pri_zak'
thisform.Label1.Caption=vnamreg
thisform.grid1.SetFocus()
thisform.grid1.SetAll("DynamicBackColor","IIF(LEN(pacient.smocod)>0,RGB(255,255,255),RGB(255,0,0))","Column")

SELECT tmpObsled
SET FILTER TO ser=Pacient.ser AND polis=Pacient.polis AND BETWEEN(dat_obs,startDate,endDate) AND nom_reg=vnom_reg AND INLIST(pri_zak,0,2)


если ставить галочку то в нижнем грид2 записи из курсора tmpobsled отображаются некорректно. помогите исправить код чтобы в грид2 выводилось записи которые выше вывожу туда.. а то в грид2 выводятся лишние столбцы
14 сен 12, 13:19    [13164356]     Ответить | Цитировать Сообщить модератору
 Re: ошибка при выводе  [new]
alextashk
Member

Откуда:
Сообщений: 431
Андрей8989,

Из текста вопроса ничего не ясно

Какие лишнее столбцы?

Из приведённого кода у Вас должны быть проблемы с grid1, если
curs1 связан с grid1
16 сен 12, 18:44    [13172399]     Ответить | Цитировать Сообщить модератору
 Re: ошибка при выводе  [new]
Андрей8989
Member

Откуда:
Сообщений: 148
alextashk, да возникают проблемы, код такой. при запуске программы появляются ошибки типа "Variable Ser шы not found". Почему возникает ошибка, как исправить это

автор
SELECT * DISTINCT FROM obsled o WHERE !EMPTY(o.polis) AND BETWEEN(o.dat_obs,startDate,endDate) AND INLIST(o.pri_zak,0,2) AND o.nom_reg=vnom_reg INTO CURSOR tmpObsled

IF thisform.check1.Value=0
SELECT * FROM pacient, tmpobsled WHERE pacient.ser=tmpobsled.ser AND pacient.polis=tmpobsled.polis INTO CURSOR curs1
ELSE
IF thisform.check1.Value=1
SELECT * FROM pacient, tmpobsled WHERE pacient.ser=tmpobsled.ser AND pacient.polis=tmpobsled.polis AND EMPTY(pacient.smocod) INTO CURSOR curs1
ENDIF
ENDIF

thisform.grid1.Refresh
thisform.grid1.columncount=-1
thisform.grid1.recordsourcetype=1
thisform.grid1.RecordSource='curs1'
thisform.grid1.Column1.ControlSource='curs1.ser'
thisform.grid1.Column2.ControlSource='curs1.polis'
thisform.grid1.Column3.ControlSource='curs1.fam'
thisform.grid1.Column4.ControlSource='curs1.im'
thisform.grid1.Column5.ControlSource='curs1.ot'
thisform.grid1.Column6.ControlSource='curs1.pol'
thisform.grid1.Column7.ControlSource='curs1.dat_rojd'
thisform.grid1.Column8.ControlSource='curs1.smocod'
thisform.grid1.Column9.ControlSource='curs1.nom_reg'
17 сен 12, 02:38    [13173611]     Ответить | Цитировать Сообщить модератору
 Re: ошибка при выводе  [new]
tanglir
Member

Откуда:
Сообщений: 28966
автор
thisform.grid1.Column1.ControlSource='curs1.ser'
А в курсоре это поле вообще есть? Отучайтесь писать "select *", перечисляйте нужные поля явно.
17 сен 12, 05:25    [13173669]     Ответить | Цитировать Сообщить модератору
Все форумы / FoxPro, Visual FoxPro Ответить