【发布时间】:2016-01-15 22:19:24
【问题描述】:
我在 MS Access VBA 中遇到了问题。
我正在尝试向表中添加一条新记录,同时向另一个表中添加额外的字段。
这是我正在使用的 vba 代码的一部分。
'Save the match to the table
DoCmd.GoToRecord , , acNewRec
'Step from 1 to the ResultValue
For LCounter = 1 To ResultHomeTeam.Value
Select Case LCounter
Case 1
dbs.Execute " INSERT INTO tblMatchPlayer " _
& "(MatchID, PlayerID, SubstituteID, PositionID, Surname, ScoreTime, RedCards, YellowCards, Substitude, Penalty, OwnGoal, Assist) VALUES " _
& "(" & Me.MatchID & ", '', '', '', '" & Me.cmScoreName1 & "', " & Me.tbScoreTime1 & ", '', '', '', " & Me.cbPenalty1 & ", " & Me.cbOwnGoal1 & ", '" & Me.cmAssist1 & "');"
但这不起作用,如果我只使用 dbs.Execute 它会将值写入正确的表,但不会将匹配详细信息写入匹配表
我是这样的
表格的第一部分是比赛详情 日期 对手 得分主队 得分队 那应该由 acNewRec 保存
表格的第二部分是得分的球员详细信息 选手姓名 计分时间 自己的目标 协助
必须由 dbs.execute 保存
不,我有两个按钮,一个用于保存比赛详细信息,一个用于保存球员详细信息。 但是我希望有一个按钮来保存所有内容,但是当我尝试将 acNewRec 和 dbs.Execute 结合使用时,它不起作用。
问题是我必须先保存比赛详细信息才能保存球员详细信息,因为球员详细信息必须有 MatchID。
谁能帮帮我?
致以诚挚的问候, 帕特里克
【问题讨论】:
-
你的问题很混乱。但是要保存当前记录(并保留它),请使用
DoCmd.RunCommand acCmdSaveRecord,而不是DoCmd.GoToRecord , , acNewRec -
抱歉这个令人困惑的问题。感谢我更换线路的解决方案,现在它可以工作了。谢谢