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 87 88 89 90
| Private Sub btnValiderN°Famille_Click()
Dim blnExistePas As Boolean, blnCibleVide As Boolean
Dim db As DAO.Database, rs As DAO.Recordset, rs3 As DAO.Recordset
Dim DernNumFam As Long
Dim Reponse As Long
Dim rq As String
Dim stDocName As String, stDocAmasquer As String
Dim stLinkCriteria As String
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT * FROM [tbl adhérents] WHERE Nz([NuméroFamille],0)=0 AND [tbl adhérents].Départ=False ORDER BY [tbl adhérents].NomFamille, [tbl adhérents].Titre DESC")
Set rs3 = db.OpenRecordset("tbl Familles", dbOpenDynaset)
'--- Teste si tous les numéro de famille sont renseignés
If IsNull(rs("NuméroFamille")) Then
Else
DoCmd.OpenForm "frm Message 2", acNormal
Exit Sub
End If
'--- Utilisation Msgbox par les API
Reponse = MessageBox(Me.hwnd, "Vous allez créer les numéros de Famille" _
& vbCrLf & "Voulez vous continuer ? ", _
ap_AppTitle(), (mb_yesno + MB_ICONQUESTION))
If Reponse = vbYes Then
'--- Teste si la tbl contient des enregistrements
If rs3.EOF Then
blnCibleVide = True
DernNumFam = 100001
Else
blnCibleVide = False
DernNumFam = DMax("NuméroFamille", "tbl Familles")
End If
'--- Teste si le tous les Regroupement famille sont renseignés
If IsNull(rs("RegroupFamille")) Then
'--- Utilisation Msgbox par les API
Reponse = MessageBox(Me.hwnd, "Le Numéro de Regroupement n'est pas renseigner" _
& vbCrLf & "Vous devez le mettre à jour avant de continuer.", _
ap_AppTitle(), (MB_OK + MB_ICONEXCLAMATION))
Exit Sub
End If
'--- Boucle sur la table rs (Adhérents)
Do While Not rs.EOF
'--- Rechercher si famille existe par Nom + RegroupFamille
If blnCibleVide Then
blnExistePas = True
Else
rs3.FindFirst "[Nom]=" & Chr(34) & rs("Nomfamille") & Chr(34) & " AND " & _
"[RegroupFamille]=" & Nz(rs("RegroupFamille"))
blnExistePas = rs3.NoMatch
End If
If blnExistePas Then
'--- Famille Non trouvée, Création dans Familles
rs3.AddNew
rs3("NuméroFamille") = NvNumeroFamille()
rs3("Titre") = rs("Titre")
rs3("Nom") = rs("NomFamille")
rs3("PréNom") = rs("PréNom")
rs3("Adresse1") = Nz(rs("Adresse1"))
rs3("Adresse2") = rs("Adresse2")
rs3("CP") = rs("CP")
rs3("Ville") = rs("Ville")
rs3("RegroupFamille") = rs("RegroupFamille")
rs3.Update
rs3.Bookmark = rs3.LastModified ' va à enregistrement créé
blnCibleVide = False
End If
'--- Mise à jour Adhérents
rs.Edit
rs("NuméroFamille") = rs3("NuméroFamille")
rs.Update
rs.MoveNext
Loop
DoCmd.OpenForm "frm Message", acNormal
rs.Close
rs3.Close
Set rs = Nothing
Set rs3 = Nothing
End If
End Sub |