Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / грид / 25 сообщений из 45, страница 1 из 2
19.09.2012, 11:50
    #37963703
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
люди такая ситуация.. у меня в грид в один из столбцов выводятся значения из другой таблицы т.е. есть поле smocod и когда выбираешь это поле появляются оба значения и выбираешь нужный.. явно нигде комбобокс не связан с грид.. так вот все работает.. но если я выберу значение и нажму кнопку обновить то изменения сохраняются но потом в поле smocod не получается выбирать значения так. может кто знает как исправить
...
Рейтинг: 0 / 0
19.09.2012, 11:57
    #37963726
IgorNG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
Андрей8989люди такая ситуация.. у меня в грид в один из столбцов выводятся значения из другой таблицы т.е. есть поле smocod и когда выбираешь это поле появляются оба значения и выбираешь нужный.. явно нигде комбобокс не связан с грид.. так вот все работает.. но если я выберу значение и нажму кнопку обновить то изменения сохраняются но потом в поле smocod не получается выбирать значения так. может кто знает как исправить

Понятно можешь объяснить, откуджа ты выбираешь из двух кодов? Или скриншот прицепи.
...
Рейтинг: 0 / 0
19.09.2012, 12:41
    #37963835
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
IgorNG, вот скрин при нажатии на кнопку обновить больше не возможно так выбирать..

вот код кнопки "обновить"
авторUPDATE pacient SET pacient.smocod=curs1.smocod from curs1 WHERE pacient.polis=curs1.polis

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 distinct pacient.ser,pacient.polis,pacient.fam,pacient.im,pacient.ot,pacient.pol,pacient.dat_rojd,pacient.smocod,pacient.nom_reg, tmpobsled.ser as ser1, tmpobsled.polis as polis1 FROM pacient, tmpobsled WHERE pacient.ser=tmpobsled.ser AND pacient.polis=tmpobsled.polis ORDER BY fam INTO CURSOR curs1 READWRITE
ELSE
IF thisform.check1.value=1
SELECT distinct pacient.ser,pacient.polis,pacient.fam,pacient.im,pacient.ot,pacient.pol,pacient.dat_rojd,pacient.smocod,pacient.nom_reg, tmpobsled.ser as ser1, tmpobsled.polis as polis1 FROM pacient, tmpobsled WHERE pacient.ser=tmpobsled.ser AND pacient.polis=tmpobsled.polis AND EMPTY(pacient.smocod) ORDER BY fam INTO CURSOR curs1 READWRITE
ENDIF
ENDIF

GO TOP
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.grid2.Column1.header1.Caption='Ном. тал.'
thisform.grid2.Column2.header1.Caption='Дат. обсл.'
thisform.grid2.Column3.header1.Caption='Наименование методики'
thisform.grid2.Column4.header1.Caption='Ном. каб.'
thisform.grid2.Column5.header1.Caption='Время'
thisform.grid2.Column6.header1.Caption=' обследования'
thisform.grid2.Column7.header1.Caption='Приказ. закр.'
thisform.grid2.Column1.header1.FontBold= .T.
thisform.grid2.Column2.header1.FontBold= .T.
thisform.grid2.Column3.header1.FontBold= .T.
thisform.grid2.Column4.header1.FontBold= .T.
thisform.grid2.Column5.header1.FontBold= .T.
thisform.grid2.Column6.header1.FontBold= .T.
thisform.grid2.Column7.header1.FontBold= .T.
thisform.grid2.Column5.header1.Alignment=1
thisform.grid2.Column6.header1.Alignment=0
thisform.grid2.Column1.Width=75
thisform.grid2.Column2.Width=75
thisform.grid2.Column3.Width=262
thisform.grid2.Column4.Width=75
thisform.grid2.Column5.Width=75
thisform.grid2.Column6.Width=102
thisform.grid2.Column7.Width=75

