我有一个包含联系信息的表格和大约25个复选框。我有一个表单来输入联系信息,几乎所有的复选框都是指定购买的电动工具,最后两个复选框指定是通过美国邮件还是电子邮件进行营销。
我的最终游戏是拥有一个CSV文件,其中包含所有记录子集的名称,地址和电子邮件。进入哪些记录很简单:如果我检查"电锯"并且"发送电子邮件",那么所有没有购买电锯并希望电子邮件通信的人都会被过滤掉。如果我检查"电锯"和" weedwacker"和#34;美国邮件"我想要所有购买了电锯或者杂草破坏者的记录,或者想要美国邮件通信的所有记录。
我设想使用带有复选框的表单,其中选中任何框来过滤记录,仅包括表格中的复选框=是(电动工具)的那些记录,邮件或电子邮件进一步过滤,然后生成包含这些记录的查询,然后导出为CSV。
我的谷歌技能很好,我的VBA编码技能不存在(我是一个HTML / CSS / Joomla家伙,但得到了这个迷你项目),搜索谷歌和stackoverflow的结果没有产生任何结果会引导我朝着正确的方向前进。
我知道表结构并不是最优的,但是对于那些在Access中使用多个表而烦恼的人来说,它是可管理的。它基于一些古老的数据库软件,他们希望结构保持不变。
答案 0 :(得分:0)
您需要在代码中构建一个sql语句。它可以从以下开始:
sql =“select * from MyTable where ID> 0”'“Where ID> 0”在这里,所以剩下的sql添加都可以说AND
然后有一系列将添加到sql语句的if语句:
如果chkChainsaw = -1那么
sql = sql& “AND Chainsaw = 1”
结束如果
如果chkweedwacker = -1那么
sql = sql& “AND weedwacker = 1”
结束如果
构建完sql语句后,可以构建一个记录集并从中导出csv文件。
dim rs as recordset
set rs = currentdb.openrecordset(sql,dbopendynaset)
做什么而不是rs.eof
'出口数据
rs.movenext
环