powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / грид
20 сообщений из 45, страница 2 из 2
грид
    #37964217
Андрей8989
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asdor, чему вы не верите? таблицы слишком много весят не получается сюда залить.
...
Рейтинг: 0 / 0
грид
    #37964280
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей8989asdor, чему вы не верите? таблицы слишком много весят не получается сюда залить.
Это ж ваши проблемы. Учитесь делать из больших таблиц маленькие)
Все данные кому они нужны. Урежьте таблицы. Но соблюдите цедлостность данных
...
Рейтинг: 0 / 0
грид
    #37964312
Андрей8989
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asdor, вот все таблицы из проекта
...
Рейтинг: 0 / 0
грид
    #37965214
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей8989,

С какими параметрами вы запускаете.
Где назначаются значения переменных?

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

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

Код: sql
1.
2.
3.
4.
5.
SELECT Pacient.ser, Pacient.polis, Pacient.fam, Pacient.im, Pacient.ot,;
  Pacient.dat_rojd, Pacient.nom_reg;
 FROM obsled ;
    INNER JOIN pacient ;
   ON  Obsled.polis = Pacient.polis



Этот запрос, выполняет все ваши мудреные изверты.
Но данных в результате нет
...
Рейтинг: 0 / 0
грид
    #37965368
Андрей8989
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asdor, обновление заработало написал такой код при нажатии на кнопку обновить
авторthisform.grid1.column8.combo3.RowSourceType = 6
thisform.grid1.column8.combo3.RowSource='smo.smocod,nam_smok'
thisform.grid1.Column8.ControlSource='curs1.smocod'


и такой код в методе interactivechange у комбобокс3
авторSELECT curs1
REPLACE smocod WITH smo.smocod
thisform.grid1.refresh()

Все работает. Но когда галочку ставишь "показать с не введенным кодом смо", то в комбо3 не получалось опять выбирать коды смо. поэтому написал в методе interactivechange тот же код что и при нажатии на кнопку обновить и выдает ошибку Алиас комбо3 не найден. Как исправить подскажите пожалуйста.
...
Рейтинг: 0 / 0
грид
    #37965371
Андрей8989
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asdor, а параметры это пароль пользователя введите например пароль "капус"
...
Рейтинг: 0 / 0
грид
    #37965437
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей8989,

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

Ну давайте для начала, создайте на форме метод.
Например "SetGrid"
И засуньте все выборки, и настройки грида в него.

После его отладки, вы сможете запустить его с любого места формы.

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

А вообще задача то какая?
Присвоить коды пациентам?

Ну и просмотреть заодно.
Так?

(*Не пойму зачем 2й грид)
...
Рейтинг: 0 / 0
грид
    #37965602
IgorNG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей8989,

thisform.grid1.Column8.ControlSource="curs1.smocod"
thisform.grid1.column8.CurrentControl = "Combo3"
thisform.grid1.column8.combo3.RowSource="smo.smocod,nam_smok"
...
Рейтинг: 0 / 0
грид
    #37965636
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей8989,

Держи рабочую форму.
Просто убрал лишнее твое.
И добавил пару строк. Все работает

2й грид убрал, т.к. не знаю зачем он
...
Рейтинг: 0 / 0
грид
    #37965649
Андрей8989
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asdor, да задача такова. суть проги объясняю пользователь вводит пароль этот пароль сохраняется в переменной. затем из таблицы обслед выбираются все обследования которые входят в заранее заданный в начале проги интервал времени(по умолчанию текущий месяц) и у которых поле nom_reg=введенному пользователем паролю. в записываются в курсор tmpobsled. т.е. если эти поля совпадают, то этот пользователь делает пациентам это обследование. после всего этого в курсор curs1 выбираются пициенты у которых поля Ser и polis равны полям Ser и polis у курсора tmpobsled и выводятся в грид1. а в грид2 из tmpobsled обследования у которых поля ser и polis равны полям Ser и polis из curs1 и входящие в интервал указанный в начале программы.

А через второй курсор сделал так: вначале программы в curs1 вывожу пациентов у которых указанные поля равны, а в curs2 такие же и у которых поле smocod пустое, а при переключении галочки на форме просто вывожу в грид согласно условию. некрасиво наверное сделано, но как получается для человека который не очень пока еще знает фокс так и сделал
...
Рейтинг: 0 / 0
грид
    #37965656
Андрей8989
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
asdor, спасибо конечно, но мне поручили эту прогу оптимизировать так как она изначально работала через Set filter to и жутко тормозила когда читала данные с сервера. поэтому и сделал через курсоры выборку.
...
Рейтинг: 0 / 0
грид
    #37965723
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей8989,
Господи, как же все запущено!!!!
Ну неужели сложно сделать, набор данных, который будет работать?
Да хоть от руки набейте.
Не мы ж за вас это делать будем, там всего то 2 таблицы.

И сделаю все то же через выбрку)))
...
Рейтинг: 0 / 0
грид
    #37965756
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей8989asdor, да задача такова. суть проги объясняю пользователь вводит пароль этот пароль сохраняется в переменной. затем из таблицы обслед выбираются все обследования которые входят в заранее заданный в начале проги интервал времени(по умолчанию текущий месяц) и у которых поле nom_reg=введенному пользователем паролю. в записываются в курсор tmpobsled. т.е. если эти поля совпадают, то этот пользователь делает пациентам это обследование. после всего этого в курсор curs1 выбираются пициенты у которых поля Ser и polis равны полям Ser и polis у курсора tmpobsled и выводятся в грид1. а в грид2 из tmpobsled обследования у которых поля ser и polis равны полям Ser и polis из curs1 и входящие в интервал указанный в начале программы.

А через второй курсор сделал так: вначале программы в curs1 вывожу пациентов у которых указанные поля равны, а в curs2 такие же и у которых поле smocod пустое, а при переключении галочки на форме просто вывожу в грид согласно условию. некрасиво наверное сделано, но как получается для человека который не очень пока еще знает фокс так и сделал

Значится так)
Смотрите чему равен nom_reg по рабочему пользователю, и по этому nom_reg
присваиваете значения startDate и endDate
Далее
Код: sql
1.
select * from obsled where  BETWEEN(o.dat_obs,startDate,endDate) AND INLIST(o.pri_zak,0,2) AND o.nom_reg=vnom_reg INTO table tab1


Получили правильную урезанную таблицу obsled

Далее надо получить всех пациентов, которые есть в этой таблице
Пример уже приводил
Код: sql
1.
2.
3.
4.
5.
SELECT Pacient.*;
 FROM tab1 ;
    INNER JOIN pacient ;
   ON  tab1.polis = Pacient.polis ;
into table tab2


gjckt 'njuj gthtbvtyjdfnm tab1 и tab2 соответственно, и прислать сюда
...
Рейтинг: 0 / 0
грид
    #37965761
asdor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asdor,
Там где не по русски))))
После этого, переименовать таб1 и таб 2

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


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