以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]密码生成怎么不执行?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=27752)

--  作者:cqlpjks
--  发布时间:2013/1/9 12:59:00
--  [求助]密码生成怎么不执行?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:阅卷教师名册.rar
请教:点击“密码生成”怎么不执行?

--  作者:lin_hailun
--  发布时间:2013/1/9 13:12:00
--  
 代码改一下

DataTables("成绩库").DataCols("姓名").RaiseDataColChanged()

--  作者:cqlpjks
--  发布时间:2013/1/9 13:30:00
--  

谢谢!在表事件中的DataColChanged中执行得行了,但我想在窗口中的“密码生成”按钮中直接写入代码,代码如何写?请指教!

[此贴子已经被作者于2013-1-9 13:34:58编辑过]

--  作者:lin_hailun
--  发布时间:2013/1/9 14:11:00
--  
For Each dr As DataRow In DataTables("成绩库").Select("姓名 is not null")
    dr("密码") = GetPy(dr("姓名"), True)
Next
--  作者:cqlpjks
--  发布时间:2013/1/9 14:49:00
--  

谢谢!我的表中增加了学科代码和用户ID两列,在表事件中执行的是:

Select e.DataCol.Name
    Case "学科代码"
        If e.DataRow.IsNull("学科代码") Then
            e.DataRow("学科序号") = Nothing
        Else
            Dim lb As String = e.DataRow("学科代码")
            If e.DataRow("学科序号").StartsWith(lb) = False \'如果单据学科序号前缀不符
                Dim max As String
                Dim idx As Integer
                max = e.DataTable.Compute("Max(学科序号)","学科代码 = \'" & lb & "\'") \'取得该学科代码的最大学

科序号
                If max > "" Then \'如果存在最大学科序号
                    idx = CInt(max.Substring(2,3)) + 1 \'获得最大学科序号的后三位顺序号,并加1
                Else
                    idx = 1 \'否则顺序号等于1
                End If
                e.DataRow("学科序号") = lb & Format(idx,"000")
            End If
        End If
End Select

 

我也想在“用户ID”按钮中直接写入代码,又怎么写?请指教!


--  作者:lin_hailun
--  发布时间:2013/1/9 15:07:00
--  
这样看看。

For Each dr As DataRow In DataTables("成绩库").DataRows
   
    If dr.IsNull("学科代码") Then
        dr("学科序号") = Nothing
    Else
        Dim lb As String = dr("学科代码")
        Dim max As String
        Dim idx As Integer
        max = dr.DataTable.Compute("Max(学科序号)", "学科代码 = \'" & lb & "\'") \'取得该学科代码的最大学科序号
       
        If max > "" Then \'如果存在最大学科序号
            idx = CInt(max.Substring(2,3)) + 1 \'获得最大学科序号的后三位顺序号,并加1
        Else
            idx = 1 \'否则顺序号等于1
        End If
        dr("学科序号") = lb & Format(idx,"000")
    End If
Next

--  作者:cqlpjks
--  发布时间:2013/1/9 15:26:00
--  
得行了。谢谢!