Foxtable(狐表)用户栏目专家坐堂 → 姓名的验证


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

主题:姓名的验证

美女呀,离线,留言给我吧!
susu312
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
姓名的验证  发帖心情 Post By:2018/8/20 11:25:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

老师,对于个人信息中的姓名,

需求:

1、不能为空,且不能超过长度10

2、如果超过10则不允许输入了

 

validating:

Dim txt As String = e.Sender.Text
If  txt > "" Then
     If txt.Length > 10 Then 
         e.Sender.Error = "姓名长度不允许超过10"
         e.Cancel=True
     End If
Else
    e.Sender.Error = "姓名不允许为空"
    e.Cancel=True
End If

keydown:

If e.sender.text.length > 9 Then
        e.cancel = True
End If

 

代码是上面:

 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 

您看我输了10个数字后,我想回退,退不回去了,

 

老师,还有一个疑惑,对于个人信息里面的诸多字段,我是在确定事件里面验证还是在validating里面验证


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112399 积分:572263 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/20 11:29:00 [只看该作者]

keydown:

if e.KeyCode <> keys.Back

If e.sender.text.length > 9 Then
        e.cancel = True
End If

end if


 回到顶部
美女呀,离线,留言给我吧!
susu312
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/8/20 15:59:00 [只看该作者]

With Tables("person")
    If .Current Is Nothing Then
        For Each dr As DataRow In Tables("person").Current.DataRow.GetChildRows("family")
                  dr.Delete
        Next
   Else
       .Current.Delete
   End If
End With
e.Form.Close

 

老师,上面代码中,

 

1、如果人员当前信息部为空,则把当人员信息表的当前行对应的家庭信息都删除

2、如何人员信息为空,啥都没有填写,就把这一行也删除了

我上面的代码貌似没有实现第二个功能,

我觉得可能判断无效,请老师指点一下


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112399 积分:572263 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/20 16:22:00 [只看该作者]

1、使用关同步删除功能:http://www.foxtable.com/webhelp/scr/2298.htm

2、到DataRowDeleting事件写代码删除,类似http://www.foxtable.com/webhelp/scr/0633.htm

 回到顶部
美女呀,离线,留言给我吧!
susu312
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/8/20 16:26:00 [只看该作者]

以下是引用有点蓝在2018/8/20 16:22:00的发言:
1、使用关同步删除功能:http://www.foxtable.com/webhelp/scr/2298.htm

2、到DataRowDeleting事件写代码删除,类似http://www.foxtable.com/webhelp/scr/0633.htm

老师,我可能没有表达清楚

 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 

您看,这是两个页面,我第二个删除的目的不是同步更新同步删除

 

是因为,用户有时候点进去,基本信息啥也没写,然后到家庭信息页面 ,结果,他不想写了,他点家庭信息页面的取消, 如果判断到基本信息啥也没写,则把当前人员信息记录删除?


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112399 积分:572263 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/20 16:38:00 [只看该作者]

With Tables("person")
    For Each dr As DataRow In .Current.DataRow.GetChildRows("family")
        dr.Delete
    Next
    Dim nd As Boolean
    For Each c As Col In .cols
        If .Current.isnull(c.name) = False Then
            nd=True
            Exit
        End If
    Next
    If nd = false Then .Current.delete
End With

 回到顶部
美女呀,离线,留言给我吧!
susu312
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/8/20 19:15:00 [只看该作者]

以下是引用有点蓝在2018/8/20 16:38:00的发言:
With Tables("person")
    For Each dr As DataRow In .Current.DataRow.GetChildRows("family")
        dr.Delete
    Next
    Dim nd As Boolean
    For Each c As Col In .cols
        If .Current.isnull(c.name) = False Then
            nd=True
            Exit  for
        End If
    Next
    If nd = false Then .Current.delete
End With

老师,这个代码它永远也不可能为false. 因为从来没可能赋值为false

 

 

 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 

老师,上图中,每次一打开,那个光标不知在这个控件就在那个控件,我把它们的tab值都设为999了,但是还是有,如何去掉这个光标,只有当真正定位到那里的时候才光标闪烁?


 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112399 积分:572263 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/20 20:57:00 [只看该作者]

逻辑型变量默认就是false,不需要赋值

afterload写代码选中某一个按钮,输入框就不会出现光标了

 回到顶部
美女呀,离线,留言给我吧!
susu312
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:997 积分:6752 威望:0 精华:0 注册:2018/6/8 16:17:00
  发帖心情 Post By:2018/8/20 21:07:00 [只看该作者]

以下是引用有点蓝在2018/8/20 20:57:00的发言:
逻辑型变量默认就是false,不需要赋值

afterload写代码选中某一个按钮,输入框就不会出现光标了

老师,我的afterlaod里面代码如下:

Tables("person").AddNew()
Tables("person").Current.Save()

没必要选择某个按钮,可以控制它不选中任何么?但鼠标真的点击的时候才选中?


 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:112399 积分:572263 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/8/20 21:18:00 [只看该作者]

窗口打开肯定要选中其中一个控件,选中一个标签呗

e.Form.Controls("Label1").Select

 回到顶部
总数 12 1 2 下一页