J'ai la logique suivante qui doit traduire en code VBA: 1. L'utilisateur sélectionne un ou plusieurs nom (s) de requête dans une zone de liste modifiable: 2. Clics de l'utilisateur sur "Afficher la table" bouton 3. Tableau sélectionné (s) est/sont ouvertsOuvrez la table en cliquant sur le nom de la requête
jusqu'à présent, j'ai le code suivant:
Private Sub cmdShowTable_Click()
Dim valSelect1 As Variant
Dim strValue1 As String
Dim strValue2 As String
For Each valSelect1 In Me.Combo29.ItemsSelected
DoCmd.SetWarnings (WarningsOff)
strValue1 = Me.Combo29.ItemData(valSelect1)
strValue2 = "select TableName from [List of Queries] where QueryName = " ' & strValue1 & '" "
DoCmd.OpenTable (strValue2)
Me.Combo29.Selected(valSelect1) = False
Next
DoCmd.SetWarnings (WarningsOn)
MsgBox "Complete!"
end sub
Je comprends cette erreur est à la ligne strValue2. La syntaxe et la logique ne sont probablement pas correctes car la chaîne sql est passée à l'objet mais n'est pas exécutée. Il doit être exécuté, puis sa valeur doit être transmise à la commande Docmd.Open.
Aidez-nous à les lier ensemble!
cela a fonctionné. Chaque nom de requête correspond à un nom de table. Merci pour la solution! – IGR
@ Gustav - J'essaie de supprimer les données d'abord dans la table qui correspond à la requête qui va le mettre à jour en premier. Lorsque j'ai construit la base de données, j'ai utilisé par erreur Select Into au lieu de Insert In Select. Comment faire pour que les lignes suivantes fonctionnent - strValue = Me.Combo29.ItemData (valSelect) strValue3 = DLookup ("TableName", "[Liste de requêtes]", "QueryName = '" & strValue & "'") docmd .RunSQL (supprimer de '"& strValue3 &" ") DoCmd.OpenQuery (strValue). Je reçois une erreur lors de la commande docmd.Runsql – IGR
Vous devez utiliser une chaîne SQL:' DoCmd.RunSQL ("Delete From'" & strValue3 & "") '. – Gustav