以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  启动验证  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=135781)

--  作者:benwong2013
--  发布时间:2019/6/3 9:54:00
--  启动验证
系统用原foxtable自带的账户管理登陆,现在考虑在输入账户和密码之后,系统进行验证,若不通过将弹出对话框验证,但在目前设置中弹出对话框后仍可以操作;

想弹出对话框之后当前只能操作对话框,其它不允许,请问如何处理?

afteropenproject
Dim fr As DataRow = DataTables("ERPUsers").SQLFind("Name = \'"& User.Name &"\'")
If fr IsNot Nothing Then
    If fr.IsNull("ComputerId") = False Then
        If fr("ComputerId") = ComputerId Then
            Dim dr As DataRow = DataTables("B_CSlist").SQLFind("姓名 = \'"& User.Name &"\'")
            If dr IsNot Nothing Then
                _Quyu = dr("区域中文")
                _LabNo = dr("区域")
                _UserNo = dr("客服编号")
                If dr("版本提醒") = False Then
                    forms("登录版本提醒").open()
                End If
            Else
                Tables("B_CSlist").addnew
                Tables("B_CSlist").Current("姓名") = User.Name
                Forms("首次登录用户信息维护").Open()
            End If
        Else
            Forms("ComputerID重新绑定").open
        End If
    Else
        Forms("ComputerId绑定").open
    End If
Else
    MessageBox.Show("系统未找到您的用户信息,请联系管理员,谢谢!","温馨提示")
    Syscmd.Project.Exit()    
End If

--  作者:有点甜
--  发布时间:2019/6/3 10:01:00
--  

把窗口类型,改成模式窗口

 

http://www.foxtable.com/webhelp/scr/0697.htm

 


--  作者:benwong2013
--  发布时间:2019/6/3 16:49:00
--  
已经修改为模式窗口,但如以下代码测试的时候可以,但是放在afteropenproject时却点击没有反应;
Dim gh As String = e.Form.Controls("工号").value
Dim yzm As String = e.Form.Controls("验证码").value
Dim dr As DataRow = DataTables("ERPUsers").sqlfind("UserNo = \'"& gh &"\'")
If dr IsNot Nothing Then
    If dr("Name") = User.name Then
        If yzm = dr("ID").SubString(dr("ID").Length - 6) Then
            dr("ComputerId") = ComputerId
            dr.save
            MessageBox.Show("系统已更新机器码,在点击确认之后系统将退出,请重启!","温馨提示")
            Syscmd.Project.Exit()
        Else
            MessageBox.Show("输入验证错误!","警告")
            Return
        End If
    Else
        MessageBox.Show("用户名与工号信息不一致,请确认之后再输入,谢谢!","警告")
        Return
    End If
Else
    MessageBox.Show("未找到此工号信息!","警告")
    Return
End If

--  作者:有点甜
--  发布时间:2019/6/3 18:56:00
--  

 

加入msgbox,看执行到了什么地方,哪些代码不执行

 

 


--  作者:benwong2013
--  发布时间:2019/6/3 20:03:00
--  
点击按钮都没有反应,好像不执行代码一样的
--  作者:有点蓝
--  发布时间:2019/6/3 20:10:00
--  
3楼的代码放到窗口的按钮事件里,而不是放到afteropenproject事件
--  作者:benwong2013
--  发布时间:2019/6/3 20:13:00
--  
是的,放在窗口中若在设计界面测试是可以的,但若通过afteropenproject事件代码启动窗口,点击窗口的按钮事件就没有反应
--  作者:有点蓝
--  发布时间:2019/6/3 20:24:00
--  
看msgbox弹出什么内容:http://www.foxtable.com/webhelp/scr/1485.htm
Dim gh As String = e.Form.Controls("工号").value
Dim yzm As String = e.Form.Controls("验证码").value
Dim dr As DataRow = DataTables("ERPUsers").sqlfind("UserNo = \'"& gh &"\'")
msgbox(dr IsNot Nothing)
If dr IsNot Nothing Then
msgbox(User.name)
msgbox(dr("Name"))
    If dr("Name") = User.name Then
msgbox(dr("ID").SubString(dr("ID").Length - 6))
        If yzm = dr("ID").SubString(dr("ID").Length - 6) Then
msgbox(ComputerId)
msgbox(dr("ComputerId") )
            dr("ComputerId") = ComputerId
            dr.save
            MessageBox.Show("系统已更新机器码,在点击确认之后系统将退出,请重启!","温馨提示")
            Syscmd.Project.Exit()
        Else
            MessageBox.Show("输入验证错误!","警告")
            Return
        End If
    Else
        MessageBox.Show("用户名与工号信息不一致,请确认之后再输入,谢谢!","警告")
        Return
[此贴子已经被作者于2019/6/3 20:24:28编辑过]

--  作者:benwong2013
--  发布时间:2019/6/3 23:16:00
--  
点击还是没有反应,但我在系统加个文本框,若找到行将显示行中某列的数据是可以的
--  作者:有点甜
--  发布时间:2019/6/4 10:07:00
--  
具体实例发上来测试。