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 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
Sub Formload()
Dim Id_Arg As Integer
Dim Reference As Integer
Dim Localisation As String
'Dim Argument As String
'Dim Description As String
Dim Reponsgbox As String
Dim NbrOccurences As Integer
Dim SQL As String
Dim rs As DAO.Recordset
SQL = "SELECT TBL_CONTACTS.ID_CONTACT,[/FONT][/FONT]"
SQL = SQL & "TBL_ENQUETES.ENQ_P_A_CATEGORIE,"
SQL = SQL & " Max(TBL_ENQUETES.ENQ_DATE) AS "
SQL = SQL & "[Date de la dernière enquête qui doit être révisée]"
SQL = SQL & "FROM TBL_CONTACTS INNER JOIN TBL_ENQUETES"
SQL = SQL & "ON TBL_CONTACTS.ID_CONTACT = "
SQL = SQL & "TBL_ENQUETES.ID_CONTACT "
SQL = SQL & "WHERE ((( TBL_CONTACTS.CON_DDF) Is Null))"
SQL = SQL & "GROUP BY TBL_CONTACTS.ID_CONTACT, "
SQL = SQL & "TBL_ENQUETES.ENQ_P_A_CATEGORIE"
SQL = SQL & "HAVING (((Max(TBL_ENQUETES.ENQ_DATE))"
SQL = SQL & "))<=IIf([ENQ_P_A_CATEGORIE]='FAMILLE',"
SQL = SQL & "Date()-180,Date()-365)));"
CurrentProject.Connection.Execute SQL
CurrentProject.Connection.Errors.Clear
Set rs = CurrentDb.OpenRecordset(SQL)
rs.MoveLast
rs.MoveFirst
NbrOccurences = rs.RecordCount
' je ne sais pas comment implementer ce code sql dans la procédure
' Pour mettre les données de la requête dans une liste d'un formulaire en incluant
' aussi les noms des contacts par exemple?:
Set rs = CurrentDb.OpenRecordset(SQL)
'Do
'ListBox.Item.Add (rs)
'rs.MoveNext
'Loop Until rs.EOF
'permet d'afficher le message d'alerte avec bouton rouge si enquêtes > à 100
'sinon simple VBOKonly si inf à 100 et rien du tout si pas d'occurrences du click sur OK
If NbrOccurences > 100 Then
Reponsgbox = MsgBox("Attention, vous devez faire des enquetes", vbYesNo, "Avertissememt")
If Reponsgbox = vbYes Then
Dim Monform As Form
Set Monform = Forms("FRM_ENQJOUR")
Monform.Open
End If
ElseIf NbrOccurences <= 100 Then
MsgBox "Attention, vous devez faire des enquetes", vbOKOnly, "Avertissememt"
ElseIf NbrOccurences = 0 Then
End If
'Remarque je dois également stocker dans une Table existante TBL_ARGUMENTS,
'Les paramètres, les nbs de jours pour les cas des 6 mois et des 12 mois, je sias pas si l'idée est bonne ?
'do listbox.item.add (DateDiff( "m", rs!ENQ_Date , Getdate() ) )
'rs.movenext
'loop until rs.eof
Id_Arg = 0
Reference = 0
Localisation = "FRM_ENQUETE_A_JOUR"
rs.MoveLast
rs.MoveFirst
Do
rs.OpenRecordset ("TBL_ARGUMENTS")
rs.AddNew
rs.Fields.Append (Id_Arg)
rs.Fields.Append (Reference)
rs.Fields.Append (Localisation)
rs.Fields.Append (rs![TBL_CONTACTS].[ID_CONTACT])
rs.Fields.Append (DateDiff("m", rs!ENQ_Date, Getdate()))
rs.Update
rs.MoveNext
Loop Until rs.EOF
End Sub |
Partager