Поскольку я не могу прикрепить условное форматирование к таблице, мне нужна абстрактная функция для проверки, если набор записей или все записи имеют ошибки внутри, и отображения этих ошибок в формах и / или отчетах.
Потому что для достижения этой цели в «стандартном» режиме мне нужно определять правило [○ для поля таблицы каждый раз, когда я использую это поле в элементе управления или в отчете, и это означает необходимость повторять одно и то жеРаздражает много раз, не говоря уже о том, чтобы вводить ошибки и приводить к кошмару обслуживания.
Итак, моя идея - определить всю проверку для всех таблиц и их строк в таблице 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] выше.и работает, за исключением красного выражения выше:
Как я могу оценить строку теста по строке таблицы, чтобы получить результат?
Спасибо
Паоло