Раз есть SQL запрос-значит есть база данных,
если есть база данных-значит есть и модель доступа.
SQL судя по написанному предварительно записывается в строку,
где и превышается максимальная длина строки.
Обойти это можно используя например объект ADODB.Command
с параметрами, например:
вместо:
dim db as ADODB.Connection
dim strSQL as string
.....
strSQL=strSQL&......
db.execute strSQL ......
делать так:
dim db as ADODB.Connection
dim cmd as ADODB.Command
......
set cmd.ActiveConnection=db
....
cmd.CommandText="INSERT INTO TABLE1 (FILD1,FILD2,FILD3) VALUES (?,?,?)"
cmd.parameters(0)=...
cmd.parameters(1)=...
cmd.parameters(2)=...
cmd.execute
....