ACCESS里窗体怎么加载新纪录?50分 讲的清楚的来不清楚的不要随便回答

我做了个程序 查分系统 在窗体里做的注册新用户 命令按钮有提交 和放弃, 想问下提交之后怎么能把这条记录记录下来?记录到哪个里面 是表还是查询还是窗体 不明白 宏我会用 VBA也会 但是这个不懂怎么做 希望您能帮我 3Q
我没有建立关系 表里做了一个名族然后查询了下,用来放到窗体里名族控件里, 窗体里2个文件1查分系统2注册表, 宏里做了退出的操作,就是那个注册表里的提交 往哪里提交?我在表里还做了个空的里面有注册表里各个字段 求您帮我

以下代码是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
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-08-14
楼上这位,估计是只使用可视化界面操作生成的窗体吧,就是说没有经过任何的代码编写?

直接输入新数据,是可以的,
1)通过在VBA里面的form_load事件中写入相应的代码

Me.refresh
DoCmd.GoToRecord , , acNewRec

2)如果不会写VBA,么关系,这样操作,
在窗体的设计界面,设置控件的新建向导,之后,添加一个按钮,会跳出向导,你找一个新增记录的选项(耐心点,肯定找得到),然后点击完成。在新增的按钮上右键,选择属性-->事件-->单击,完全复制其中内容。再到窗体的属性中,选择事件-->加载,把刚刚的东西贴在这里,如果你操作对的话,应该是这个[Event Procedure],或者类似的。

DIY吧!别忘了给分,呵呵
相似回答