Как оценить строку, содержащую имена столбцов? - PullRequest
0 голосов
/ 14 апреля 2019

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

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

Итак, моя идея - определить всю проверку для всех таблиц и их строк в таблице CheckError, как показано нижефрагмент, связанный с таблицей 'Persone':

TableName |      FieldName   |   TestNumber   |   TestCode                                    |   TestMessage                              |   ErrorType[/B][/COLOR]
Persone   | CAP              |       4        | len([CAP]) = 0 or isnull([cap])               | CAP mancante                               | warning
Persone   | Codice Fiscale   |       1        | len([Codice Fiscale]) < 16                    | Codice fiscale nullo o mancante            | error
Persone   | Data di nascita  |       2        | (now() - [Data di nascita]) < 18 * 365        | Minorenne                                  | info
Persone   | mail             |       5        | len([mail)] = 0 or isnull([mail]              | email mancante                             | warning
Persone   | mail             |       6        | (len([mail)] = 0 or isnull([mail])            | richiesto l'invio dei referti via e- mail, | error
          |                  |                |  and [modalità ritiro referti] = ""e-mail""   | ma l'indirizzo e-mail è mancante           |         
Persone   | Via              |       3        | len([Via]) = 0 or isnull([Via])               | Indirizzo mancante                         | warning

Теперь в каждой форме или отчете, которые используют таблицу Persona, я хочу установить свойство 'onload' для функции

' to validate all fields in all rows and set the appropriate bg and fg color
Private Sub Form_Open(Cancel As Integer)      
    Call validazione.validazione(Form, "Persone", 0)
End Sub

' to validate all fields in the row identified by ID and set the appropriate bg and fg color
Private Sub Codice_Fiscale_LostFocus()
  Call validazione.validazione(Form, "Persone", ID)
End Sub

Итак, функция validazione, в определенный момент, точно ровно одна строка для таблицы Persone, и набор выражений описан в столбце [TestCode] above.

Теперь мне нужно логически оценить TestString по строке таблицы, чтобы получить значение true или false.

Если true, я установлю цвета fg и bg дляЕсли указано значение false, то при установке значения false я установлю цвета fg и bg в соответствии с ошибкой, информацией или предупреждением, как определено в столбце [ErrorType] выше.и работает, за исключением красного выражения выше:

Как я могу оценить строку теста по строке таблицы, чтобы получить результат?

Спасибо

Паоло

...