下午好,
为了找到问题的解决方案,我已经搜索了我的但是关闭了。
我正在尝试访问我的数据库中插入多行,但是这些行的值不同。
例如: 我有两个人进球,所以经理会把两个得分的球员放进去等等。
我正在使用的方法现在可以使用,但它最多可以做10次。
这就是我现在所拥有的。
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 & "');"
直到案例10
我试图做的是制作循环。
If Location.Value = "Thuis" Then InsertScore = ResultHomeTeam.Value Else InsertScore = ResultAwayTeam.Value
For i = 1 To InsertScore
QueryInsert = " INSERT INTO tblMatchPlayer " _
& "(MatchID, PlayerID, SubstituteID, PositionID, Surname, ScoreTime, RedCards, YellowCards, Substitude, Penalty, OwnGoal, Assist) VALUES " _
& "(" & Me.MatchID & ", '', '', '', '" & Me.cmScoreName & i & "', " & Me.tbScoreTime & i & ", '', '', '', " & Me.cbPenalty & i & ", " & Me.cbOwnGoal & i & ", '" & Me.cmAssist & i & "');"
Debug.Print QueryInsert
dbs.Execute QueryInsert
Next
我的想法,这会做同样的事情,但只代替一个选择案例我使用For循环,“&”作为1个玩家得分或2个玩家或10个玩家时使用的值
但这不起作用。
关于如何在不使用10个案例的情况下完成这项工作的任何想法?
亲切的问候,
帕特里克
答案 0 :(得分:1)
正如HansUp所写,除了解决表单控件的常规方法:Me!myTextBox1
之外,您还可以使用以下语法:Me("myTextBox1")
,并且可以使用此语法进行字符串连接和循环:{{ 1}}。
另一件事:您的INSERT语句容易受到SQL注入或至少错误的影响,想象一个姓Me("myTextBox" & i)
。
我建议使用DAO更安全,更易读的变体:
O'Neil