Bonjour a tous,

Je développe actuellement un petit logiciel pour un service sur Access.

J'ai un tout petit souci à l'ouverture de mon appli. En effet, je fais une petite verification sur la plus grosse table à l'ouverture de mon 1er formulaire (FrmMenuPrincipal)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Dim rst As Recordset
Dim db As Database
Dim sql As String
Dim i, n As Integer
 
sql = "SELECT * FROM DOCUMENT"
 
Set db = CurrentDb
 
Set rst = db.OpenRecordset(sql, dbOpenForwardOnly, dbReadOnly)
 
While Not rst.EOF 
 
n = rst.Fields(0)
 
i = DCount("*", "MONTANTBUDGET", "MONTANTBUDGET.NumDocument = " & n)
 
If i = 0 Then
    db.Execute "DELETE * FROM DOCUMENT WHERE DOCUMENT.NumDocument = " & n & ";"
End If
 
rst.MoveNext
Wend
Rien de difficile. Cependant, cela prend de + en + de temps (logique ... 6 à 7 secondes pour le moment). Je souhaiterais effectuer cette tâche en arriere plan pour que l'utilisateur puisse continuer à utiliser l'application en même temps et ne soit pas bloqué ...

Est ce possible ? Est ce que qq'un aurait une solution ?

Merci d'avance et a bientot ..