总体连接各条件字段,不应该各条件块单独分割,详细见上述例子。 4、按更多字段进行排序参照设置具体条件设置算法。新序号计算思路:充分利用原自动编号字段 ID 不会重复的特点,利用条件排除法设定条件,要保证新序号不会出现重复数字,排序规则内必须加入自动编号字段。如 3 个条件排序条件设计思路为:小于当前记录[内容]+等于当前[内容]并且[ 日期] 比当前记录小的+ 等于当前记录[ 内容] 并且[ 日期] 等于当前记录[ 日期] 并且[ID] 小于等于当前记录[ID] 。对于各字段升序降序,对应使用小于大于号。 5、自定义财务自动计算日记账余额函数: 代码如下: Public Function GetBalance(ID As Long, Balance As Currency) As Currency Static lngPreID As Long '前次 ID Static curPreBalance As Currency '前次余额 If ID> lngPreID Then curPreBalance = curPreBalance + Balance Else curPreBalance = Balance End If lngPreID = ID GetBalance = curPreBalance+ Forms! 日记账窗体!账户期初余额’注:窗体上事先设定一个控件获取相应账户期初余额。 End Function 在前述查询中(查询同时按新序号规则排序,财务要求一般为日期, ID),再加个字段输入以下内容: 余额: GetBalance([ 新序号],IIf(IsNull([ 收入金额]),0,[ 收入金额])-IIf(IsNull([ 支出金额]),0,[ 支出金额])) 利用此自定义函数 GetBalance 计算余额。优点:比利用 dsum 函数计算快捷方便。