Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 使用acNewRec和dbs.Execute添加新记录_Vba_Ms Access - Fatal编程技术网

Vba 使用acNewRec和dbs.Execute添加新记录

Vba 使用acNewRec和dbs.Execute添加新记录,vba,ms-access,Vba,Ms Access,我被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.E

我被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

有人能帮我吗

致以亲切的问候,
Patrick

问题部分是表单数据的第一次保存

要保存当前记录(并保留在其上),请使用
DoCmd.RunCommand acmdsaverecord
,而不是
DoCmd.GoToRecord,acNewRec


后者确实会保存,但会转到表单上一个新的空记录,因此您不能使用以前输入的值。

您的问题非常令人困惑。但若要保存当前记录(并保留在其上),请使用
DoCmd.RunCommand acCmdSaveRecord
,而不是
DoCmd.GoToRecord,acNewRec
对不起,这个问题让人困惑。谢谢你的解决方案,我已经更换了线路,现在它可以工作了。非常感谢。