以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  从表A提取数据到表B中,表B中部分单元格按条件用代码填入  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=91186)

--  作者:蓝蚂蚁
--  发布时间:2016/10/2 9:47:00
--  从表A提取数据到表B中,表B中部分单元格按条件用代码填入
实例(密码为一个空格):

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:医院耗材管理系统fox.zip


说明:【月结导出表】中的数据是根据【耗材出库统计表】来提取填充的。
条件:如果【耗材出库统计表】中某科室的金额为空,则不提取(即不填充到【月结导出表】中)

要处理的问题:如果【耗材出库统计表】中只有一行数据,用窗口按钮代码能很好的把数据填到【月结导出表】,如果很两行以上的数据就不行(用筛选功能只筛选出一个也不行)。望老师能抽出时间帮我解答,谢谢。

附有两行数据的表用于老师经行测试:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:耗材出库统计表数据.xls


贴出代码(在窗口按钮中也有代码的):
Dim r As DataRow
\'Dim y As DataRow
DataTables("月结导出表").DataRows.Clear
Dim f As New Filler
Dim i As Integer
i=0
\'手术室普通低值
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="手术室_普通低值,手术室_普通低值张,手术室_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter>"","and","") & "手术室_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据

If  Tables("耗材出库统计表").Current("手术室_普通低值") IsNot Nothing Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "手术室"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)
\'-----------------------------------------------------------------------------------
\'手术室高值
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="手术室_高值院计,手术室_高值院计张,手术室_高值院计备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "手术室_高值院计 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据


\' DataTables("订单").Find("数量 > 1000","日期 Desc")
If  Tables("耗材出库统计表").Current("手术室_高值院计")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "手术室"
r("耗材分类")="手术室院计"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)
\'---------------------------------------------------------------------------------------

\'-----------------------------------------------------------------------------------
\'手术室高值
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="手术室_高值专家,手术室_高值专家张,手术室_高值专家备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "手术室_高值专家 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据


