我是这样做的,参考一下,呵呵
此主题相关图片如下:片段.jpg

增加行:
Dim r As Row = Tables("业务录入").Current
r.DataRow.Load() '重新加载此行的数据
If r("费用") = "关" OrElse Vars("用户组") = "业务员" OrElse Vars("用户组") = "财务" Then
Return
Else
Dim dab As Table = Tables("业务录入.费用管理")
Dim dd As Row = Tables("业务录入").current
If dab.rows.count = 0 Then
dab.addnew()
Else
Dim ColNames As String() = {"公司简称","类别"}
Dim dr As Row = dab.Rows(dab.rows.count-1)
dab.Redraw = False
dim drr as row = dab.addnew()
For Each ColName As String in ColNames
drr(ColName) = dr(ColName)
Next
dab.redraw = true
End If
End If
删除行:
Dim r As Row = Tables("业务录入").Current
r.DataRow.Load() '重新加载此行的数据
If r("费用") = "关" OrElse Vars("用户组") = "业务员" OrElse Vars("用户组") = "财务" Then
Return
Else
With Tables("业务录入.费用管理")
If .Current IsNot Nothing Then
If .current("收付编号") = "" Then
.Current.Delete
End If
End If
End With
Dim dr As DataRow = Tables("业务录入").current.DataRow
DataTables("业务录入").DataCols("费用").RaiseDataColChanged(dr)
End If
锁单:
Dim r As Row = Tables("业务录入").Current
r.DataRow.Load() '重新加载此行的数据
Dim cmd As New SQLCommand
cmd.C外部数据
cmd.CommandText = "Update {业务录入} Set 费用 = '关' Where [_Identify] = " & r("_Identify")
cmd.ExecuteNonQuery()
Tables("业务录入.费用管理").AllowEdit = False
解单:
If Vars("用户组") <> "经理" Then
MessageBox.Show("你不能解锁!")
Return
Else
Dim r As Row = Tables("业务录入").Current
r.DataRow.Load() '重新加载此行的数据
Dim cmd As New SQLCommand
cmd.C 外部数据
cmd.CommandText = "Update {业务录入} Set 费用 = '开' Where [_Identify] = " & r("_Identify")
cmd.ExecuteNonQuery()
Tables("业务录入.费用管理").AllowEdit = True
End If
不知合不合理.反正达到要求了,哈哈
[此贴子已经被作者于2011-2-23 12:19:26编辑过]