以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  判段  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=158450)

--  作者:qazlinle6
--  发布时间:2020/11/20 14:12:00
--  判段
第一列=123456789   第二列=9位数
什么让第二列判段第一列有多少个数

--  作者:有点蓝
--  发布时间:2020/11/20 14:17:00
--  
dim r as row = tables("a").current
if r isnot nothing andalso r.isnull("第一列") = false
r("第二列") = cstr(r("第一列")).length
end if

--  作者:qazlinle6
--  发布时间:2020/11/20 17:07:00
--  
第一列=123456789   第二列=9位数
第二列<>9
如果不是9弄个提示,然后返回第一列重新输入



--  作者:有点蓝
--  发布时间:2020/11/20 17:41:00
--  
if cstr(r("第一列")).length <>9 then
msgbox("提示")
tables("a").select(r.index,0)
else
赋值
end if

--  作者:qazlinle6
--  发布时间:2020/11/20 20:04:00
--  

[此贴子已经被作者于2020/11/20 20:41:14编辑过]

--  作者:qazlinle6
--  发布时间:2020/11/20 20:11:00
--  
If e.DataCol.Name = "其它电话数" Then \'如果更改的是身份证号码列
    If e.DataRow("其它电话数")<>11 Then \'身份证号码是否为空
Dim Result As DialogResult
Result = MessageBox.Show("号码不对请输入正确号码", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
End If
End If

按取消删除其它电话列的内容,按确认继续修改其它电话列的内容,不可以编辑其它列

--  作者:有点蓝
--  发布时间:2020/11/21 9:14:00
--  
代码放到datacolchanging事件

If e.DataCol.Name = "其它电话" AndAlso e.DataRow.isnull("其它电话") = False Then \'如果更改的是身份证号码列
    If e.DataRow("其它电话").length<>11 Then \'身份证号码是否为空
        Dim Result As DialogResult
        Result = MessageBox.Show("号码不对请输入正确号码", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
        If Result = DialogResult.Yes Then
            e.cancel=True
        Else
            e.DataRow("其它电话数")= e.DataRow("其它电话").length
        End If
    End If
End If

--  作者:qazlinle6
--  发布时间:2020/11/21 12:04:00
--  
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2020.5.29.8
错误所在事件:表,会员资料,DataColChanging
详细错误信息:
调用的目标发生了异常。
未找到类型“Double”的公共成员“length”。

--  作者:有点蓝
--  发布时间:2020/11/21 13:51:00
--  
If cstr(e.DataRow("其它电话")).length<>11 Then
--  作者:qazlinle6
--  发布时间:2020/11/22 13:55:00
--  
Dim r As Row = Tables("会员资料").current
If r IsNot Nothing AndAlso r.isnull("电话") = False
    r("电话数") = cstr(r("电话")).length
Else
    r("电话数") = Nothing
End If


下面追加数据这个上面代码什么没用

Select Case e.DataCol.Name
    Case "电话"
DataTables("会员资料").removefor("电话 = \'" & e.DataRow("电话") & "\'")
DataTables("会员资料").AppendLoad("电话 = \'" & e.DataRow("电话") & "\'")
        Dim dr1 As DataRow
        \'否则在产品表查找同名的产品行,将找到的行赋值给变量dr
        dr1 = DataTables("会员资料").Find("[电话] = \'" & e.DataRow("电话") &  "\'")
        If dr1 Is Nothing Then  \'如果找到了同名的产品行,也就是dr不是Nothing
            dr1 = DataTables("会员资料").AddNew()
dr1("电话") = e.DataRow("电话")
dr1("注册日期") = e.DataRow("日期")
            dr1("注册店名") = e.DataRow("店名")


        End If
End Select