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

Понятно можешь объяснить, откуджа ты выбираешь из двух кодов? Или скриншот прицепи.
...
Рейтинг: 0 / 0
грид
    #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
грид
    #37963909
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей8989,

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

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

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

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

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

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

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

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

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

Зачем вам комбо в гриде?
Цель какова?
...
Рейтинг: 0 / 0
грид
    #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
грид
    #37964140
Андрей8989
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asdor, почему неверна. вы все говорите это неверно то неверно, а почему неверно? логически все правильно как я вижу.
сначала вначале программы из таблицы obsled в курсор tmpobsled выбираются все записи попадающие в интервал указанный вначале программы. затем при вводе пароля из таб personal в vnom_reg записывается значение поля nom_reg это пароль. потом из таблицы pacient в грид выводятся через курсор записи у которых поля ser,polis равны полям из курсора tmpobsled. а в нижний грид выводятся те обследования которые проходит тот или иной пациент во этот промежуток времени
...
Рейтинг: 0 / 0
грид
    #37964146
Андрей8989
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asdor, во первых эту программу делал не, а сотруддник который до меня работал, во вторых в поле КодСмо выводятся два возможных значения из таблицы smo. чтобы пользователь мог выбрать либо первое либо второе
...
Рейтинг: 0 / 0
грид
    #37964156
Андрей8989
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IgorNG,
...
Рейтинг: 0 / 0
грид
    #37964157
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей8989asdor, во первых эту программу делал не, а сотруддник который до меня работал, во вторых в поле КодСмо выводятся два возможных значения из таблицы smo. чтобы пользователь мог выбрать либо первое либо второе

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

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

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

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

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

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

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

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

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

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


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