以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  年龄、身份证、出生年月一致  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=120942)

--  作者:susu312
--  发布时间:2018/6/26 17:24:00
--  年龄、身份证、出生年月一致
老师,在表中,年龄、身份证、出生年月这些要保持一致,这个怎么设计呀
--  作者:有点甜
--  发布时间:2018/6/26 18:45:00
--  

datacolchanged事件

 

Select Case e.DataCol.Name
    Case "身份证号"
        If e.DataRow.IsNull("身份证号") Then  \'身份证号码是否为空
            e.DataRow("出生日期") = Nothing  \'如果为空,则清除出生日期
            e.DataRow("性别") = Nothing  \'如果为空,则清除出生日期
            e.DataRow("年龄") = Nothing \'如果为空,则清除年龄
        Else
            \'否则从身份证号码列中提取出生日期
            e.DataRow("出生日期") = ReadBirthday(e.DataRow("身份证号"))
            e.DataRow("性别") = ReadSex(e.DataRow("身份证号"))
            Dim d As Date = ReadBirthday(e.DataRow("身份证号"))
            Dim y As Integer = d.year
            If format(d, "MMdd") <= Format(Date.Today, "MMdd") Then
                e.DataRow("年龄") = Date.Today.Year - y
            Else
                e.DataRow("年龄") = Date.Today.Year - y -1
            End If
        End If
End Select


--  作者:susu312
--  发布时间:2018/6/26 19:52:00
--  

老师,这个和性别有啥关系了呀?


--  作者:有点蓝
--  发布时间:2018/6/26 20:10:00
--  
例子而已,把你认为有用的保留,无用的删除掉
--  作者:susu312
--  发布时间:2018/6/26 20:18:00
--  

Case "partyTime"
        If e.DataRow.IsNull("partyTime") Then  \'入党时间是否为空
           e.DataRow("partyStanding") = Nothing  \'如果为空,则清除出生日期
        Else
            Dim d As Date = "partyTime"
            Dim y As Integer = d.year
            If format(d, "MMdd") <= Format(Date.Today, "MMdd") Then
                e.DataRow("partyStanding") = Date.Today.Year - y
            Else
                e.DataRow("partyStanding") = Date.Today.Year - y -1
            End If

         End If

 

老师,我这个是计算党龄的,我想问下这个format(d,"MMdd")啥意思?还有就是我这个计算党龄的代码报错,是不是那个赋值语句不太对


--  作者:有点蓝
--  发布时间:2018/6/26 20:23:00
--  
Format用法参考:http://www.foxtable.com/webhelp/scr/0362.htm

If e.DataRow.IsNull("partyTime") Then  \'入党时间是否为空
           e.DataRow("partyStanding") = Nothing  \'如果为空,则清除出生日期
        Else
            Dim d As Date = e.DataRow("partyTime")
            Dim y As Integer = d.year
            If format(d, "MMdd") <= Format(Date.Today, "MMdd") Then
                e.DataRow("partyStanding") = Date.Today.Year - y
            Else
                e.DataRow("partyStanding") = Date.Today.Year - y -1
            End If

         End If 


--  作者:susu312
--  发布时间:2018/6/26 20:32:00
--  
老师, 我弱弱的问下 ,您知道按字段查询是啥意思不,对应在foxtable上应该是具体啥样的,是模糊查询么?
--  作者:有点蓝
--  发布时间:2018/6/26 20:54:00
--  
字段在狐表里叫做列,就是按照此列的内容进行查询


初学者建议完整把【使用指南】过2遍