Bonjour à tous gens du forum Développez.com
Je sollicite votre aide afin d'identifier, contourner ou régler mon problème. Prenez note que je débute en Access et que c'est ma première BD que je monte tout seul de A à Z. J'ai bien entendue souvent trouver mes solution à même se forum
J'ai une BD Access que je suis en train de créer. Tout mes formulaires fonctionnes et la grande majorités de mes opérations se font par code VBA.
Mon problème est le suivant : J'ai un formulaire dans lequel je sais différente données de projet (nom du client, le contact, détail du projet, remarque...). Une fois le formulaire complété, j'effectue une vérification, par code VBA, pour valider que tout les champs et zone de liste déroulante on bel et bien été saisie et qu'ils ne sont pas Null à l'aide d'un if, ElseIF. La procédure fonctionne très bien sauf rendu à un certain point Access crash systématiquement et je n'Arrive pas à trouver pourquoi.
J'aimerais savoir si vous auriez une solution à me proposer? Est-ce que quelqu'un a déjà rencontré le problème et qu'avez vous fait pour le corriger ? Avez vous des solution de "contournement" du problème comme par exemple valider mes champs d'une autre manières ?
Voici mon code d'événement Click.
Je vous remercie d'avance pour toute l'aide que vous pourriez m'apporter.
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
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 But_Sauvegarder_Click() '------------------------------------------------------------------------------------------------------------------- ' Validation des entré saisi dans les champs avant l'ajout des données saisi à la table T_Dossier '------------------------------------------------------------------------------------------------------------------- If IsNull(Me.Mod_Compagnie) = True Then MsgBox "Veuillez sélectionner une compagnie." Exit Sub ElseIf IsNull(Me.Mod_Region) = True Then MsgBox "Veuillez sélectionner la région." Exit Sub ElseIf IsNull(Me.Txt_NoInterne) = True Then MsgBox "Veuillez saisir le numéro de dossier." Exit Sub ElseIf IsNull(Me.[Txt_Titre]) = True Then MsgBox "veuillez saisr un titre pour ce dossier." Exit Sub ElseIf IsNull(Me.Mod_Type_Dossier) = True Then MsgBox "Veuillez sélectionner un type pour ce dossier." Exit Sub ElseIf IsNull(Me.Txt_NoAppelOffre) = True Then MsgBox "Veuillez saisir un numéro d'appel d'offre pour ce dossier." Exit Sub ElseIf IsNull(Me.Txt_NoExterne) = True Then MsgBox "Veuillez saisir un numéro de dossier externe pour ce dossier." Exit Sub ElseIf IsNull(Me.Mod_Responsable) = True Then MsgBox "Veuillez sélectionner un responsable pour ce dossier" Exit Sub ElseIf IsNull(Me.Mod_Type_Soumission) = True Then MsgBox "Veuillez sélectionner un type de soumission pour ce dossier" Exit Sub ElseIf IsNull(Me.TXTDateOuverture) = True Then MsgBox "Veuillez choisir une date d'ouverture de dossier." Exit Sub ElseIf IsNull(Me.Mod_ChampActivite) = True Then MsgBox "Veuillez sélectionner un champs d'Avtivité pour ce dossier." Exit Sub ElseIf IsNull(Me.Mod_Client) = True Then MsgBox "Veuillez sélectionner un client pour ce dossier." Exit Sub ElseIf IsNull(Me.Mod_Division) = True Then MsgBox "Veuillez sélectionner une division pour ce dossier." Exit Sub ElseIf IsNull(Me.Mod_Contact) = True Then MsgBox "Veuillez sélectionner un contact pour ce dossier" Exit Sub End If If Me.Activation_simultanee = True Then If IsNull(Me.Mod_Statut) = True Then MsgBox " Veuillez sélectionner le statut du dossier." Exit Sub ElseIf IsNull(Me.Txt_Date_DebutDossier) = True Then MsgBox "Veuillez choisir la da de début du dossier." Exit Sub Else End If Else End If '------------------------------------------------------------------------------------------------------------------- ' Ajout des information saisi à la table T_Dossier '------------------------------------------------------------------------------------------------------------------- Set t = CurrentDb.OpenRecordset("T_Dossier", DB_OPEN_DYNASET) t.AddNew t("FK_T_Compagnie") = Me.[Mod_Compagnie] t("FK_T_Region") = Me.[Mod_Region] t("No_Dossier_Interne") = Me.[Txt_NoInterne] t("No_Dossier_Externe") = Me.[Txt_NoExterne] t("Titre_Dossier") = Me.[Txt_Titre] t("FK_T_TypeDossier") = Me.[Mod_Type_Dossier] t("No_Appel_offre") = Me.[Txt_NoAppelOffre] t("FK_T_TypeDeSoumission") = Me.Mod_Type_Soumission t("Date_Dépot") = Me.[DateDépot] t("FK_T_ChampActivite") = Me.[Mod_ChampActivite] t("Remarques") = Me.[Txt_Remarque] t("Date_Ouverture_Dossier") = Me.[TXTDateOuverture] t("FK_ID_T_Client") = Me.[Mod_Client] t("FK_T_Division") = Me.[Mod_Division] t("FK_T_Statut") = Me.[Mod_Statut] t("Date_Début") = Me.[Txt_Date_DebutDossier] t("Date_Fin") = Me.[Txt_Date_FinDossier] t("FK_T_Raison_Fermeture_Dossier") = Me.[Mod_Raison] t("Fk_ID_T_Contact") = Me.[Mod_Contact] t("FK_ID_T_Responsable") = Me.[Mod_Responsable] t.Update t.MoveLast Set t = Nothing End Sub
Partager