以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  简化代码及窗口时间框问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=118324)

--  作者:cxmxjwlmq
--  发布时间:2018/4/29 14:07:00
--  简化代码及窗口时间框问题
 老师们:1、给看看这段代码,有没有简单的写法。

If User.Name = "开发者" Then

  Dim t As Table = Tables("制造质量管理")

  Dim cr = t.Current

  Dim nr As Row = t.AddNew

  If t.Current Is Nothing OrElse t.Current.Index = t.Rows.count-1 Then

      nr.move(cr.Index+1)

  End If

    nr("日期") = Date.Today

    nr("编号") = cr("编号")

    nr("代号") = cr("代号")

    nr("底盘号") = cr("底盘号")

    nr("发动机号") = cr("发动机号")

    nr("气柜") = cr("气柜")

    nr("驾驶") = cr("驾驶")

    nr("室颜色") = cr("室颜色")

    nr("序号") = cr("序号") + 1

    nr("检验岗") = User.Roles

    nr("检验员") = User.Name

    nr("调试工") = cr("调试工")

    Forms("车型信息输入").Show()\'打开校核窗口

End If

If User.IsRole("工检4") Then\'如果登陆者角色为工序检验岗4

  Dim t As Table = Tables("制造质量管理_Table1")

  Dim cr = t.Current

  Dim nr As Row = t.AddNew

  If t.Current Is Nothing OrElse t.Current.Index = t.Rows.count-1 Then

      nr.move(cr.Index+1)

  End If

    nr("日期") = Date.Today

    nr("编号") = cr("编号")

    nr("代号") = cr("代号")

    nr("底盘号") = cr("底盘号")

    nr("发动机号") = cr("发动机号")

    nr("气柜") = cr("气柜")

    nr("驾驶") = cr("驾驶")

    nr("室颜色") = cr("室颜色")

    nr("序号") = cr("序号") + 1

    nr("检验岗") = User.Roles

    nr("检验员") = User.Name

    nr("调试工") = cr("调试工")

    nr("状态") = "报工"

End If

    Forms("车型信息输入").Show()\'打开校核窗口

If User.IsRole("终检") Then\'如果登陆者角色为终检

  Dim t As Table = Tables("制造质量管理_Table1")

  Dim cr = t.Current

  Dim nr As Row = t.AddNew

  If t.Current Is Nothing OrElse t.Current.Index = t.Rows.count-1 Then

      nr.move(cr.Index+1)

  End If

    nr("日期") = Date.Today

    nr("编号") = cr("编号")

    nr("代号") = cr("代号")

    nr("底盘号") = cr("底盘号")

    nr("发动机号") = cr("发动机号")

    nr("气柜") = cr("气柜")

    nr("驾驶") = cr("驾驶")

    nr("室颜色") = cr("室颜色")

    nr("序号") = cr("序号") + 1

    nr("检验岗") = User.Roles

    nr("检验员") = User.Name

    nr("调试工") = cr("调试工")

    nr("状态") = "入库"

End If

 

2、在窗口中插入一个DateTimePicker1框,怎样在打开窗口时框内的日期值为当月的第一天?

 

谢谢老师、大咖们!


--  作者:有点蓝
--  发布时间:2018/4/29 14:24:00
--  
1、
Dim t As Table
If User.Name = "开发者" Then
    t = Tables("制造质量管理")
ElseIf User.IsRole("工检4") OrElse User.IsRole("终检") Then\'如果登陆者角色为工序检验岗4
    t = Tables("制造质量管理_Table1")
End If
Dim cr = t.Current
Dim nr As Row = t.AddNew
If cr Is Nothing OrElse cr.Index = t.Rows.count-1 Then
    nr.move(cr.Index+1)
End If
nr("日期") = Date.Today
nr("编号") = cr("编号")
nr("代号") = cr("代号")
nr("底盘号") = cr("底盘号")
nr("发动机号") = cr("发动机号")
nr("气柜") = cr("气柜")
nr("驾驶") = cr("驾驶")
nr("室颜色") = cr("室颜色")
nr("序号") = cr("序号") + 1
nr("检验岗") = User.Roles
nr("检验员") = User.Name
nr("调试工") = cr("调试工")
Forms("车型信息输入").Show()\'打开校核窗口

2、
窗口afterload

e.form.contols("DateTimePicker1").value = new date(date.today.year,date.today.month,1)

--  作者:cxmxjwlmq
--  发布时间:2018/4/29 14:46:00
--  

老师:

    第二个已解决。

   但第一个运行后不对。因为在判断时,如果登陆者角色为:工检4, nr("状态") = "报工";如果是终检,nr("状态") = "入库",如果是开发者,没有这一行。

老师:你受累!


--  作者:有点蓝
--  发布时间:2018/4/29 16:48:00
--  
Dim t As Table
Dim status As String
If User.Name = "开发者" Then
    t = Tables("制造质量管理")
ElseIf User.IsRole("工检4") Then
    t = Tables("制造质量管理_Table1")
    status  = "报工"
ElseIf User.IsRole("终检") Then\'如果登陆者角色为工序检验岗4
    status  = "入库"
    t = Tables("制造质量管理_Table1")
End If
Dim cr = t.Current
Dim nr As Row = t.AddNew
If cr Is Nothing OrElse cr.Index = t.Rows.count-1 Then
    nr.move(cr.Index+1)
End If
nr("日期") = Date.Today
nr("编号") = cr("编号")
nr("代号") = cr("代号")
nr("底盘号") = cr("底盘号")
nr("发动机号") = cr("发动机号")
nr("气柜") = cr("气柜")
nr("驾驶") = cr("驾驶")
nr("室颜色") = cr("室颜色")
nr("序号") = cr("序号") + 1
nr("检验岗") = User.Roles
nr("检验员") = User.Name
nr("调试工") = cr("调试工")
nr("状态") = status
Forms("车型信息输入").Show()\'打开校核窗口

--  作者:cxmxjwlmq
--  发布时间:2018/4/30 20:39:00
--  

谢谢蓝老师!