'
'
Option Explicit
'###############################################################################
'SQLコマンドの配列(Variant型)を、文字数区切りで生成する関数
'SQL以外にも文字列を文字数区切りで配列化したいときにも使えます。
'
' Call SQLCmdAryMake01(区切りたい文字列 , 区切る文字数)
'
'###############################################################################
Function SQLCmdAryMake01(ByVal s_SqlStr01jj As String, ByVal i_SplitNum01 As Integer) As Variant
' Dim s_SqlStr01jj As String
' Dim i_SplitNum01 As Integer 'SQLコマンドの配列に格納するのに、何文字ごとにSplitするかの文字数
Dim Ary_s_SQL01() As Variant
Dim i_Cnt01 As Integer
Dim s_Chunk As String 'Chunk=かたまり
Dim i_ChunkNum01 As Integer 'i_ChunkNum01=255文字ごとのかたまりの数(→つまり、要素数になる)
' s_SqlStr01jj = "galgkjaldsgjalsjga"
' i_SplitNum01 = 5
'SQLコマンドの配列の各要素に格納する文字数の設定。256文字以上はダメだった 。
i_ChunkNum01 = Len(s_SqlStr01jj) \ i_SplitNum01 + IIf(Len(s_SqlStr01jj) Mod i_SplitNum01 > 0, 1, 0)
'SQLを255文字のかたまりにすると、いくつの要素数になるかの計算。
' Stop
ReDim Ary_s_SQL01(0 To i_ChunkNum01 - 1)
'空の配列を生成。
For i_Cnt01 = 0 To (i_ChunkNum01 - 1)
s_Chunk = Mid(s_SqlStr01jj, i_Cnt01 * i_SplitNum01 + 1, i_SplitNum01)
Ary_s_SQL01(i_Cnt01) = s_Chunk
Next i_Cnt01
' 255文字ずつ取り出して配列に格納するループ。
SQLCmdAryMake01 = Ary_s_SQL01
End Function
'
'