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 !!!!

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)
Je ne vois pas où est le problème, au secours