以下代码是ACCESS里面ADP格式的代码,我以前用ACCESS链接SQL Server 2000时写的,已经测试通过了的,不过在MDB里面可能要稍做修改,其中Case "tbr_add":是新添记录的代码;Case "tbr_save"是保存记录;Case "tbr_edit"是修改记录;Case "tbr_dele"是删除记录;说是窗体上有条"ToolBar",里面有几个按钮,自己看!
Private Sub Toolbar4_ButtonClick(ByVal Button As Object)
Dim i As Integer
Dim stemp As String
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Dim pow As String
pow = DLookup("产品资料type", "tb用户资料", "工号='" & user & "'")
Select Case Button.Key
Case "tbr_add"
If pow <> "修改" Then
MsgBox "您没有权限新添记录,若有问题请与系统管理员联系!", 64, "系统提示"
Else
Me![编号] = Null
Me![ERP产品编号] = Null
Me![客户产品编号] = Null
Me![产品名称] = Null
Me![客户名称] = Null
Me![ERP模号] = Null
Me![ERP生产周期] = Null
Me![ERP_NG率] = Null
Me![材料颜色] = Null
Me![产品单重] = Null
Me![水口重量] = Null
Me![开机损耗] = Null
Me![单位] = Null
Me![水口回用] = Null
Me![水口回用率] = Null
Me![备注] = Null
End If
Case "tbr_save"
If pow <> "修改" Then
MsgBox "您没有权限保存记录,若有问题请与系统管理员联系!", 64, "系统提示"
Exit Sub
End If
stemp = "select * from tb产品基本资料"
rs.Open stemp, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
If rs.RecordCount > 0 Then
rs.MoveFirst
For i = 1 To rs.RecordCount
If rs("编号") = Me![编号] Then
MsgBox "该编号的资料已经存在,请确认", 64, "系统提示"
Exit Sub
Else
rs.MoveNext
End If
Next i
End If
stemp = "insert into tb产品基本资料"
stemp = stemp & "(开机损耗,单位,ERP产品编号,客户产品编号,产品名称,客户名称,ERP模号,ERP生产周期,ERP_NG率,材料颜色,产品单重,水口重量,水口回用,水口回用率,备注)"
stemp = stemp & "values ('" & Me![开机损耗] & "','" & Me![单位] & "','" & Me![ERP产品编号] & "','" & Me![客户产品编号] & "','" & Me![产品名称] & "','" & Me![客户名称] & "','" & Me![ERP模号] & "','" & Me![ERP生产周期].Value & "','" & Me![ERP_NG率].Value & "','" & Me![材料颜色] & "','" & Me![产品单重].Value & "','" & Me![水口重量].Value & "','" & Me![水口回用].Value & "','" & Me![水口回用率].Value & "','" & Me![备注] & "')"
DoCmd.RunSQL stemp
Me![产品基本资料子窗体].Requery
MsgBox "资料已保存!", 64, "系统提示"
Case "tbr_edit"
If pow <> "修改" Then
MsgBox "您没有权限修改记录,若有问题请与系统管理员联系!", 64, "系统提示"
Exit Sub
End If
stemp = "select * from tb产品基本资料 where 编号='" & Me![编号] & "'"
rs.Open stemp, CurrentProject.Connection, adOpenKeyset, adLockPessimistic
If rs.RecordCount < 1 Then
Exit Sub
End If
rs.MoveFirst
For i = 1 To rs.RecordCount
If rs("编号") = Me![产品基本资料子窗体]![编号] Then
rs("ERP产品编号") = Me![ERP产品编号]
rs("客户产品编号") = Me![客户产品编号]
rs("产品名称") = Me![产品名称]
rs("客户名称") = Me![客户名称]
rs("ERP模号") = Me![ERP模号]
rs("ERP生产周期") = Me![ERP生产周期]
rs("ERP_NG率") = Me![ERP_NG率]
rs("材料颜色") = Me![材料颜色]
rs("产品单重") = Me![产品单重]
rs("水口重量") = Me![水口重量]
rs("水口回用") = Me![水口回用]
rs("开机损耗") = Me![开机损耗]
rs("单位") = Me![单位]
rs("水口回用率") = Me![水口回用率]
rs("备注") = Me![备注]
rs.Update
Me![产品基本资料子窗体].Requery
MsgBox "资料已修改", 64, "系统提示"
Exit Sub
Else
rs.MoveNext
End If
Next i
Case "tbr_dele"
If user <> "dele" Then
MsgBox "您没有权限删除资料,若有问题请与系统管理员联系!", 64, "系统提示"
Else
c = MsgBox("确定删除资料?", 1, "系统提示")
If c = vbOK Then
stemp = "select * from tb产品基本资料 where 编号='" & Me![编号] & "'"
rs.Open stemp, CurrentProject.Connection, adOpenKeyset, adLockPessimistic
If rs.RecordCount < 1 Then
Exit Sub
End If
rs.MoveFirst
For i = 1 To rs.RecordCount
If rs("编号") = Me![产品基本资料子窗体]![编号] Then
rs.Delete
Exit For
Else
rs.MoveNext
End If
Next i
MsgBox "资料已删除", 64, "系统提示"
Me![产品基本资料子窗体].Requery
End If
End If
Case "tbr_close"
DoCmd.Close
End Select
End Sub
温馨提示:答案为网友推荐,仅供参考