Bonjour à tous,
Je viens vers vous car je suis débutant en VBA SQL et une aide serait la bienvenue.
Je souhaiterai ajouter, en VBA via Excel, un champs calculé dans ma base de donné ACCESS
En cherchant sur le forum j'ai trouvé ce code:
Puis je l'ai adapté dans mon code VBA :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2CurrentProject.Connection.Execute "ALTER TABLE TABLE1 ADD COLUMN ESSAI3 DECIMAL(18,0)"
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 Sub Ajouter_Champ() 'Déclaration de la variable de connexion Dim cnx As ADODB.Connection Dim rst As ADODB.Recordset Dim CheminAccess As String Dim ChoixTABLE As String 'Chemin de la base de données CheminAccess = ActiveWorkbook.Path & "\EquipmentV4R3.accdb" ChoixTABLE = "PLC_FDP" 'Instanciation des variables Set cnx = New ADODB.Connection Set rst = New ADODB.Recordset 'Définition du pilote de connexion cnx.Provider = "Microsoft.ACE.OLEDB.12.0" 'Définition de la chaîne de connexion cnx.ConnectionString = CheminAccess 'Ouverture de la base de données cnx.Open 'Objet Recordset ajout d'un champs dans la table rst.Open "ALTER TABLE PLC_FDP ADD COLUMN ESSAI4 DECIMAL(18,0)", cnx 'Fermeture recordset et connection 'rst.Close Set rst = Nothing cnx.Close Set cnx = Nothing End Sub
Le code fonctionne et ajoute bien le champ dans la BDD!!
Cependant, que veut dire "DECIMAL(18,0)" dans l'expression ci-dessous?
Et comment faut-il faire pour que le champs que j'ajoute soit un champs calculé dont la formule serait par exemple Champs B divisé par Champs A en utilisant le code suivant?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2CurrentProject.Connection.Execute "ALTER TABLE TABLE1 ADD COLUMN ESSAI3 DECIMAL(18,0)"
Merci d'avance pour votre aide!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 'Objet Recordset ajout d'un champs dans la table rst.Open "ALTER TABLE PLC_FDP ADD COLUMN ESSAI4 DECIMAL(18,0)", cnx![]()
Partager