thisform.grid1.Refresh
thisform.grid1.columncount=9
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'
thisform.grid1.Column1.header1.Caption='Серия'
thisform.grid1.Column2.header1.Caption='Полис'
thisform.grid1.Column3.header1.Caption='Фамилия'
thisform.grid1.Column4.header1.Caption='Имя'
thisform.grid1.Column5.header1.Caption='Отчество'
thisform.grid1.Column6.header1.Caption='Пол'
thisform.grid1.Column7.header1.Caption='Дат.рожд'
thisform.grid1.Column8.header1.Caption='Код СМО'
thisform.grid1.Column9.header1.Caption='Ном. рег.'
thisform.grid1.Column1.Width=42
thisform.grid1.Column2.Width=69
thisform.grid1.Column3.Width=135
thisform.grid1.Column4.Width=141
thisform.grid1.Column5.Width=116
thisform.grid1.Column6.Width=29
thisform.grid1.Column7.Width=67
thisform.grid1.Column8.Width=83
thisform.grid1.Column9.Width=58

SELECT tmpObsled
SET FILTER TO tmpObsled.ser=curs1.ser AND tmpObsled.polis=curs1.polis AND BETWEEN(dat_obs,startDate,endDate) AND nom_reg=vnom_reg AND INLIST(pri_zak,0,2)
thisform.grid2.Refresh
...
Рейтинг: 0 / 0
19.09.2012, 13:14
    #37963909
IgorNG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
Андрей8989,

Так смотри к каким данным привязан combobox в column8 изначально.
Потом-то ты его привязываешь к curs1
...
Рейтинг: 0 / 0
19.09.2012, 13:43
    #37963991
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
IgorNG, а где это можно смотреть? в свойствах нету ничего что связано с комбобокс.. и на форме как я вижу нету комбобокс
...
Рейтинг: 0 / 0
19.09.2012, 13:45
    #37964000
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
IgorNG, ааа есть вижу, а как его привязать теперь в курсору..
...
Рейтинг: 0 / 0
19.09.2012, 13:48
    #37964009
IgorNG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
Андрей8989,

В гриде, в колонке 8 у тебя комбобокс изначально привязан к smo.smokod< nam_smok.
А при нажатии на кнопку "Обновить" у тебя
thisform.grid1.Column8.ControlSource='curs1.smocod'
...
Рейтинг: 0 / 0
19.09.2012, 14:05
    #37964059
asdor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
Андрей8989,

Зачем ты везде ставишь distinct ?
Неужели непонятно, что это потенциально опасно. Тормоз, и ведет к непредвиденным ошибкам.
...
Рейтинг: 0 / 0
19.09.2012, 14:10
    #37964076
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
IgorNG, привязываю вот так, но говорит синтаксическая ошибка
авторthisform.grid1.column8.combo3.RowSource=smo.smocod,nam_smok
когда нажимаю обновить пишет combo3 не найден. Может я не так привязываю?
...
Рейтинг: 0 / 0
19.09.2012, 14:16
    #37964093
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
asdor, если не ставить distinct то одного пациента она по несколько раз выводит
...
Рейтинг: 0 / 0
19.09.2012, 14:17
    #37964094
IgorNG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
Андрей8989,

А CurrentControl = combo3 кто писать будет?
...
Рейтинг: 0 / 0
19.09.2012, 14:21
    #37964109
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
IgorNG, я только начинаю изучать fox вернее до этого проходили в универе поверхностно а сейчас нужно заново учить.. времени особо нет учить все свойства поэтому прошу помощи
...
Рейтинг: 0 / 0
19.09.2012, 14:24
    #37964120
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
IgorNG, пишу так., если неправильно просьба большая поправьте код

авторthisform.grid1.column8.CurrentControl=combo3
thisform.grid1.column8.combo3.RowSource='smo.smocod,nam_smok'
...
Рейтинг: 0 / 0
19.09.2012, 14:25
    #37964121
asdor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
Андрей8989asdor, если не ставить distinct то одного пациента она по несколько раз выводит
Потому то и указал на это!
Выборка у вас, хоть и выполняется, но она ПРИНЦИПИАЛЬНО не верна!!!!

Вы сначала логически разбиритесь, что вам надо.
Напишите ТЗ для себя. Очень подробно.
На простом ясном для вас языке.

Потом прочтите любую книгу по SQL. И книгу по Флоксу.
Многие вопросы отпадут, либо будут грамотнее сформулированы.

Если конечно это все не курсач. Для него и так сойдет)))
...
Рейтинг: 0 / 0
19.09.2012, 14:29
    #37964131
