Compter le nombre de vide dans une table / variable
Bonjour,
Je suis entrain de compter le nombre d'occurrences vides dans ma base de données.
Le code VBA fonctionne à priori correctement (il n'y a pas de bug), mais le résultat est erroné. Certaines variables ont réellement des vides alors que le résultat dit le contraire ou donne moins de vide.
Voici le code:
Code:
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
| Dim db As DAO.Database
Dim sqlCpt As String, sqlTab As String, cle As String
Dim i As Single, compteur As Double, nbMiss As Double
Dim tdf As DAO.TableDef
Dim fld As DAO.Field
Dim strVar As String
Dim strTable As String
Dim rsCpt As DAO.Recordset, rsTab As DAO.Recordset, rsMiss As DAO.Recordset
Sub miss()
On Error GoTo GestionErreur
Set db = CurrentDb
For Each tdf In db.TableDefs
If Left(tdf.Name, 3) = "tmp" Then
sqlTab = "Select * From " & tdf.Name & ""
Set rsTab = db.OpenRecordset(sqlTab, dbOpenDynaset)
rsTab.MoveLast
Debug.Print tdf.Name & "--" & rsTab.RecordCount
For Each fld In rsTab.Fields
strTable = tdf.Name
strVar = fld.Name
sqlCpt = "Select * From " & strTable & " where (((" & strVar & ") Is Null));"
Set rsCpt = db.OpenRecordset(sqlCpt, dbOpenDynaset)
rsCpt.MoveLast
nbMiss = rsCpt.RecordCount
Debug.Print strTable & " -- " & strVar & " -- " & nbMiss
DoEvents
Next fld
End If
DoEvents
Next tdf
db.Close
Set db = Nothing
Set tdf = Nothing
Set fld = Nothing
Debug.Print "****** FIN **************"
Exit Sub
' Gestion des erreurs
GestionErreur:
strDescription = ""
Resume Next
End Sub |
Par avance, je vous remercie de vos conseils