jero97
Nouveau membre
Bonjour tout le monde !
J'ai un petit problème sous access.
En fait, j'ai un formulaire avec des contrôles (jusque là, rien d'étonnant) et j'ai créé une fonction qui me permet de compter dans une table le nombre d'enregistrements différents relatif à un champs. Je n'ai pas trouvé le moyen de faire ça directement sous access.
Et mon problème, c'est que j'aimerais bien afficher le résultat dans un des contrôles de mon formulaire. Je n'arrive pas à trouver la syntaxe pour ça.
Pour info, voila le code :
-----------------------------------------------------------------------
Function CalculBL(NomTable As String)
Dim Donnees As Recordset
Set Donnees = CurrentDb.OpenRecordset(NomTable, dbOpenDynaset)
Dim i As Integer
i = 1
Donnees.MoveLast
Donnees.MoveFirst
Dim NbDonnees As Integer
NbDonnees = Donnees.RecordCount
Dim NomChamp As String
Dim ListeBL() As Double
ReDim ListeBL(1 To NbDonnees)
ListeBL(1) = 0
Dim NbBL As Integer
NbBL = 0
If NomTable = "BLAller" Then
NomChamp = "NoBLAller"
Else: NomChamp = "NoBLRetour"
End If
With Donnees
While Not .EOF
Dim j As Integer
For j = 1 To i
If .Fields(NomChamp) <> ListeBL(j) Then
ListeBL(i) = .Fields(NomChamp)
i = i + 1
NbBL = NbBL + 1
Else:
j = j
Exit For
End If
Next
.MoveNext
Wend
End With
Forms![accueil2]![NbBLA] = NbBL
End Function
--------------------------------------------------------------
Merci d'avance !
J'ai un petit problème sous access.
En fait, j'ai un formulaire avec des contrôles (jusque là, rien d'étonnant) et j'ai créé une fonction qui me permet de compter dans une table le nombre d'enregistrements différents relatif à un champs. Je n'ai pas trouvé le moyen de faire ça directement sous access.
Et mon problème, c'est que j'aimerais bien afficher le résultat dans un des contrôles de mon formulaire. Je n'arrive pas à trouver la syntaxe pour ça.
Pour info, voila le code :
-----------------------------------------------------------------------
Function CalculBL(NomTable As String)
Dim Donnees As Recordset
Set Donnees = CurrentDb.OpenRecordset(NomTable, dbOpenDynaset)
Dim i As Integer
i = 1
Donnees.MoveLast
Donnees.MoveFirst
Dim NbDonnees As Integer
NbDonnees = Donnees.RecordCount
Dim NomChamp As String
Dim ListeBL() As Double
ReDim ListeBL(1 To NbDonnees)
ListeBL(1) = 0
Dim NbBL As Integer
NbBL = 0
If NomTable = "BLAller" Then
NomChamp = "NoBLAller"
Else: NomChamp = "NoBLRetour"
End If
With Donnees
While Not .EOF
Dim j As Integer
For j = 1 To i
If .Fields(NomChamp) <> ListeBL(j) Then
ListeBL(i) = .Fields(NomChamp)
i = i + 1
NbBL = NbBL + 1
Else:
j = j
Exit For
End If
Next
.MoveNext
Wend
End With
Forms![accueil2]![NbBLA] = NbBL
End Function
--------------------------------------------------------------
Merci d'avance !