Ich bin irgendwie auf meinem Projekt fest.MS Acces VBA: Update Schleife mit mehreren IDs
Im Moment habe ich ein Formular, wo Sie die Liste für die Spieler ausfüllen können. Es besteht aus einer Formation (wie 4-3-3), dann wird es Positionen für die Spieler zeigen, wo Sie einen Namen aus einer Dropdown-Liste auswählen können.
Jetzt möchte ich auch die Shirt-Nummer hinzufügen, aber ich bin auf diesem Teil stecken. Ich habe keine Ahnung, wie ich alle Spieler aktualisieren soll, bei denen die MatchID die MatchID, an der ich gerade arbeite, und die PlayerID ausgleicht. Weil jeder Spieler eine andere T-Shirt Nummer hat.
Option Compare Database
Private Sub Form_Load()
Me.MatchID = Me.OpenArgs
End Sub
'This Sub shows the fields where you can select the players according to the chosen formation.
Private Sub Formation_AfterUpdate()
Dim DefenderLoopVal, MidfielderLoopVal, StrikerLoopVal As String
'Get the formation from the form.
Formation = Me.Formation
'Explode the formation on the - character
FormationExploded = Split(Formation, "-")
'Put the numbers is new variables to use in the Loops.
DefenderLoopVal = FormationExploded(0)
MidfielderLoopVal = FormationExploded(1)
StrikerLoopVal = FormationExploded(2)
'MsgBox DefenderLoopVal
'MsgBox MidfielderLoopVal
'MsgBox StrikerLoopVal
'Make Keeper Visable.
Me.imgKeeper.Visible = True
Me.cbKeeper.Visible = True
Me.NrKeeper.Visible = True
'Make as many textboxes visible as necessary
For i = 1 To DefenderLoopVal
Form_frmFormation.Controls("cbDefender" & i).Visible = True
Form_frmFormation.Controls("imgDefender" & i).Visible = True
Form_frmFormation.Controls("nrDefender" & i).Visible = True
Next
For i = 1 To MidfielderLoopVal
Form_frmFormation.Controls("cbMidfielder" & i).Visible = True
Form_frmFormation.Controls("imgMidfielder" & i).Visible = True
Form_frmFormation.Controls("nrMidfielder" & i).Visible = True
Next
For i = 1 To StrikerLoopVal
Form_frmFormation.Controls("cbStriker" & i).Visible = True
Form_frmFormation.Controls("imgStriker" & i).Visible = True
Form_frmFormation.Controls("nrStriker" & i).Visible = True
Next
End Sub
'This is the actual saving Sub, it will save the players on the according positions
Private Sub Save_Formation_Click()
Dim dbs As DAO.Database
Dim rs As DAO.Recordset
Set dbs = CurrentDb
Set rs = dbs.OpenRecordset("tblMatchFormation", dbOpenDynaset, dbAppendOnly)
rs.AddNew
rs!MatchID = Me!MatchID
rs!FormationID = Me!Formation
rs!Keeper = Me!cbKeeper
rs!CenterDefender = Me!cbDefender1
rs!CenterRightDefender = Me!cbDefender2
rs!CenterLeftDefender = Me!cbDefender3
rs!LeftDefender = Me!cbDefender4
rs!RightDefender = Me!cbDefender5
rs!CenterMidfielder = Me!cbMidfielder1
rs!CenterRightMidfielder = Me!cbMidfielder2
rs!CenterLeftMidfielder = Me!cbMidfielder3
rs!LeftMidfielder = Me!cbMidfielder4
rs!RightMidfielder = Me!cbMidfielder5
rs!CenterStriker = Me!cbStriker1
rs!RightStriker = Me!cbStriker2
rs!LeftStriker = Me!cbStriker3
rs.Update
'Should have a update query here that updates the tblMatchPlayer with the numbers according to the MatchID and PlayerID
End Sub
Aber jetzt will ich auch die Spieler Nummer hinzuzufügen, wird das Feld auf einer anderen Tabelle mit dem Namen tblMatchPlayer, die alle die Spieler Details in dieser Tabelle
TblMatchFormation
gespeichert werdenMatchFormationID (Autowert)
FormationID (Ruft die ID der Formation, die gespielt wird)
MatchID (Ruft die ID des Spiels)
Keeper (Ruft die ID des Spielers, ein Torwart)
CenterDefender (Ruft die ID des Spielers, ein CenterDefender ist)
usw.
tblMatchPlayer
MatchPlayerID (Autowert)
MatchID (Ruft die ID des Spiels von einer früheren Form)
PlayerID (Ruft die ID des Spielers aus einer früheren Form)
Nachname (Ruft den Namen des Spielers eine frühere Form bilden)
ShirtNumber
Vielleicht euch (Sollte die Zahl bilden die Form bekommen) kann mir helfen?
Mit freundlichen Grüßen Patrick
Danke, das brauche ich – PatrickStel