てきとーに処理をする(入力フォームは考え始めるとあっちこっちに)
import PySimpleGUI as sg
import sqlite3
import datetime
import openpyxl as op
import pandas as pd
db_name = "test.db"
connection = sqlite3.connect(db_name)
query = (f'select sum(receipt_Money) as 合計 from omimai')
df = pd.read_sql(query, connection)
df2 = df.to_string(index=False)
saaa= df2.replace('合計','')
saaa= saaa.replace('\n','')
saaa= saaa.replace(' ','')
sg.theme('BluePurple')
layout = [
[[sg.Text('金額(1,000)'),sg.Input(key='-Money-',default_text='0', size=(6,1))],
[sg.Text('姓'),sg.Input(key='-Lname-'),sg.Text('名'),sg.Input(key='-Fname-')],
[[sg.Text('住所'),sg.Input(key='-Address-')],
[sg.Text('法人名'),sg.Input(key='-Company-'),sg.Text('役職'),sg.Input(key='-Post-')],
[sg.Text(f'現在の合計金額は、{int(saaa):,}千円です',size=(50,1),key='-Total-')],
[sg.Button('登録'), sg.Button('Exit')]]
]]
window = sg.Window('お見舞い受付', layout,font='any 18')
while True: # Event Loop
event, values = window.read()
print(event, values)
if event == sg.WIN_CLOSED or event == 'Exit':
break
if event == '登録':
# Update the "output" text element to be the value of "input" element
#window['-OUTPUT-'].update(values['-IN-'])
Money_v = int(values['-Money-'])
Compa_v = values['-Company-']
Posts_v = values['-Post-']
Namel_v = values['-Lname-']
Namef_v = values['-Fname-']
Addrl_v = values['-Address-']
conn = sqlite3.connect("test.db")
cur = conn.cursor()
cur.execute('create table IF NOT EXISTS omimai(id text,Company_Name text,Post_Name text,Last_Name text,Fast_Name text,Address text,receipt_Money integer,primary key(id))')
# データの挿入
dt = datetime.datetime.now()
dt_now = dt.strftime('%Y%m%d%H%M%S')
data = [(dt_now,Compa_v,Posts_v,Namel_v,Namef_v,Addrl_v,Money_v)]
cur.executemany('INSERT INTO omimai VALUES(?,?,?,?,?,?,?)',data)
cur.close()
conn.commit()
conn.close()
wb = op.load_workbook('test.xlsx')
ws = wb['Sheet1']
max_row = ws.max_row +1
ws.cell(row = max_row,column = 1).value = dt_now
ws.cell(row = max_row,column = 2).value = Namel_v
ws.cell(row = max_row,column = 3).value = Namef_v
ws.cell(row = max_row,column = 4).value = Addrl_v
ws.cell(row = max_row,column = 5).value = Money_v
ws.cell(row = max_row,column = 6).value = Compa_v
ws.cell(row = max_row,column = 7).value = Posts_v
wb.save('test.xlsx')
#初期値
db_name = "test.db"
connection = sqlite3.connect(db_name)
query = (f'select sum(receipt_Money) as 合計 from omimai')
df3 = pd.read_sql(query, connection)
df4 = df3.to_string(index=False)
taku= df4.replace('合計','')
taku= taku.replace('\n','')
taku= taku.replace(' ','')
gokei = f'合計金額は、{int(taku):,}千円です'
window['-Money-']. Update('0')
window['-Company-']. Update('')
window['-Post-']. Update('')
window['-Lname-']. Update('')
window['-Fname-']. Update('')
window['-Address-']. Update('')
window['-Total-'].Update(gokei)
window.close()
コメント
コメントを投稿