Помогите с кодом, передать кнопке btschet1 начальную и конечную даты?
Т. е. после запуска программы выбираю даты, а затем хочу передать их методу selsel для обработки своего селекта.
# -*- coding: utf-8 -*-
import Tkinter
import ttk
import pyodbc
import csv
import ConfigParser
import multilistbox
class clienttable:
def __init__(self, myParent, selfkk, cu):
self.fm = selfkk.Frame(myParent)
self.fm.pack()
lab1 = selfkk.Label(self.fm, text=u'Отбор карт', foreground = '#ff0000', font = ('Arial',10,'bold'))
lab1.grid(row=0, column=0)
btschet1 = selfkk.Button(self.fm, text = u'Сделать выборку', command=self.selsel("2009-01-01", "2009-01-31", config.get('select', 'CountDay')))
btschet1.grid(row=1, column=0, sticky='w')
def selsel(self, tttbeg, tttend, countd):
sel = 'select bla bla bla '
fr = 'from bla bla bla '
lef = 'LEFT OUTER JOIN bla bla bla '
wher = 'where bla bla bla '
gr = 'GROUP BY bla bla bla '
hav = 'having Count(*)>=' + countd + ' '
orde = 'ORDER BY Count(*) DESC'
f = open(config.get('path', 'outpath1'), 'wt')
writ = csv.writer(f, delimiter=';')
cu.execute(sel + fr + lef +wher + gr + hav + orde)
mlb = multilistbox.MultiListbox(self.fm, ((u'Дата', 10), (u'Объект', 20), (u'Номер карты', 20), (u'Кол-во', 3)))
for k, l, n, m in cu.fetchall():
mlb.insert('end', (k, l.decode('cp1251'), n, m))
writ.writerow((k, l, n, m))
mlb.grid(row=2, column=0, sticky='e')
if __name__ == '__main__':
config = ConfigParser.ConfigParser()
config.read('card.ini')
cnxn = pyodbc.connect('DSN=BASE;UID=s;PWD=121')
cu = cnxn.cursor()
root = ttk.Tkinter.Tk()
nb = ttk.Notebook(root)
nb.pressed_index = None
f1 = ttk.Frame(nb)
nb.add(f1, text=u'Несколько заправок', padding=3)
nb.pack()
f2 = clienttable(f1, ttk, cu)
f2.get = clienttable(f1, ttk, cu)
Style = ttk.Style()
ttk.Style.theme_use(Style, "clam")
root.mainloop()