Проблема, связанная с элементом управления таблицей и присвоением значения параметра полю со списком windev - PullRequest
0 голосов
/ 17 июня 2020

Доброе утро. У меня возникла странная проблема, решения которой я не могу найти (по крайней мере, на данный момент). У меня есть окно запроса на анализ. Он содержит форму, состоящую из трех полей ввода и трех элементов управления Combo box с вводом: SAI_Datedemande , позволяющий сообщить дату запроса на анализ (заполненный датами), SAI_DateResultat , позволяющий информировать дата, когда доступен результат анализа, SAI_ResultatAna , позволяющий сообщить результат анализа, Combo_NomSoignant с вводом, позволяющим ввести имя лица, осуществляющего уход, который запрашивает связанный анализ в файл данных CAREGIVER и кто ссылается на его прогресс два LASTNAME AND FIRST NAME столбцы в форме таблицы, есть Combo_Patient с вводом, связанным с Файл данных PATIENT , который функционирует как Combo_Patient , то есть также возвращает два столбца и Combo_CodeAna с вводом, связанным с объектом TYPEANALYSE , который возвращает только кодовое название анализа, поэтому один столбец (например, TDR). Когда я запрашиваю повторный регистрация проходит. Обратите внимание, что запись выполняется в файл данных, являющийся результатом отношения «многие к нескольким» трех файлов данных ( ПАЦИЕНТ , ТИПАНАЛИЗ , ОПЕРАТОРЫ ). Вот изображение окна.

Окно запроса анализа

У меня есть еще одно окно, позволяющее отображать запросы на анализ. В этом окне есть табличный элемент управления ( TABLE_REQ_Select_Analyses ). Элемент управления таблицей связан с запросом ( REQ_Select_Analyses ). Я хотел связать поле таблицы с файлом данных ANALYZE (где запись сделана, но полученный результат ненормальный, некоторые данные не отображаются, когда я преобразовываю типы столбцов в поля со списком). Вот мой первый вопрос:

1) Пожалуйста, что может вызвать эту аномалию отображения? Это из-за внешних ключей или мой Windev творится? (У меня никогда не было этой проблемы)

Теперь, во-вторых: Вот код для запроса REQ_Select_Analyses :

SELECT ANALYSES.DateAnalyse AS DateAnalyse, ANALYSES.ResultatAnalyse AS ResultatAnalyse, ANALYSES.DaterResultat AS DaterResultat, ANALYSES.IDPATIENTS AS IDPATIENTS, ANALYSES.IDSOIGNANTS AS IDSOIGNANTS, ANALYSES.IDTYPESANALYSES AS IDTYPESANALYSES, ANALYSES.IDANALYSES AS IDANALYSES, PATIENTS.IDPATIENTS, PATIENTS.NomPatient AS NomPatient, SOIGNANTS.IDSOIGNANTS, SOIGNANTS.NomSoignant AS NomSoignant, TYPEANALYSES.IDTYPESANALYSES, TYPEANALYSES.CodeTypeAnalyse AS CodeTypeAnalyse FROM ANALYSES, PATIENTS, SOIGNANTS, TYPEANALYSES WHERE ANALYSES.IDPATIENTS=PATIENTS.IDPATIENTS AND ANALYSES.IDSOIGNANTS=SOIGNANTS.IDSOIGNANTS AND ANALYSES.IDTYPESANALYSES=TYPEANALYSES.IDTYPESANALYSES    

И отображение работает в поле таблицы.

Чтобы изменить данные при выборе строки, нажмите кнопку изменения, которая должна открыть окно предыдущего запроса анализа и вернуть информацию для выбранной строки в полях упоминалось выше, поскольку таблица основана на запросе при открытии окна, поля не заполняются предварительно, чтобы исправить эту проблему, я создал глобальные переменные:

gsNomSoignant is string; gsNomPatient is string; gsCodeTypeAna is string; gdDateDemandAna is Date; gdDateResutat is Date; gsResultatAnalyse is string

Для этих переменных в таблице TABLE_REQ_Select_Analyses в событии выделением строки назначаю столбец данных по столбцу:

Open(FEN_Demande_d_analyse,gsNomSoignant,gsNomPatient,gsCodeTypeAna,gdDateDemandAna,gdDateResutat,gsResultatAnalyse); TableDisplay(TABLE_REQ_Select_Analyses,taCurrentSelection)

Под окном девушки добавляю параметры:

PROCEDURE FEN_Demande_d_analyse(sNomSoignant,sNomPatient,sCodeAna,dDateDemandeAna,dDateResutat,sResultatAna)

Под событием в конце инициализации окна I назначьте соответствующую информацию полям:

FileToScreen(FEN_Demande_d_analyse,ANALYSES); SAI_DateAnalyse=dDateDemandeAna; SAI_DaterResultat=dDateResutat; SAI_ResultatAnalyse=sResultatAna; COMBO_TYPEANALYSES=sCodeAna; COMBO_PATIENTS=sNomPatient; COMBO_SOIGNANTS=sNomSoignant

И вот тут-то и возникает проблема. Поля ввода очень хорошо получают информацию, которая должна быть назначена, а поля со списком - нет. Я использую свойства (..content, ..value, ... et c) всего понемногу, но ничего. Однако, если я назначу информацию, которая обычно должна быть назначена комбинированному полю, полю ввода, это отображается очень хорошо.

2) Пожалуйста, в чем причина и как исправить эту проблему, чтобы что присваивания go нормальным в полях со списком.

Спасибо за помощь, которая будет мне предоставлена ​​

1 Ответ

0 голосов
/ 15 июля 2020

когда вы используете «таблицу файлов» с полем со списком, убедитесь, что правильно заполнили столбец поля со списком в меню вкладки «Содержимое». После этого вы можете установить данные, отображаемые на вкладке «Связь».

Для классического c комбинированного поля, та же песня, заполните его данными (используйте listeAdd, если вы хотите заполнить его самостоятельно, или вкладка Content, если вы хотите заполнить ее запросом).

После этого вы можете определить «связь», которая будет использоваться с fileToScreen, или вы можете использовать ListSelectPlus с ListSearch.

Пожалуйста, обратите внимание на глиен. Это позволяет отображать значение, отличное от установленного.

...