У меня есть поле в таблице MS Access, которое содержит отчества людей, и мне нужно получить первую букву (инициалы) каждого имени в запросе SQL. Поле называется 'middle_names'
Например, если middle_name - 'John David', я хочу, чтобы вывод был 'J D'. Если middle_name - «Джон», я хочу, чтобы вывод был «J».
Я нашел некоторый код VBA, который должен это делать, но когда я вызываю его в запросе SQL, я получаю сообщение об ошибке -
несоответствие типа данных в выражении критерия
Поле имеет текстовый тип, и это VBA:
Function GetFirstLetters(middlename As String) As String
Dim arr
Dim I As Long
arr = VBA.Split(middlename, " ")
If IsArray(arr) Then
For I = LBound(arr) To UBound(arr)
GetFirstLetters = GetFirstLetters & Left(arr(I), 1)
Next I
Else
GetFirstLetters = Left(arr, 1)
End If
End Function
Когда я затем вызываю код в моем запросе SQL, например: GetFirstLetters(middle_name)
Я получаю ошибку I упомянутый выше.