Foxtable(狐表)用户栏目专家坐堂 → [求助]录入窗口部分代码问题


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

主题:[求助]录入窗口部分代码问题

帅哥哟,离线,有人找我吗?
blsu33
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2927 积分:20161 威望:0 精华:0 注册:2012/2/3 17:45:00
[求助]录入窗口部分代码问题  发帖心情 Post By:2015/7/16 14:51:00 [只看该作者]

老师,
   录入窗口的保存按钮有问题,麻烦您给看下哪里不对

位置 点击“增加”按钮 然后进入“JOBCARD编辑窗口”

保存按钮的代码这部分 在对应为空的时候 没有执行,请老师给看下
If Tables("ar_table5").Current IsNot Nothing Then
    For Each st As String In sts2
        If Tables("ar_table5").Current.isnull(st) = True Then
            MessageBox.Show("Pre show<- "& ST &" ->列未填写完整,不能保存!","提醒")
            Return
        




[此贴子已经被作者于2015/7/16 16:33:28编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/16 15:07:00 [只看该作者]

 有什么问题?只要填入了内容,就没问题啊。

 回到顶部
帅哥哟,离线,有人找我吗?
blsu33
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2927 积分:20161 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/7/16 15:09:00 [只看该作者]

哦  没填 就可以保存 

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/16 15:10:00 [只看该作者]

 

[此贴子已经被作者于2015/7/16 15:10:21编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/16 15:14:00 [只看该作者]

If Tables("ar_table5").Current IsNot Nothing Then
    For Each st As String In sts2
        If Tables("ar_table5").Current.isnull(st) = True Then
            MessageBox.Show("Pre show<- "& ST &" ->列未填写完整,不能保存!","提醒")
            Return
        End If
    Next
    Tables("ar_table5").Current("录入人")=_username
    Tables("ar_table5").Current.save
    Dim Result As DialogResult
    For Each st3 As String In sts3
        If Tables("ar_table5").Current.isnull(st3) = True Then
            Result=MessageBox.Show("Post show填写不完整,不能保存Post show,是否返回!","提醒",MessageBoxButtons.YesNo)
            If Result=DialogResult.Yes Then
                Return
            Else
                Exit For
            End If
        End If
    Next
    Tables("ar_table5").Current("录入人")=_username
    
    Tables("ar_table5").Current.Locked=True
    Tables("ar_table5").Current.save


    Dim bt1 As WinForm.Button = e.Form.Controls("Button1")
    Dim bt2 As WinForm.Button = e.Form.Controls("Button2")
    bt1.Enabled=True
    bt2.Enabled=True
End If


 回到顶部
帅哥哟,离线,有人找我吗?
blsu33
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2927 积分:20161 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/7/16 15:59:00 [只看该作者]

老师,
  在录入 旧项目号:
AAAER14001-001   我是粘贴进去的
为什么速度特变慢,第一遍没有执行 第二遍才执行 AR窗口的 Table5 Datacolchanged 的代码下面黄色标注的

Select e.DataCol.Name
    Case "旧项目号"
        
        
        Dim dt,dt1,dt2 As DataTable
        Dim cmd,cmd1,cmd2 As New SQLCommand
        cmd.C
        cmd1.C
        cmd2.C
        cmd.CommandText = "SELECT * Fr om {ERPcode} where 1=2"
        cmd1.CommandText = "SELECT * Fr om {组别转换} where 1=2"
        cmd2.CommandText = "SELECT * Fr om {Showcode转换} where 1=2"
        dt = cmd2.ExecuteReader()
        dt1 = cmd1.ExecuteReader()
        dt2 = cmd.ExecuteReader()
        
        If e.NewValue IsNot Nothing AndAlso e.NewValue.Length >2 Then
            Dim dr,dr1,dr3 As DataRow
            dr = dt.sqlFind("旧项目号= '"& e.NewValue &"'")
            If dr IsNot Nothing Then
                e.DataRow("项目号") =dr("项目号")
                e.DataRow("ShowName")=dr("ProjectName")
                e.DataRow("组别")=e.DataRow("项目号").SubString(0,2)
                dr1 = dt1.sqlFind("原组别='"& e.DataRow("组别") &"'")
                If dr1 IsNot Nothing Then
                    e.DataRow("组别")=""
                    e.DataRow("组别")=dr1("组别")
                End If
            Else
                dr3=dt2.sqlFind("Project= '" & e.DataRow("项目号") &"'")
                If dr3 IsNot Nothing Then
                    e.DataRow("项目号")=dr3("Project")
                    e.DataRow("组别") =e.DataRow("项目号").SubString(0,2)
                    e.DataRow("pic")=dr3("PIC name")
                    e.DataRow("ShowName")=dr3("Name")
                Else
                    e.DataRow("项目号")=e.DataRow("旧项目号")
                    e.DataRow("组别") =e.DataRow("项目号").SubString(0,2)
                End If
            End If
        End If
        



 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/16 16:09:00 [只看该作者]

尽量不要在输入的时候查询,因为每查一次,都耗时。

 

 TextChanged事件代码

 

If e.Sender.Text IsNot Nothing Then
    e.sender.Text =e.Sender.Text.ToUpper
End If

 

 Leave事件代码

 

Tables("ar_table5").Current("旧项目号") =e.Sender.Text.ToUpper


 回到顶部
帅哥哟,离线,有人找我吗?
blsu33
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2927 积分:20161 威望:0 精华:0 注册:2012/2/3 17:45:00
  发帖心情 Post By:2015/7/16 16:31:00 [只看该作者]

老师,
  黄色部分的代码 测试了 不知道哪里有问题 不执行 麻烦您再给看看 

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/16 16:34:00 [只看该作者]

 你确定这个时候你的 项目号 有值吗?你加入msgbox调试一下

 

dr3=dt2.sqlFind("Project= '" & e.DataRow("项目号") &"'")

 


 回到顶部