SQL参数长度VBA

我有一个存储过程,我用它来运行查询有关客户端余额的信息随着时间的推移。 它具有以下语法:

exec Client_Balance_SP @ClientList, @recentDate, @dateList 

其中@ClientList是逗号分隔的客户端名称列表,即“Mary Sue,John Doe,Jimmy John”,@recentDate是像“2015-05-11 00:00:00”这样的date,而@dateList是一个列表date如'2015-05-04 00:00:00,2015-04-27 00:00:00,…'

我遇到的问题是当@dateList的长度超过100个字符; 我在Excel中出现运行时错误。 有没有办法解决这个问题,让我只能运行一个查询?

谢谢!

松鸦

我会尝试分割查询,使得@dateList的长度总是小于100。

我认为更优雅的解决scheme是使用@datelist表。 例如

 exec Client_Balance_SP @ClientList, @recentDate, (Select dt from #tbl_date_list) 

而且,你的vbamacros可以在存储过程之前从csv或者excel预加载#tbl_date_list ,(如果你愿意,可以在最后删除它)。

而且,无论@dateList的项目数量是多less,最多只能有2个查询

请参阅临时表和批量插入以将csv读入它们