2010-12-06 3 views
0

J'ai une table d'accès que j'essaie d'ajouter des champs par programmation en utilisant Python. Ce n'est pas une géodatabase personnelle. Juste une base de données Access standard avec quelques tables dedans.Ajouter un nouveau champ pour accéder à la table en utilisant python

J'ai été en mesure d'accéder à la table et d'obtenir la liste des noms de champs et des types de données.

Comment ajouter un nouveau champ et affecter le type de données à cette table Access en utilisant Python.

Merci! SRP

Répondre

1

En utilisant le module pyodbc:

import pyodbc 

MDB = 'c:/path/to/my.mdb' 
DRV = '{Microsoft Access Driver (*.mdb)}' 
PWD = 'my_password' 

conn = pyodbc.connect('DRIVER=%s;DBQ=%s;PWD=%s' % (DRV,MDB,PWD)) 
c = conn.cursor() 
c.execute("ALTER TABLE my_table ADD COLUMN my_column INTEGER;") 
conn.commit() 
c.close() 
conn.close() 

Edit:
En utilisant win32com.client ...

import win32com.client 
conn = win32com.client.Dispatch(r'ADODB.Connection') 
DSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=c:/path/to/my.mdb;' 
conn.Open(DSN) 
conn.Execute("ALTER TABLE my_table ADD COLUMN my_column INTEGER;") 
conn.Close() 
+0

Adam, Mercide votre réponse. J'utilise le module win32com.client. Pouvez-vous suggérer w/cela? – debugged

+0

J'ai également ajouté la bibliothèque Microsoft ActiveX Data Objects 2.5 à l'aide de l'utilitaire MakePy – debugged

+0

@debugged: l'exemple 'win32com.client' a été ajouté. – bernie

Questions connexes