Python お金の健康

データベースに入力するアプリをPythonで開発した話

お客様への対応履歴を残したい
 
エクセルファイルだと画面が見にくい

 
もっといいソフトはないの?

という悩みを解決できる記事になっています。

なぜなら、私はPythonでデータベースに
入力するアプリを開発したからです。

結論だけ言うと、

データベースへの入力アプリをつかえば

顧客管理が簡単になります。

この記事では顧客対応の履歴を入力するアプリを開発する方法を紹介します。

読み終えていただければ、

Pythonでアプリ開発ができるようになります。

※おすすめのプログラミングスクール

せっかくプログラミングができるなら

稼げるレベルまで高めませんか?

現役エンジニアが就職サポートまでしています。

無料トライアル制度もあるのでおすすめです↓

顧客管理をもっと楽にしたい!学研教室での悩み

顧客管理をもっと楽にしたい!学研教室での悩み
DSC_0070

3月からパルティフジ衣山で学研を始めます。

学研では問題集からページを割いてお子様に渡し、宿題にします。

先生からしたら、誰にいつどんな宿題を出したのか

管理するのは大変です。

さらにお子様が多くなると覚えるのも難しいでしょう。

そこでデータベースで管理することを紹介しました。

ただ、初めての人が入力するのは大変なので

データベースへの入力アプリを開発します。

顧客の対応履歴を入力するアプリの作り方

まずアプリの見た目を紹介します。

こちらが入力画面です。

顧客の対応履歴を入力するアプリの作り方1

そして入力した後に登録ボタンを押すとポップアップが出ます。

顧客の対応履歴を入力するアプリの作り方2

DB Browser for SQLiteを確認するとデータが入っています。

顧客の対応履歴を入力するアプリの作り方3

これなら初心者や年配者でも簡単に

データベースへ書き込みができます。

次にコードを公開します。

データベースへの入力アプリのコード

アプリはPythonを使って開発します。

ライブラリはSQLite、Tkinterを使います。

import sys
import tkinter
from  tkinter import *
from datetime import date
from tkinter import messagebox
import sqlite3  #データベースをSQL実行

# データベースに接続する
conn = sqlite3.connect('gakken.db')
c = conn.cursor()
# テーブルの作成
c.execute('''CREATE TABLE IF NOT EXISTS users(name, title, date, staff, content)''')

# データベースへのアクセスが終わったら close する
conn.close()

def import_SQL():
    #入力値を取得する
    value1 = EditBox1.get() #お子様の名前
    value2 = EditBox2.get() #件名
    value3 = EditBox3.get() #日付
    value4 = EditBox4.get() #担当
    value5 = text1.get("1.0",END) #内容
    
    # データベースに接続する
    conn = sqlite3.connect('gakken.db')
    c = conn.cursor()

    # データの挿入
    data = [
    (value1,value2,value3,value4,value5),]
    try:
        c.executemany('INSERT INTO users VALUES(?, ?, ?, ?, ?)', data)
        # 挿入した結果を保存(コミット)する
        conn.commit()
        
        for i in data:
            messagebox.showinfo('登録完了', '{0}を入力しました。'.format(i))
        
        # データベースへのアクセスが終わったら close する
        conn.close()
    except:
        pass

root = tkinter.Tk()
root.title(u'Gakken PaltyFujiKinuyama')
root.minsize(100, 100)
root.columnconfigure(0, weight=1)
root.rowconfigure(0, weight=1)

#ラベル
Static1 = tkinter.Label(text=u'お子様の名前')
Static1.pack()
#エントリー
EditBox1 = tkinter.Entry()
EditBox1.pack()
#ここで,valueにEntryの中身が入る
value1 = EditBox1.get()

#ラベル
Static2 = tkinter.Label(text=u'件名')
Static2.pack()
#エントリー
EditBox2 = tkinter.Entry()
EditBox2.pack()
#ここで,valueにEntryの中身が入る
value2 = EditBox2.get()

day = str(date.today())
#ラベル
Static3 = tkinter.Label(text=u'日付')
Static3.pack()
#エントリー
EditBox3 = tkinter.Entry()
EditBox3.insert(tkinter.END,day)
EditBox3.pack()
#ここで,valueにEntryの中身が入る
value3 = EditBox3.get()

#ラベル
Static4 = tkinter.Label(text=u'担当')
Static4.pack()
#エントリー
EditBox4 = tkinter.Entry()
EditBox4.insert(tkinter.END,'内田裕之')
EditBox4.pack()
#ここで,valueにEntryの中身が入る
value4 = EditBox4.get()

#ラベル
Static5 = tkinter.Label(text=u'内容')
Static5.pack()
text1=tkinter.Text(root,  height=15, width=70)
text1.pack()
value5 = text1.get(END)

# ボタン
button1 = tkinter.Button(
    root, text='登録',
    command=import_SQL)
button1.pack()

root.mainloop()

詳しいコードの解説は別の記事にまとめます。

コピペで使えるのでどうぞお試しください。

※おすすめのプログラミングスクール

せっかくプログラミングができるなら

稼げるレベルまで高めませんか?

現役エンジニアが就職サポートまでしています。

無料トライアル制度もあるのでおすすめです↓

ここまで読んでくださりありがとうございました。^^

-Python, お金の健康
-