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 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179
| '-----------------------------------------------------------------------------------------
Private Sub bnt_affiche_noms_DblClick(Cancel As Integer)
'-------------------------------------------------------------
' mise à jour des noms de correspondants dans la table Correspondants
' sélection et impression des courriers
'-------------------------------------------------------------
'déclaration document
Dim NomDocument As String
Dim Doctype As String
Dim NumAccord As Long
Dim NumspécAccord As String
'déclaration rédacteur
Dim NomRédacteur As String
Dim PrénomRédacteur As String
Dim TélRédacteur As String
Dim MélRédacteur As String
'déclaration organisme
Dim OrgNum As Long
Dim OrgNom As String
Dim OrgAdresse As String
Dim OrgCodepostal As String
Dim OrgVille As String
'déclaration correspondant
Dim Civilité As String
Dim Nom As String
Dim Prénom As String
Dim Qualité As String
Dim Organisation As String
'déclaration variable x
Dim i As Integer
Dim j As Integer
Dim Debut As String
'déclaration pour prg Dao-Sql
Dim V_Sql As String 'déclaration variable enregistrement Sql
'initialisation
i = 0
If IsNull(Me.Liste_courriers.Value) Then
MsgBox "Il faut sélectionner un modèle de courrier !", vbOKOnly, "Gestion des courriers"
Exit Sub
End If
'récupération du modèle de courriers choisi
NomDocument = Me.Liste_courriers.Value
'MsgBox NomDocument
Debut = Left(NomDocument, 2)
'MsgBox Debut
'si le document sélectionné est une notification de réception ou de diffusion de l'avis Cna
If Debut = "02" Then
Doctype = "Réception_notif"
If IsNull(Me.Liste_dossiers.Value) Then
MsgBox "Il faut sélectionner un dossier !", vbOKOnly, "Gestion des correspondants"
Exit Sub
Else
'test quel est le type d'organisme EN, EJ ou ET
EjNum = Me.Liste_dossiers.Column(5)
If Not IsNull(EjNum) Then
'Index = Me.Liste_dossiers.Value et récupération des données générales
NumAccord = Me.Liste_dossiers.Column(0)
NumspécAccord = Me.Liste_dossiers.Column(1) 'n° spéc accord pour le test : EN, ou EJ ou ET pour l'affichage des correspondants
NomRedacteur = Me.Liste_dossiers.Column(2)
'EjNum = Me.Liste_dossiers.Column(5)
MsgBox "n°accord : " & NumAccord & vbCrLf & "n° spéc. : " & NumspécAccord & vbCrLf & "n°EJ : " & EjNum & vbCrLf & "Rédacteur : " & NomRedacteur & vbCrLf
'récupération des données de l'organisme
OrgNom = DLookup("[ej-raison_sociale]", "[tbl_Ej_Org]", "[ej-no_cna]=" & EjNum)
OrgAdresse = Nz(DLookup("[ej-voie]", "[tbl_Ej_Org]", "[ej-no_cna]=" & EjNum))
OrgCodepostal = DLookup("[ej-code_postal]", "[tbl_Ej_Org]", "[ej-no_cna]=" & EjNum)
OrgVille = DLookup("[ej-commune_libelle]", "[tbl_Ej_Org]", "[ej-no_cna]=" & EjNum)
MsgBox "Organisme : " & OrgNom & vbCrLf & "Adresse : " & OrgAdresse & vbCrLf & "Commune : " & OrgCodepostal & " - " & OrgVille
'récupération des données du rédacteur
'attention, quand la relation recherchée est basée sur du texte, la formulation du DLookup est modifiée !!!!
NomRédacteur = DLookup("[Rédacteur_nom]", "[tbl_Rédacteur]", "[Rédacteur_nom]=""" & NomRedacteur & """")
PrénomRédacteur = DLookup("[Rédacteur_prénom]", "[tbl_Rédacteur]", "[Rédacteur_nom]=""" & NomRedacteur & """")
TélRédacteur = DLookup("[Rédacteur_tél]", "[tbl_Rédacteur]", "[Rédacteur_nom]=""" & NomRedacteur & """")
MélRédacteur = DLookup("[Rédacteur_mél]", "[tbl_Rédacteur]", "[Rédacteur_nom]=""" & NomRedacteur & """")
MsgBox "Nom rédacteur : " & NomRédacteur & vbCrLf & "Prénom : " & PrénomRédacteur & vbCrLf & "Tél. : " & TélRédacteur & vbCrLf & "Mél : " & MélRédacteur
'------------------------------------------
' mise à jour d'une table "liste des correspondants"
'-----------------------------------------------
'ouvrir une table, la vider de tous ses enregistrements et lancer un programme pour alimenter la table
'DoCmd.OpenTable "tbl_Correspondants"
'empêche les demande de confirmation de s'afficher
DoCmd.SetWarnings False
'efface le contenu de la table, effacer tous les enregistrements
DoCmd.RunSQL "DELETE * FROM tbl_Correspondants;"
'rétablit les confirmations
DoCmd.SetWarnings True
'fermeture de la table
DoCmd.Close
'initialisation Dao
Dim Base As DAO.Database
Set Base = CurrentDb
Dim Ajout01 As DAO.Recordset
Set Ajout01 = Base.OpenRecordset("tbl_Correspondants", dbOpenTable)
'récupération informations président EJ
Civilité = DLookup("[president_civilite]", "[tbl_President]", "[ej-no_cna]=" & EjNum)
Nom = DLookup("[president_nom]", "[tbl_President]", "[ej-no_cna]=" & EjNum)
Prénom = DLookup("[president_prenom]", "[tbl_President]", "[ej-no_cna]=" & EjNum)
Qualité = DLookup("[president_qualite]", "[tbl_President]", "[ej-no_cna]=" & EjNum)
'MsgBox "Civilité : " & Civilité & vbCrLf & "Nom : " & Nom & vbCrLf & "Prénom : " & Prénom & vbCrLf & "Qualité : " & Qualité
'passage en mode ajout
Ajout01.AddNew
Ajout01.Fields("Civilite").Value = Civilité
Ajout01.Fields("Nom").Value = Nom
Ajout01.Fields("Prenom").Value = Prénom
Ajout01.Fields("Qualite").Value = Qualité
Ajout01.Fields("Organisation").Value = " "
'met à jour
Ajout01.Update
'récupération informations directeur EJ
Civilité = DLookup("[direction_civilite]", "[tbl_Directeur]", "[ej-no_cna]=" & EjNum)
Nom = DLookup("[direction_nom]", "[tbl_Directeur]", "[ej-no_cna]=" & EjNum)
Prénom = DLookup("[direction_prenom]", "[tbl_Directeur]", "[ej-no_cna]=" & EjNum)
Qualité = DLookup("[direction_qualite]", "[tbl_Directeur]", "[ej-no_cna]=" & EjNum)
'MsgBox "Civilité : " & Civilité & vbCrLf & "Nom : " & Nom & vbCrLf & "Prénom : " & Prénom & vbCrLf & "Qualité : " & Qualité
'passage en mode ajout
Ajout01.AddNew
Ajout01.Fields("Civilite").Value = Civilité
Ajout01.Fields("Nom").Value = Nom
Ajout01.Fields("Prenom").Value = Prénom
Ajout01.Fields("Qualite").Value = Qualité
Ajout01.Fields("Organisation").Value = " "
'met à jour
Ajout01.Update
'compte des représentants syndicaux pour EJ
Dim Ajout As DAO.Recordset
'recherche informations dans table négociateurs
Set Ajout = Base.OpenRecordset("tbl_Négociateurs")
V_Sql = "INSERT INTO tbl_Correspondants([Civilite], [Nom], [Prenom] ,[Qualite], [Organisation]) "
V_Sql = V_Sql & "SELECT [négociateur_civilité], [négociateur_nom], [négociateur_prénom], [négociateur_qualité], [négociateur_synd]"
V_Sql = V_Sql & "FROM [tbl_Négociateurs] WHERE [ej-no_cna]=" & EjNum
Base.Execute V_Sql
Me.frm_Correspondants_sous_formulaire.Requery
Else
'à modifier par la suite
Exit Sub
End If
End If
End If
'Libération des objets
Ajout.Close
Ajout01.Close
Base.Close
Set Ajout = Nothing
Set Ajout01 = Nothing
Set Base = Nothing
End Sub |
Partager