asdor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
Андрей8989,

Весь ваш приведенный код, работать не будет.
Явно вы его ни разу не запускали в контексте формы. Иначе уже наткнулись бы на грабли.

Зачем вам комбо в гриде?
Цель какова?
...
Рейтинг: 0 / 0
19.09.2012, 14:29
    #37964133
IgorNG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
Андрей8989,

thisform.grid1.Column8.ControlSource="curs1.smocod"
thisform.grid1.column8.CurrentControl = "Combo3"
thisform.grid1.column8.combo3.RowSource="smo.smocod,nam_smok"
...
Рейтинг: 0 / 0
19.09.2012, 14:31
    #37964140
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
asdor, почему неверна. вы все говорите это неверно то неверно, а почему неверно? логически все правильно как я вижу.
сначала вначале программы из таблицы obsled в курсор tmpobsled выбираются все записи попадающие в интервал указанный вначале программы. затем при вводе пароля из таб personal в vnom_reg записывается значение поля nom_reg это пароль. потом из таблицы pacient в грид выводятся через курсор записи у которых поля ser,polis равны полям из курсора tmpobsled. а в нижний грид выводятся те обследования которые проходит тот или иной пациент во этот промежуток времени
...
Рейтинг: 0 / 0
19.09.2012, 14:33
    #37964146
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
asdor, во первых эту программу делал не, а сотруддник который до меня работал, во вторых в поле КодСмо выводятся два возможных значения из таблицы smo. чтобы пользователь мог выбрать либо первое либо второе
...
Рейтинг: 0 / 0
19.09.2012, 14:37
    #37964156
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
IgorNG,
...
Рейтинг: 0 / 0
19.09.2012, 14:38
    #37964157
asdor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
Андрей8989asdor, во первых эту программу делал не, а сотруддник который до меня работал, во вторых в поле КодСмо выводятся два возможных значения из таблицы smo. чтобы пользователь мог выбрать либо первое либо второе

Ну здесь вы объяснили, зачем комбо.
Но не говорите, что вы это запускали.
Почему неверно, вы запустите, и все увидите.
После нажатия на кнопку, гриды станут пустыми)))

И начнутся новые вопросы.
Вы просто то запустите
...
Рейтинг: 0 / 0
19.09.2012, 14:41
    #37964164
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
asdor, нет, в гридах все нормально отображается. хотя если немного зависнет, пустые бывают потом выводится все равно то что надо. с комбо единственная ошибка и все
...
Рейтинг: 0 / 0
19.09.2012, 14:42
    #37964168
asdor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
Андрей8989IgorNG, привязываю вот так, но говорит синтаксическая ошибка
авторthisform.grid1.column8.combo3.RowSource=smo.smocod,nam_smok
когда нажимаю обновить пишет combo3 не найден. Может я не так привязываю?

А вы уверены, что он там есть?
Может правильно пишет?

Вы посмотрите все же, есть ли он там. И если там что то есть, то как наз-ся?

Положите сюда эту форму в конце концов)))
...
Рейтинг: 0 / 0
19.09.2012, 14:43
    #37964172
asdor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
Андрей8989asdor, нет, в гридах все нормально отображается. хотя если немного зависнет, пустые бывают потом выводится все равно то что надо. с комбо единственная ошибка и все

Что то вы недоговариваете))))
...
Рейтинг: 0 / 0
19.09.2012, 14:45
    #37964174
Андрей8989
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
asdor, вот проект.. на форме form1 есть кнопка обновить при нажатии на него я вылелил в звездочках код который мне тут подсказали. комбобокс есть в гриде.
...
Рейтинг: 0 / 0
19.09.2012, 14:55
    #37964204
asdor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
грид
Андрей8989asdor, вот проект.. на форме form1 есть кнопка обновить при нажатии на него я вылелил в звездочках код который мне тут подсказали. комбобокс есть в гриде.

А где же главное то?
Таблицы где, с чем работать?)))

Ужасный код критиковать-разбирать, это 3 дня лекции читать.

И не сходится:
Андрей8989asdor, во первых эту программу делал не, а сотруддник который до меня работал

Просто не верю)))
Тут и писать то нечего
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / грид / 25 сообщений из 45, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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