\' DataTables("订单").Find("数量 > 1000","日期 Desc")
If  Tables("耗材出库统计表").Current("手术室_高值专家")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "手术室"
r("耗材分类")="手术室专家"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'ICU室
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="ICU室_普通低值,ICU室_普通低值张,ICU室_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "ICU室_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("ICU室_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "ICU室"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'妇产科
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="妇产科_普通低值,妇产科_普通低值张,妇产科_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "妇产科_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("妇产科_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "妇产科"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)


\'骨科
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="骨科_普通低值,骨科_普通低值张,骨科_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "骨科_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("骨科_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "骨科"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'外科
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="外科_普通低值,外科_普通低值张,外科_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "外科_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("外科_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "外科"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'内儿科
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="内儿科_普通低值,内儿科_普通低值张,内儿科_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "内儿科_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("内儿科_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "内儿科"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'脾胃病科
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="脾胃病科_普通低值,脾胃病科_普通低值张,脾胃病科_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "脾胃病科_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("脾胃病科_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "脾胃病科"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)


\'针推科
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="针推科_普通低值,针推科_普通低值张,针推科_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "针推科_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("针推科_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "针推科"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'眼耳鼻喉科
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="眼耳鼻喉科_普通低值,眼耳鼻喉科_普通低值张,眼耳鼻喉科_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "眼耳鼻喉科_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("眼耳鼻喉科_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "眼耳鼻喉科"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'口腔科
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="口腔科_普通低值,口腔科_普通低值张,口腔科_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "口腔科_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("口腔科_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "口腔科"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'血透室普通低值
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="血透室_普通低值,血透室_普通低值张,血透室_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "血透室_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("血透室_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "血透室"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'血透室专科
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="血透室_专科耗材,血透室_专科耗材张,血透室_专科耗材备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "血透室_专科耗材 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("血透室_专科耗材")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "血透室"
r("耗材分类")="专科耗材"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'B超室
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="B超室_普通低值,B超室_普通低值张,B超室_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "B超室_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("B超室_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "B超室"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'门诊急诊科
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="门诊急诊科_普通低值,门诊急诊科_普通低值张,门诊急诊科_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "门诊急诊科_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("门诊急诊科_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "门诊急诊科"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'放射科普通低值
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="放射科_普通低值,放射科_普通低值张,放射科_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "放射科_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("放射科_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "放射科"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'放射科胶片
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="放射科_胶片,放射科_胶片张,放射科_胶片备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "放射科_胶片 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("放射科_胶片")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "放射科"
r("耗材分类")="胶片"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)


\'放射科存储介质
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="放射科_存储介质,放射科_存储介质张,放射科_存储介质备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "放射科_存储介质 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("放射科_存储介质")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "放射科"
r("耗材分类")="存储介质"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'西药房普通低值
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="西药房_普通低值,西药房_普通低值张,西药房_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "西药房_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("西药房_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "西药房"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'中心药房普通低值
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="中心药房_普通低值,中心药房_普通低值张,中心药房_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "中心药房_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("中心药房_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "中心药房"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'中药房普通低值
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="中药房_普通低值,中药房_普通低值张,中药房_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "中药房_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("中药房_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "中药房"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'供应室普通低值
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="供应室_普通低值,供应室_普通低值张,供应室_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "供应室_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("供应室_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "供应室"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'皮肤科普通低值
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="皮肤科_普通低值,皮肤科_普通低值张,皮肤科_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "皮肤科_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("皮肤科_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "皮肤科"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'检验科普通低值
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="检验科_普通低值,检验科_普通低值张,检验科_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "检验科_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("检验科_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "检验科"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'社会福利院普通低值
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="社会福利院_普通低值,社会福利院_普通低值张,社会福利院_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "社会福利院_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("社会福利院_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "社会福利院"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'医务科普通低值
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="医务科_普通低值,医务科_普通低值张,医务科_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "医务科_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("医务科_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "医务科"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'质控科普通低值
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="质控科_普通低值,质控科_普通低值张,质控科_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "质控科_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("质控科_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "质控科"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'收费室普通低值
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="收费室_普通低值,收费室_普通低值张,收费室_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "收费室_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("收费室_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "收费室"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'保洁部普通低值
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="保洁部_普通低值,保洁部_普通低值张,保洁部_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "保洁部_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("保洁部_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "保洁部"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)

\'门诊部门普通低值
f.SourceTable = DataTables("耗材出库统计表") \'指定数据来源
f.SourceCols ="门诊部门_普通低值,门诊部门_普通低值张,门诊部门_普通低值备注" \'指定数据来源列
f.DataTable = DataTables("月结导出表") \'指定数据接收表
f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter > "","and","") & "门诊部门_普通低值 is not null"
f.DataCols="金额,张数,备注" \'指定数据接收列
f.Fill() \'填充数据
If  Tables("耗材出库统计表").Current("门诊部门_普通低值")>0  Then
r = DataTables("月结导出表").DataRows(i)
r("科室") = "门诊部门"
r("耗材分类")="普通低值"
i=i+1
Else
i=i
End If
\'MessageBox.Show(i)
DataTables("月结导出表").save()

--  作者:y2287958
--  发布时间:2016/10/2 9:51:00
--  
这是要干嘛?吓死宝宝了
--  作者:狐狸爸爸
--  发布时间:2016/10/3 8:33:00
--  
不管代码质量了,先帮你解决问题,类似下面的代码:

f.Filter = Tables("耗材出库统计表").Filter & iif(Tables("耗材出库统计表").Filter>"","and","") & "手术室_普通低值 is not null"

改为:

f.Filter = "[_Identify]=" & Tables("耗材出库统计表").Current("_Identify") & " And 手术室_普通低值 is not null"

以后操作的死后,在耗材出库统计表选择某一月的行,再单击导出,导出的就是这一个月的数据。