Как вывести таблицу из 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'".


Ответы (0 шт):