Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]狐表自动退出

1楼
iyplx2425 发表于:2024/1/6 12:45:00
在狐表中对单元格进行剪切、删除操作时,狐表自动退出,是什么问题?

2楼
有点蓝 发表于:2024/1/6 14:03:00
一般是表事件计算死循环了
3楼
iyplx2425 发表于:2024/1/6 15:29:00
If e.DataCol.Name = "身份证号" Then '如果更改的是身份证号码列
    If e.DataRow.IsNull("身份证号") Then '身份证号码是否为空
        e.DataRow("出生日期") = Nothing '如果为空,则清除出生日期
    Else
        '否则从身份证号码列中提取出生日期
        e.DataRow("出生日期") = ReadBirthday(e.DataRow("身份证号"))
    End If
End If
If e.DataCol.Name = "身份证号" Then '如果更改的是身份证号码列
    If e.DataRow.IsNull("身份证号") Then '身份证号码是否为空
        e.DataRow("性别") = Nothing '如果为空,则清除出生日期
    Else
        '否则从身份证号码列中提取出生日期
        e.DataRow("性别") = Readsex(e.DataRow("身份证号"))
    End If
End If
If e.DataCol.Name = "出生日期" Then
    If e.DataRow.IsNull("出生日期") Then '如果没有输入出生日期
        e.DataRow("年龄") = Nothing '则清空年龄
    Else
        '否则计算年龄
        e.DataRow("年龄") = Date.Today.Year - e.DataRow("出生日期").Year
    End If
End If
DataTables("学籍表").DataCols("出生日期").RaiseDataColChanged()
If e.DataCol.Name = "入学日期" Then
    If e.DataRow.IsNull("入学日期") Then '如果没有输入出生日期
        e.DataRow("学龄") = Nothing '则清空年龄
    Else
        '否则计算年龄
        e.DataRow("学龄") = Date.Today.Year - e.DataRow("入学日期").Year
    End If
End If
DataTables("学籍表").DataCols("入学日期").RaiseDataColChanged()
以上是[学籍表]中的DataColChanged事件代码。请审查一下,错误在哪里。
谢谢。
4楼
有点蓝 发表于:2024/1/6 15:31:00
下面代码去掉,纯粹多此一举

DataTables("学籍表").DataCols("出生日期").RaiseDataColChanged()
DataTables("学籍表").DataCols("入学日期").RaiseDataColChanged()
5楼
iyplx2425 发表于:2024/1/6 16:34:00
删去两两行问题解决了。但为什么
If e.DataCol.Name = "出生日期" Then
    If e.DataRow.IsNull("出生日期") Then '如果没有输入出生日期
        e.DataRow("年龄") = Nothing '则清空年龄
    Else
        '否则计算年龄
        e.DataRow("年龄") = Date.Today.Year - e.DataRow("出生日期").Year
    End If
End If
能计算出年龄,而
If e.DataCol.Name = "入学日期" Then
    If e.DataRow.IsNull("入学日期") Then '如果没有输入出生日期
        e.DataRow("学龄") = Nothing '则清空年龄
    Else
        '否则计算年龄
        e.DataRow("学龄") = Date.Today.Year - e.DataRow("入学日期").Year
    End If
End If
计算不出学龄?同样的代码啊。
谢谢。
6楼
有点蓝 发表于:2024/1/6 17:07:00
"入学日期"列有输入内容吗?

如果是旧数据,点击菜单的重置列,重置一次
7楼
iyplx2425 发表于:2024/1/7 9:43:00
可以了。谢谢。

共7 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03516 s, 2 queries.