質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

Q&A

解決済

1回答

503閲覧

Python ~検索機能が機能しません~

popomo

総合スコア3

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

0グッド

0クリップ

投稿2022/11/06 08:41

編集2022/11/06 10:54

)初めまして.
Python初心者でコードを作成している者です.

Pythonでデータベースの内容を日付範囲で検索するプログラムを作成しています.
データベースはSQLite3を使用しています.

現在,日付を指定しても,検索機能が動きません.

コードを何度見直しても全く分かりません.

どなたかご教示いただけないでしょうか.

【エラーメッセージ】
特になし

【該当のソースコード】

import tkinter as tk from tkinter import ttk import sqlite3 #表示ボタンの機能 def selct_SQL(): tree.delete(*tree.get_children()) start = day_entry1.get() end = day_entry2.get() #デフォルト設定(空欄) if start == '': start = '1990-01-01' if end == '': end = '2100-01-01' #DB接続 conn = sqlite3.connect('DBファイル') cur = conn.cursor() #select文 cur.execute('''SELECT * FROM テーブル名 WHERE date BETWEEN '{}' AND '{}' ORDER BY date'''.format(start,end)) for i in cur: #ツリービューの要素に追加 tree.insert('','end',values=i) conn.close() #ウィンドウを作成,設定 root = tk.Tk() root.title('参照画面') root.geometry('700x670') #表示画面ラベル display_label = tk.Label(root) display_label['text'] = '【 表示画面 】' display_label['font'] =('',12) display_label['height'] = 2 display_label.pack(fill='x') #フレームの作成 frame_labelentry = tk.Frame(root,bd=2,relief='ridge') frame_labelentry.pack(pady=15) day_label = tk.Label(frame_labelentry) day_label['font'] = ('',14) day_label['text'] = '期間' day_label.pack(side='left') day_entry1 = tk.Entry(frame_labelentry) day_entry1['font'] =('',14) day_entry1['justify'] = 'center' day_entry1['width'] = 12 day_entry1.pack(side = 'left') day_entry1.get() day_labe2 = tk.Label(frame_labelentry) day_labe2['font'] = ('',14) day_labe2['text'] = ' ~ ' day_labe2.pack(side='left') day_entry2 = tk.Entry(frame_labelentry) day_entry2['font'] =('',14) day_entry2['justify'] = 'center' day_entry2['width'] = 12 day_entry2.pack(side = 'left') day_entry2.get() #表示ボタン display_button = tk.Button(root) display_button['text'] ='表示' display_button['font'] = ('',16) display_button['width'] =16 display_button['bg'] = 'gray' display_button['command'] = selct_SQL display_button.pack() #Treeview tree = ttk.Treeview(root,padding=10) tree['columns'] = (1,2,3,4,5) tree['show'] ='headings' style = ttk.Style() style.configure('Treeview',rowheight=60) style.configure("Treeview.Heading",font=("",12,'bold')) tree.column(1,width=110) tree.column(2,width=110) tree.column(3,width=110) tree.column(4,width=110) tree.column(5,width=200 ) tree.heading(1,text ='日付') tree.heading(2,text='顧客名') tree.heading(3,text='担当者') tree.heading(4,text='トラブル項目') tree.heading(5,text='対応内容') tree.pack(fill='x',padx=20,pady=20) root.mainloop()

使用しているサンプルデータイメージ

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2022/11/06 09:42

tkinterを使わずにSQLite3からデータベースの内容を日付範囲で検索する機能を作成した場合は機能しますか?
teamikl

2022/11/06 09:49

適当なデータを作って動かしたところ、コードは正常に機能しました。(dateでの絞込) ファイル名やデーブル名の不一致、もしくはデータ側の問題かな? 問題が発生するテストデータを掲載してください。
popomo

2022/11/06 10:57

皆さんありがとうございます。 meg_さん tkinterなしではやっていませんでしたので,これから試してみます。 teamiklさん データベースの掲載の仕方が見つからなかったので,イメージ画像を貼らせていだきました。 他に方法があればご教示いただきたいです。
guest

回答1

0

自己解決

皆さんありがとうございました.
別のテストデータを一から作成して,プログラムを起動したら正常に動作するようになりました.

投稿2022/11/06 11:32

popomo

総合スコア3

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問