set rs=cnn.execute(strsql) 执行不报错并不能说明该SQL文没错,注意单引号等问题,
在VB中你调试取出strsql的值,并在SQL SERVER 中执行一下看。40个字段并不多,虽然23张表关联是多了点,单问题应该不在这。
我相信是你的SQL错了