Доступ к усечению набора записей VBA
Я использую Access 2016. Я создал функцию, которую я передал запросу - роль функции - анализировать поле памятки (длинный текст) с 3-4 тыс. Символов (строка между 2 маркерами) до длина, с которой я могу работать. Вот функция:
Function getBASE(sStrx)
Dim sTemp, iBEG As Integer, iEND As Integer, sBEG As String, sEND As String
'
If InStr(UCase(sStrx), "FROM ") > 1 And InStr(sStrx, "{") > 1 Then
iBEG = InStr(sStrx, "{") + 1
iEND = InStr(sStrx, "}") - iBEG
getBASE = Mid(sStrx, iBEG, iEND)
End If
'
End Function
Результирующая длина этого составляет около 700 символов. Когда я создаю LEN на результат, я получаю 700 символов. Затем я запускаю подпрограмму (код ниже), которая содержит функцию Split, но результат разделения составляет 255 символов. Тем не менее, у меня есть несколько msgbox, которые всплывают, чтобы проверить длину значения набора записей, и это 700 (правильная длина), но по какой-то причине оно усекается. Я не знаю, связано ли это с функцией, подпрограммой или чем-то еще. Еще одна вещь: я могу передать исходное значение (3-4 КБ) к сабвуферу, и он отлично работает. Я вне разочарования... спасибо за помощь.
Sub Break_String()
Dim db As DAO.Database, rsSource As DAO.Recordset, rsDest As DAO.Recordset
Set db = CurrentDb()
Set rsSource = db.OpenRecordset("qTEST")
Set rsDest = db.OpenRecordset("tblParsed")
Dim WrdArray() As String
rsSource.MoveFirst
WrdArray() = Split(UCase(rsSource("[getBASE]")), "FROM ")
'
MsgBox Len(rsSource("[getBASE]")) <---- 700 chars
For i = LBound(WrdArray) To UBound(WrdArray)
strg = strg & vbNewLine & WrdArray(i)
Next i
'
MsgBox strg <----- 255 chars
End Sub