Bonjour,
Je galère depuis plusieurs jours sur une requête VBA.
Après avoir essayé d'utiliser une fonction je reviens à quelque chose de plus simple.
J'ai une table Liste_accentue avec une champ ID avec clé primaire et un champ Valeur contant 4 lignes avec les lettres A,B,E,L
Requête actuelle
Mon problème et le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 Private Sub Commande40_Click() Dim requete As String ' Dim MyChar As Variant On Error GoTo Err_Bouton40_Click DoCmd.SetWarnings False 'suppression code d'erreur If Forms![Visu_implantation]![ChoixNom] = "*" Then MsgBox "Renseigner le Nom ", 16 Exit Sub Else MyTableInto = "RepartitiongeographiqueNoms" ' table insert into MyTableDE = "RepartitiongeographNom" ' nom de la table where ' Sélectionne Choixlettre Dim I As Variant Dim MyLettre As Variant nb = DCount("*", "Liste_accentue") MsgBox nb ' Test affiche le nombre de ligne de la table For I = 1 To nb 'Table Liste_accentue nombre de d'enregistrments MyLettre = DLookup("[Valeur]", "Liste_accentue", "[ID] = 1 ") MyChar = (I) MsgBox MyChar ' Test Affiche 4 le nombre de ligne de la table MsgBox MyLettre ' Test devrai afficher les lettres A , B , E et L dans la boucle MyConvert = "ConvertAccForLike" & MyLettre & "(ChoixNom)" requete = "INSERT INTO " & MyTableInto & " " requete = requete & " SELECT * FROM " & MyTableDE & " " requete = requete & " WHERE " & MyTableDE & ".Noms LIKE " & MyConvert & " " DoCmd.RunSQL requete ' Exécute la requéte Next I End If
Danscela fonctionne bien mon test Msgbox MyLettre afiche bien la ligne 1 de la table et la lettre A
Code : Sélectionner tout - Visualiser dans une fenêtre à part MyLettre = DLookup("[Valeur]", "Liste_accentue", "[ID] = 1 ")
quand la boucle continue la valeur de MyLettre reste toujours à A
donc je voudrais que la lettre suive le déroulement de la boucle.
J'ai fait beaucoup du genremais cela ne fonctionne pas. Je voudrais remplacer le 1 par MyChar qui prend les valeurs de 1 à 4.
Code : Sélectionner tout - Visualiser dans une fenêtre à part MyLettre = DLookup("[Valeur]", "Liste_accentue", "[ID] = MyChar ")
Quelqu'un a t'il une réponse pour ce problème qui me ronge.
Merci d'avance.
ACN
Partager