ник: Аноним
Пожалуйста, помогите разобраться. Я создала функцию, которая по имеющимся в таблице полям Фамилия, Имя, Отчество, Инициалы формирует полное ФИО. Делаю так:
Public Function ФИО(Код As Integer)
Dim StrSQL As String
Dim MyRst As DAO.Recordset
StrSQL = "SELECT Фамилия, Имя, Отчество, Инициалы FROM Люди WHERE Код = " + CStr(Код)
Set MyRst = CurrentDb.OpenRecordset(StrSQL, dbOpenDynaset)
ФИО = MyRst![Фамилия]
If IsNull(MyRst![Имя]) Then
If Not IsNull(MyRst![Инициалы]) Then
ФИО = ФИО + " " + MyRst![Инициалы]
End If
Else
ФИО = ФИО + " " + MyRst![Имя]
If Not IsNull(MyRst![Отчество]) Then
ФИО = ФИО + " " + MyRst![Отчество]
End If
End If
End Function
При обработке относительно большого числа записей (200-300) возникает заметная задержка. Вариант Фамилия+пробел+Имя+пробел+Отчество работает очень быстро, но не обрабатывает записи, в которых не хватает данных.
Можно ли как-то оптимизировать эту обработку? Спасибо.