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
| Option Compare Database
Option Explicit
Function ProximiteCodif()
Dim LocationBegin As Variant 'déclaration de la variable de début
Dim LocationEnd As Variant 'déclaration de la variable de fin
Dim i As Variant
Dim meuble As Variant
Dim niveau As Variant
Dim empl As Variant
Dim alle As Variant
Dim requete As DAO.QueryDef
Set requete = CurrentDb.QueryDefs("ProxLocDansPerimetreVBA") 'attribution de la variable qdf à la requête ProxLocDansPerimetreVBA
LocationBegin = Forms!FormulaireEquipeExploitation!sfFormLocD.Form!LocationBegin 'récupération du champ LocationBegin
LocationEnd = Forms!FormulaireEquipeExploitation!sfFormLocD.Form!LocationEnd 'récupération du champ LocationEnd
For alle = Mid(LocationBegin, 1, 3) To Mid(LocationEnd, 1, 3)
For meuble = Mid(LocationBegin, 4, 2) To Mid(LocationEnd, 4, 2)
For niveau = Mid(LocationBegin, 6, 2) To 4 '4 niveaux maximum dans P3
For empl = Mid(LocationBegin, 8, 2) To 6 '6 emplacement maximum dans P3 au meme niveau et meme meuble
If meuble < 10 Then
i = alle & "0" & meuble & "0" & niveau & "0" & empl & "00"
Else
i = alle & meuble & "0" & niveau & "0" & empl & "00"
End If
With requete
.Parameters("[Formulaires]![FormulaireEquipeExploitation]![sfFormLocD].[Form]![LocationBegin]").Value = i <-- Stop ICI ...
.Parameters("[Formulaires]![FormulaireEquipeExploitation].[Formulaire]![sfFormLocD]![DistanceProximite]").Value = [Forms]![FormulaireEquipeExploitation].[Form]![sfFormLocD]![DistanceProximite]
.Execute
End With
Next empl
Next niveau
meuble = meuble + 1 'permet de rester dans les meubles pairs ou impairs
Next meuble
Next alle
End Function |
Partager