Bonjours,
j'ai un formulaire qui a comme source de données une requête SQL. Je ne peux donc pas faire de formulaire indépendant.
je voudrais faire un bouton d'enregistrement et empêcher access d'enregistrer tout seul sans que je lui demande. il faut seulement un bouton.
J'ai donc écrit du code qui me permettrait de faire ça mais je suis bloqué pouvez vous m'aider svp
voici mon code :
'La source de donnée étant celui d'un requête SQL on ne peut pas l'enlever et comme access
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104 Private Sub enreristre_modification_Click() If codePostal <> Me.CODE_POSTAL Or adresse1 <> Me.ADRESSE_1 Or adresse2 <> Me.ADRESSE_2 Or adresse3 <> Me.VILLE_ADRESSE Then ' si un seul des champs est differents Dim t As Recordset Set t = CurrentDb.OpenRecordset("dbo_ADRESSE", DB_OPEN_DYNASET) t.AddNew 'Ajout des enregistrements dans la table MaTable t![ID_ADRESSE] = DMax("ID_ADRESSE", "dbo_ADRESSE") + 1 t![ADRESSE_1] = Me.ADRESSE_1 t![ADRESSE_2] = Me.ADRESSE_2 t![ADRESSE_3] = Me.ADRESSE_3 t![VILLE_ADRESSE] = Me.VILLE_ADRESSE t![CODE_POSTAL] = Me.CODE_POSTAL t.Update t.MoveLast DoCmd.RunCommand acCmdSaveRecord Me.ID_ADRESSE = DMax("ID_ADRESSE", "dbo_ADRESSE") MAJ = 1 DoCmd.RunCommand acCmdSaveRecord End If End Sub Private Sub Form_BeforeUpdate(Cancel As Integer) If (MAJ = 0) Then Me.Undo End Sub Private Sub Form_Current() Dim MAJ MAJ = 0 Dim nom As String ' pour vérifier si il y a eu un changement on récupère les valeurs au chargement du formulaire puis on les compares lors de l'enregistrement Dim prenom As String Dim numero1 As String Dim numero2 As String Dim numero3 As String Dim poste As String Dim region As String Dim service As String Dim fax As String Dim emission As String Dim adresse1 As String ' on récupère toute les valeurs concernant l'adresse Dim adresse2 As String Dim adresse3 As String Dim ville As String Dim note As String Dim codePostal As String If Me.NOM_PERSONNE <> Null Then 'On enregistre le nom nom = Me.NOM_PERSONNE End If If Me.PRENOM_PERSONNE <> Null Then 'On enregistre le prénom prenom = Me.PRENOM_PERSONNE End If If Me.POSTE_PERSONNE <> Null Then 'On enregistre le poste poste = Me.POSTE_PERSONNE End If If Me.REGION_PERSONNE <> Null Then 'On enregistre la région region = Me.REGION_PERSONNE End If If Me.NOTE1_PERSONNE <> Null Then 'On enregistre la note note = Me.NOTE1_PERSONNE End If If Me.EMISSION_PERSONNE <> Null Then 'On enregistre le emission emission = Me.EMISSION_PERSONNE End If If Me.SERVICE_PERSONNE <> Null Then 'On enregistre le service service = Me.SERVICE_PERSONNE End If If Me.FAX_PERSONNE <> Null Then ' on enregistre le fax fax = Me.FAX_PERSONNE End If If Me.PREMIER_NUMERO_TEL_PERSONNE <> Null Then numero1 = Me.PREMIER_NUMERO_TEL_PERSONNE End If If Me.DEUXIEME_NUMERO_TEL_PERSONNE <> Null Then numero2 = Me.DEUXIEME_NUMERO_TEL_PERSONNE End If If Me.TROISIEME_NUMERO_TEL_PERSONNE <> Null Then numero3 = Me.TROISIEME_NUMERO_TEL_PERSONNE End If If Me.ADRESSE_1 <> Null Then ' on ne peut pas affecter une valeurs null à un string adresse1 = Me.ADRESSE_1 ' donc si me.adresse_1 est null on ne vas pas affecter ça valeurs à adresse 1 End If If Me.ADRESSE_2 <> Null Then adresse2 = Me.ADRESSE_2 End If If Me.ADRESSE_3 <> Null Then adresse3 = Me.ADRESSE_3 End If If Me.VILLE_ADRESSE <> Null Then ville = Me.VILLE_ADRESSE End If If Me.CODE_POSTAL <> Null Then codePostal = Me.CODE_POSTAL End If End Sub
Partager