Désolé mais je débute aussi dans les forums !
Essayons d"être clair
Le " poste " correspond à un lieu géographique en France (A,B,C,D, etc..)
La " liaison " est la distance entre deux postes.
La liaison "A B" est la distance entre le poste "A" et le poste "B"
Au poste "A" il y à le Départ "B" et au poste "B" le Départ "A".
J'ai donc une table qui regroupe ces données et qui s'appelle "Cellule"
La première zone de liste modifiable selectione le poste
La deuxième zone de liste me donne le choix de tous les départs qui sont dans le poste (car dans chaque poste il existe plusieurs départs).
Je débute dans Acces, je suis donc passé par des requêtes pour effectuer ces sélections avec l'assistant requête.
J'ai donc 2 requêtes
Une pour choix du poste
Select [nom] From [choix du poste];
Dans propriété/Contenu de la zone de liste déroulante du champ 123
L'autre pour le choix du départ
SELECT [CHOIX CELLULE].nom FROM [CHOIX CELLULE];
Dans propriété/Contenu de la zone de liste déroulante du champ 125
Dans propriété/ Aprés MAJ du champ 123 j'ai ajouté un code VBA
1 2 3 4 5 6 7
| Private Sub Champ123_AfterUpdate()
Me![Champ125] = " "
Me![Ouvrage] = " "
Me![Champ125].Enabled = True
Me![Champ125].Requery
Me![Champ123] = UCase(Me![Champ123])
End Sub |
Dans propriété/ Aprés MAJ du champ 123 j'ai ajouté un code VBA pour concaténer
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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
| Private Sub Champ125_AfterUpdate()
F = "DEPART"
b = Me![u]
Me![Champ125] = UCase(Me![Champ125])
c = Me![Champ125]
G = "AU POSTE DE"
D = Me![Champ123]
E = " "
Me![Ouvrage] = F + E + Me![Champ125] + E + G + E + D + E + b
If Me![Champ123] Like "*PORTIQUE*" Then
F = "DEPART"
b = Me![u]
Me![Champ125] = UCase(Me![Champ125])
c = Me![Champ125]
D = Me![Champ123]
E = " "
G = "A"
Me![Ouvrage] = F + E + Me![Champ125] + E + G + E + D + E + b
End If
If Me![Champ125] Like "AT *" Then
b = Me![Champ123]
Me![Champ125] = UCase(Me![Champ125])
c = Me![Champ125]
G = "AU POSTE DE"
D = "400/225 KV"
E = " "
Me![Ouvrage] = Me![Champ125] + E + G + E + Me![Champ123] + E + D
End If
If Me![Champ125] Like "Y 63*" Then
b = Me![Champ123]
Me![Champ125] = UCase(Me![Champ125])
c = Me![Champ125]
G = "AU POSTE DE"
D = "225/63 KV"
E = " "
Me![Ouvrage] = Me![Champ125] + E + G + E + Me![Champ123] + E + D
End If
If Me![Champ125] Like "Y 61*" Then
b = Me![Champ123]
Me![Champ125] = UCase(Me![Champ125])
c = Me![Champ125]
G = "AU POSTE DE"
D = "225/20 KV"
E = " "
Me![Ouvrage] = Me![Champ125] + E + G + E + Me![Champ123] + E + D
End If
If Me![Champ125] Like "TR *" Then
b = Me![u]
Me![Champ125] = UCase(Me![Champ125])
c = Me![Champ125]
G = "AU POSTE DE"
D = Me![Champ123]
E = " "
Me![Ouvrage] = Me![Champ125] + E + G + E + D + E + b
End If
If Me![Champ125] Like "AT *" Then
b = Me![u]
Me![Champ125] = UCase(Me![Champ125])
c = Me![Champ125]
G = "AU POSTE DE"
D = Me![Champ123]
E = " "
Me![Ouvrage] = Me![Champ125] + E + G + E + D + E + b
End If
If Me![Champ125] Like "COUPLAG*" Then
b = Me![u]
Me![Champ125] = UCase(Me![Champ125])
c = Me![Champ125]
G = "AU POSTE DE"
D = Me![Champ123]
E = " "
Me![Ouvrage] = Me![Champ125] + E + G + E + D + E + b
End If
If Me![Champ125] Like "TRONCONNEMEN*" Then
b = Me![u]
Me![Champ125] = UCase(Me![Champ125])
c = Me![Champ125]
G = "AU POSTE DE"
D = Me![Champ123]
E = " "
Me![Ouvrage] = Me![Champ125] + E + G + E + D + E + b
End If
If Me![Champ125] = "barre" Then
b = Me![u]
Me![Champ125] = UCase(Me![Champ125])
c = Me![Champ125]
H = "AU POSTE DE"
D = Me![Champ123]
E = " "
F = "LES"
G = "S"
Me![Ouvrage] = F + E + Me![Champ125] + G + E + b + E + H + E + D
End If
End Sub |
Si entre End If et End Sub j'ajoute
le champ 192 étant la zone de texte, pas de problème
Par contre si j'ajoute
Me!Champ192 = Champ125.Colum (1)
et je peu changer de nombre c'est pareil
La zone de texte reste vide
Veuillez excusé mes erreur de jeunesse SVP
Partager