Bonjour,
Je continu toujours avec mon application, parmi mes fonctions, c'est la comparaison des valeurs pour deux périodes (mois et mois-1)
lorsque j’exécute la requête dans l'éditeur de SQLITE3 le résultat est affiché comme je le voulais :
Ci-dessous le requête :
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CREATE VIEW tmp_comparaison AS SELECT ident, intitule, SUM(CASE WHEN periode ='2021-03' THEN montant ELSE 0 END) '2021-03', SUM(CASE WHEN periode ='2020-03' THEN montant ELSE 0 END) '2020-03' FROM factures WHERE periode in ('2021-03', '2020-03') GROUP BY ident
J'ai voulu paramétré cette requête en utilisant deux combobox, le premier pour la période Mois et l'autre Mois-1 et afficher le résultat sur un tableview.
Le problème, le tableau est vide !!!!
Je ne vois pas où est le problème, au secours
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 mois = self.ui.cb_mois.currentText() mois_ant = self.ui.cb_mois_ant.currentText() requete = QSqlQuery() requete.prepare('''CREATE VIEW tmp_comparaison AS SELECT ident, intitule, SUM(CASE WHEN periode =:mois THEN montant ELSE 0 END) :mois, SUM(CASE WHEN periode =:mois_ant THEN montant ELSE 0 END) :mois_ant FROM factures WHERE periode in (:mois, :mois_ant) GROUP BY reference ORDER BY identt''') requete.bindValue(":mois", mois) requete.bindValue(":mois_ant", mois_ant) requete.exec() self.model_comparaison_ventes = QSqlRelationalTableModel() self.model_comparaison_ventes.setTable("tmp_comparaison") self.model_comparaison_ventes.select() self.ui.tableView_comparaison.setModel(self.model_comparaison_ventes)
Partager