Bonjour à tous,

Pour bien finir mon stage, j'aurais souhaiter faire en sorte que la dernière action manuelle qui me reste sur mon application soit automatisé.

Il s'agit de vérifier au démarrage du formulaire Menu si un champ comporte déjà des valeurs dans la BDD pour le mois en cours.
SI c'est le cas, ne rien faire et attendre le prochain mois, si ce n'est pas le cas, inviter l'utilisateur à les créer.
Cette invitation doit durer les 7 premier jours du mois.

J'avais écrit ceci mais je suis certain qu'il y à plein d'erreurs:
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
Private Sub form_load()
 
' On donne l'activité à une zone fantôme
Call Me.txtDummy.SetFocus
 
 
 
Dim DateMin As Date
Dim DateMax As Date
Dim DateAjout As Date
Dim NombStat As Integer
' On va compter le nombre de lignes dans la table
    Dim fld As DAO.Field
    Dim rsc As DAO.Recordset
    Dim bd As DAO.Database
    Dim rvv As DAO.Recordset
 
Set bd = CurrentDb()
DateAjout = Now
DateMin = DateSerial(Year(Date), Month(Date), 1)
DateMax = DateSerial(Year(Date), Month(Date), 7)
 
' On constitue la requête qui choisi le champ à compter et à utiliser
    Set rsc = bd.OpenRecordset("SELECT count(NumTypStat) FROM TypeStatistique ", dbOpenForwardOnly, dbReadOnly)
' On incrémente jusqu'à la valeur maximum
    For Each fld In rsc.Fields
        NombStat = fld.Value
    Next
' On constitue la requête qui vérifie si les valeurs existent déjà
    Set rvv = bd.OpenRecordset("SELECT DateDebutStat FROM Statistique WHERE DateDebutStat BETWEEN '" & DateMin & "' AND '" & DateMax & "'", dbReadOnly)
 
If rvv = "" Then
    If MsgBox("Souhaitez vous ajouter les statistiques pour ce nouveau mois?", vbYesNo) = vbYes Then
        ' On ajoute les statistique en fonction du résultat du calcul
    For i = 1 To NombStat
        DoCmd.SetWarnings False
        DoCmd.RunSQL "INSERT INTO Statistique (NumTypStat, DateDebutStat) VALUES ('" & i & "', '" & DateAjout & "')"
        DoCmd.SetWarnings True
    Next i
    End If
End If
 
 
End Sub
La 1er requête compte le nombre de NumTypStat dans ma table et retourne la valeur pour savoir combien il y à de insert into à faire par la suite.
Normalement cette requête fonctionne encore puisque je l'avais essayer avant.

Mon problème est la vérification des valeurs existantes pour la date.
Je cherche à savoir si dans ma table, il y a au moins un seul enregistrement avec pour valeur de DateDebutStat le moi et l'année en cours.

Si c'est le cas, ne rien demander mais si il n'y a pas la date correspondante, inviter à faire les insert into.

Si vous avez des solutions, merci d'avance.