Bonjour,

Je butes sur le moyen d'afficher dans un treeview uniquement les dates supérieures à aujourd'hui provenant d'une bas de donnée.

J'ai fait un petit programme sortis du programme principal.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/usr/bin/PYTHON
# -*-coding:utf-8 -*
 
import sqlite3
from tkinter import *
from tkinter import ttk
 
class Pdf:
    def __init__(self):
        self.root_expired_list_part = Tk()
        self.root_expired_list_part.title("Parts Expired List")
        self.root_expired_list_part.iconbitmap("data/logo.ico")
        self.root_expired_list_part.geometry("720x350+200+100")
        self.root_expired_list_part.resizable(width=FALSE, height=FALSE)
        self.root_expired_list_part.grab_set()
 
        # Treeview
        self.tree_expired_list = ttk.Treeview(self.root_expired_list_part, columns=(1, 2), height=5, show="headings")
        self.tree_expired_list.place(width=600, height=330)
 
        # Scrollbar
        self.vsb_exp_list = ttk.Scrollbar(self.root_expired_list_part, orient="vertical", command=self.tree_expired_list.yview)
        self.vsb_exp_list.place(x=600, height=330)
        self.tree_expired_list.configure(yscrollcommand=self.vsb_exp_list.set)
        self.hsb_exp_list = ttk.Scrollbar(self.root_expired_list_part, orient="horizontal", command=self.tree_expired_list.xview)
        self.hsb_exp_list.place(y=330, width=600)
        self.tree_expired_list.configure(xscrollcommand=self.hsb_exp_list.set)
 
        # Display database expired in treeview object
        self.conn = sqlite3.connect('data/date_list.db')
        self.cursor = self.conn.cursor()
        self.select = self.cursor.execute("SELECT * FROM date ORDER BY date DESC")
        for row in self.select:
            self.tree_expired_list.insert('', END, value=row)
 
        # Create column's name & size
        # Column name
        self.tree_expired_list.heading(1, text="ID")
        self.tree_expired_list.heading(2, text="Date")
 
        # Column size
        self.tree_expired_list.column(1, width=40)
        self.tree_expired_list.column(2, width=100)
 
        conn.close()
 
        # Buttons
        self.button_cancel = ttk.Button(self.root_expired_list_part, text="Cancel", command=self.root_expired_list_part.destroy)
        self.button_cancel.place(x=630, y=305, width=80, height=35)
        self.root_expired_list_part.mainloop()
 
 
Pdf.__call__()
Avec ce code les dates sont affichées par ordre décroissante. Jusque là pour moi ça va ensuite c'est la que je suis perdu.

J'aimerai affiché uniquement les dates qui sont inférieures à celle d'aujourd'hui. Je pense que ça doit se passer au niveau de la requête SQL :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
self.select = self.cursor.execute("SELECT * FROM date ORDER BY date DESC")
il faudrait intégrer une variable avec une condition mais là je n'y arrive pas .... j'ai même pas un début. J'ai cherché partout et ai longtemps hésité à poster de peur d'être passé à coté d'une doc ou d'un tuto quelques part ...

Bref, merci d'avance pour l'aide