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 |
Partager