这个基本上没什么简便的方法。用checkbox来设置多个查询条件因为是相对独立且没什么规律,所以无法用循环之类的简便方法处理。控件数组的方法最多也就是代码看起来少了几行,其实逻辑并没改变。不要一味追求代码行的最精简,而要注意实际执行代码的最少。
其实用if判断也没多少语句,用独立的if语句分别处理每个check也就10*2,而不是2^10次。形式如1楼,先写好前面部分,并加个"where 1=1",然后根据check的选择添加条件:
if checkbox1.value=vbchecked then sSQL=sSQL & " and field1=fieldvalue1"