Foxtable(狐表)用户栏目专家坐堂 → 按钮代码求助


  共有14655人关注过本帖树形打印复制链接

主题:按钮代码求助

帅哥哟,离线,有人找我吗?
wqc360
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:790 积分:5695 威望:0 精华:0 注册:2009/4/17 18:42:00
按钮代码求助  发帖心情 Post By:2009/12/23 15:33:00 [只看该作者]

质量日记录表有质量记录窗口,窗口有日期(日期输入框)控件,另有一填充按钮,按钮代码如下:
Dim d As Date = Forms("质量记录").Controls("日期").Value
Dim drs As List(Of DataRow) = DataTables("员工档案").Select("[在岗情况] = '在岗'")
For Each dr1 As Datarow In drs
    Dim dr As DataRow = DataTables("质量日记录").Find("姓名 = '" & dr1("姓名") & "' And 日期 = '" & d & "'")
    if dr Is Nothing Then
        Dim dr2 As DataRow = DataTables("质量日记录").AddNew()
        dr2("日期") = d
        dr2("姓名") = dr1("姓名")
    End If
Next

在质量日记录表中,有年月列,其靠日期列得出,代码如下:
if e.datacol.name = "日期"
    e.datarow("年月") = format(e.datarow("日期"),"yyyy年MM月")
end if
我想按钮代码加上条件:日期控件得出一年月变量代码,此变量与质量日记录表中年月列比较,有,则不填充
Dim d As Date = Forms("质量记录").Controls("日期").Value
Dim drs As List(Of DataRow) = DataTables("员工档案").Select("[在岗情况] = '在岗'")
Dim drs1 As string=??????
For Each dr1 As Datarow In drs
    Dim dr As DataRow = DataTables("质量日记录").Find("姓名 = '" & dr1("姓名") & "' And 日期 = '" & d & "'  And 年月 = '" & drs1 & "' ")
    if dr Is Nothing Then
        Dim dr2 As DataRow = DataTables("质量日记录").AddNew()
        dr2("日期") = d
        dr2("姓名") = dr1("姓名")
    End If
Next
代码是否如以上,求问号怎么写,橘黄色能否删掉



 回到顶部
帅哥哟,离线,有人找我吗?
czy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/12/23 15:45:00 [只看该作者]

……
Dim dr As DataRow = DataTables("质量日记录").Find("姓名 = '" & dr1("姓名") & "' And 日期 = '" & d & "'  And 年月 <> '" & drs1 & "' ")
……

这样不行吗?

 回到顶部
帅哥哟,离线,有人找我吗?
wqc360
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:790 积分:5695 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2009/12/23 15:50:00 [只看该作者]

Dim drs1 As string=??????代码怎么写
还有为什么要用<> ,而不用=呢

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/12/23 16:07:00 [只看该作者]

我想你应该是想这样吧。

Dim d As Date = Forms("质量记录").Controls("日期").Value
Dim drs As List(Of DataRow) = DataTables("员工档案").Select("[在岗情况] = '在岗'")
For Each dr1 As Datarow In drs
    Dim dr As DataRow = DataTables("质量日记录").Find("姓名 = '" & dr1("姓名") & "' And 年月 = '" & dr1("年月") & "'")
    if dr Is Nothing Then
        Dim dr2 As DataRow = DataTables("质量日记录").AddNew()
        dr2("日期") = d
        dr2("姓名") = dr1("姓名")
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
wqc360
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:790 积分:5695 威望:0 精华:0 注册:2009/4/17 18:42:00
按钮代码求助  发帖心情 Post By:2009/12/23 16:11:00 [只看该作者]

不行,会报错,目的是一个月填充一次。请见示范文件
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目11.table

[此贴子已经被作者于2009-12-23 16:11:06编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
wqc360
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:790 积分:5695 威望:0 精华:0 注册:2009/4/17 18:42:00
按钮代码求助  发帖心情 Post By:2009/12/23 16:31:00 [只看该作者]

日期控件我改成组合框,按钮代码我这样达到目的了:谢谢C版
Dim Values As String() = {"日期"}
For Each Va as string In Values
    with e.form
        if .Controls(va).value Is Nothing then
            MessageBox.Show(va &" 资料不全,请录入!", "提示")
        end if
    end with
Next
Dim d As string = Forms("质量记录").Controls("日期").Value
Dim d1 As Date = Forms("质量记录").Controls("日期").Value
Dim drs As List(Of DataRow) = DataTables("员工档案").Select("[在岗情况] = '在岗'")
For Each dr1 As Datarow In drs
    Dim dr As DataRow = DataTables("质量日记录").Find("姓名 = '" & dr1("姓名") & "' And 年月 = '" & d & "'")
    if dr Is Nothing Then
        Dim dr2 As DataRow = DataTables("质量日记录").AddNew()
        dr2("日期") = d1
        dr2("年月") = d
        dr2("姓名") = dr1("姓名")
    End If
Next
[此贴子已经被作者于2009-12-23 16:32:16编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/12/23 16:36:00 [只看该作者]

你应该早点上传文件。
DataColChanged事件可以取消。


Dim d As Date = Forms("质量记录").Controls("日期").Value
Dim drs As List(Of DataRow) = DataTables("员工档案").Select("[在岗情况] = '在岗'")
For Each dr1 As Datarow In drs
    Dim dr As DataRow = DataTables("质量日记录").Find("姓名 = '" & dr1("姓名") & "' And 年月 = '" & Format(d,"y") & "'")
    if dr Is Nothing Then
        Dim dr2 As DataRow = DataTables("质量日记录").AddNew()
        dr2("日期") = d
        dr2("年月") = Format(d,"y")
        dr2("姓名") = dr1("姓名")
    End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
wqc360
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:790 积分:5695 威望:0 精华:0 注册:2009/4/17 18:42:00
  发帖心情 Post By:2009/12/23 16:57:00 [只看该作者]

谢谢出版,比我那个好多了

 回到顶部