Bonjour à tous,
Débutant, je viens de suivre pas à pas ce tuto d'Argyronet.
Néanmoins, j'ai adapté ses explications aux tables de ma base. Par conséquent, les noms sont différents.
Si dans le premier contrôle (CmbCodePos), les codes postaux apparaissent bien (et dans l'ordre qui plus est), le contrôle CmbVille reste vide.
Voici le code que j'ai tapé (ou plutôt copié et modifié)
Aurais-je commis une erreur de syntaxe quelque part ?
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 Private Sub CmbCodePos_AfterUpdate() Dim lngCodepostal As Long Dim SQL As String '' Vérifie que l'on a cliqué sur un code postal pour éviter le NULL If Not IsNumeric(Me!CmbCodePos) Then Exit Sub '' Affecte la valeur de Codepostal à la variable lngCodepostal lngCodepostal = Me!CmbCodePos '' Construit la chaîne SQL avec le code postal concerné SQL = "SELECT Insee, Commune, Codepos FROM TabVille WHERE Codepos =" & lngCodepostal & " ORDER BY Commune" '' Affecte la chaîne SQL à la liste des communes CmbVille.RowSource = SQL '' Déverrouille la liste des communes CmbVille.Enabled = True '' Donne le focus la liste des communes CmbVille.SetFocus '' Déroule la liste des commune CmbVille.Dropdown End Sub
A l'origine, le champ Codepostal (Tab_Codes_postaux) ou Codepos (Tab_Ville) était au format "TEXT" dans les deux tables. Mais ne comprenant pas bien l'instruction "IsNumeric", je les ai remis au format "NUMERIC" Entier long. Ça n'a rien changé.
S'il n'y a pas d'erreur dans la syntaxe, cela vient peut-être des paramètres des contrôles. Pourtant, je pense avoir suivi les consignes. Peut-être faut-il que je mette une capture d'écran des paramètres ?
Merci de votre aide
Partager