Как вывести таблицу из access через python, используя tkinter?
k.dataSources()
driver = '{Microsoft Access Driver (* .mdb,*.accdb)}'
filepath = r'C:\Users\User\Documents\Database3.accdb'
myDatasources = k.dataSources()
access_driver = myDatasources['MS Access Database']
print("Таблица открывается...")
cnxm = k.connect(driver=access_driver,dbq=filepath,autocommit=True)
crsr = cnxm.cursor()
table_list = list(crsr.tables())
table_name = 'Таблица1'
query = "SELECT * FROM {}".format(table_name)
crsr.execute(query)
for i in crsr.fetchall():
print(i)
crsr.close()
cnxm.close()
Вот есть часть кода, которая выводит таблицу из аксесса в консоли. Но как сделать вывод в новом окне/сообщении, используя tkinter?
roott = tk.Tk()
i = 0
j = 0
k = 0
n = 0
row = 5
lines = 0
roott.title("Табличка")
roott.geometry("500x500")
k.dataSources()
driver = '{Microsoft Access Driver (* .mdb,*.accdb)}'
filepath = r'C:\Users\User\Documents\Database3.accdb'
myDatasources = k.dataSources()
access_driver = myDatasources['MS Access Database']
print("Таблица открывается...")
conn = k.connect(driver=access_driver, dbq=filepath, autocommit=True)
cur = conn.cursor()
table_list = list(cur.tables())
table_name = 'Таблица1'
query = "SELECT * FROM {}".format(table_name)
cur.execute(query)
for x in cur.fetchall():
print(x)
lines = lines+1
lines = lines//5
print("lines =", lines)
matrix = [[0 for x in range(row)] for y in range(lines)]
for x in cur.fetchall():
print(x)
matrix[i][j] = x # j не будет больше 5-ти
j = j + 1
if j % 5 == 0:
j = 0
i = i + 1
ii=i
jj=j
i=0
j=0
for i in range(5):
for j in range(4):
frame = tk.Frame(
master=roott,
relief=tk.RAISED,
borderwidth=1
)
frame.grid(row=i, column=j)
text_wt = tk.Label(master=frame, text=f"R {matrix[i][j]}")
text_wt.pack()
roott.mainloop()
Написал такой код, который читает таблицу из аксесса и переносит данные в заданную матрицу, которая впоследствии идёт на вывод. Но выдаёт ошибку: "k.dataSources() AttributeError: 'int' object has no attribute 'dataSources'".