てきとーに処理をする(入力フォームは考え始めるとあっちこっちに)

 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()

コメント

このブログの人気の投稿

エクセルマクロをすこし 2018年8月25日 リストから別のリストを作成