以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]数据载入能否实现这样的效果(已解决)  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=15700)

--  作者:yyzlxc
--  发布时间:2012/1/6 20:25:00
--  [求助]数据载入能否实现这样的效果(已解决)

一段按钮代码,载入车间符合条件的相关人员数据,现在的代码可以根据符合当前部门作为条件之一载入数据。

要求:当出现人员调动的情况时(如姓名为05的职工,12月28日从三车间调到二车间),当在车间名册表的窗口年月选择2011年11月,部门选择三车间时,可以显示05的相关资料,而不是现在只能在二车间显示;如果选择2011年12月,则在二车间显示。(选择调动年月前的年月,加载调动前的部门)这样的效果,应该用什么方法来实现,请各位老师指教,谢谢!!

 

按钮代码如下:

Dim mydate As Date = Forms("车间名册").Controls("DateTimePicker1").Text
Dim bm As String = Forms("车间名册").Controls("ComboBox1").Text
Dim y As Integer = mydate.Year
Dim m As Integer = mydate.Month
Dim Days As Integer = Date.DaysInMonth(y,m)
Dim yd As Date = New Date(y,m,Days) \'月底日期
Dim yc As Date = New Date(y,m,1)  \'月初日期
Dim ny As String = format( mydate,"yyyy-MM")
\'删除所有行
DataTables("车间名册").DeleteFor("[编号] Is Not Null ")
\'加载表
Dim f As New Filler
f.SourceTable = DataTables("人员数据") \'指定数据来源
f.SourceCols = "编号,姓名,当前部门" \'指定数据来源列
f.DataTable = DataTables("车间名册") \'指定数据接收表
f.DataCols = "编号,姓名,部门" \'指定数据接收列
If bm > ""
     f.Filter="[当前部门]= \'"& bm & "\' and ([离厂日期]>= \'" & yc & "\'  Or [离厂日期] Is NuLL) and [进厂日期]<= \'" & yd & "\'"
Else
    MessageBox.Show("请选择部门","提示")
    Return
End If
f.Fill() \'填充数据
Tables("车间名册").AutoSizeCols()
Tables("车间名册").Sort = "编号"
DataTables("车间名册").DataCols("编号").RaiseDataColChanged()

 

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目178.table

[此贴子已经被作者于2012-1-7 22:22:31编辑过]

--  作者:czy
--  发布时间:2012/1/6 21:42:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目4.table


--  作者:yyzlxc
--  发布时间:2012/1/6 22:22:00
--  
谢谢CZY老师的回复,可能是我的表述有问题,代码执行后存在一点问题。1、当选择2011年10月十月份时,三个车间总人数为22个,05和12存在重复。2、当选择变动日期前的月份,显示的部门名称应为动前部门,而不应该还是当前部门。请CZY老师再帮助看看,如何来实现所需的效果。再次衷心感谢CZY老师的热情帮助!!
--  作者:czy
--  发布时间:2012/1/6 22:41:00
--  

在Tables("车间名册").AutoSizeCols()前面加上下面这行代码看看。

 

DataTables("车间名册").DeleteFor("部门 <> \'" & bm & "\'")


--  作者:yyzlxc
--  发布时间:2012/1/7 22:22:00
--  
谢谢CZY老师的热情帮助指教,加了这行代码后,问题得到全部解决,再次衷心感谢!!