Bonjour amis informaticien (:
Voilà mon problème j'ai une requête qui s'éffectue très bien sans le BETWEEN pour la date.
Donc je sais qu'avant il n'y a pas de problème et j'ai essayer 15000 modif pour trouver l’erreur, toujours sans succès...
Voilà le résultat de la requête :
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 Private Sub Calcul_Click(sender As System.Object, e As System.EventArgs) Handles Calcul.Click Dim date_select As String = Cb_solde.Text Dim temps_total As Double = 1 Dim entitez As String Dim date_actu As Date TextBox1.Text = "" date_actu = DateTime.Now.Date.ToString("yyyy-MM-dd") entitez = CStr(CType(Cbbox_choientite.SelectedItem, ListItem).Value) If Not date_select = "" Then Dim resultSQL9 As DataView = Remplir_entite_BDD( "SELECT COALESCE(SUM(TT.actiontime / 60), 0) AS temp_total " & _ "FROM glpi_tickettasks AS TT " & _ "INNER JOIN glpi_tickets AS T ON T.id = TT.tickets_id " & _ "WHERE T.entities_id = '" & entitez & "' " & _ "AND T.date BETWEEN '" & date_select & "' AND '" & date_actu & "' ") For Each rst4 As DataRowView In resultSQL9 temps_total = rst4("temp_total") Next TextBox1.Text = temps_total Else Exit Sub End If End Sub
Avec le COALESCE qui dit que par défaut la valeur sera 0. Si j'enlève le COALESCE, j'ai une erreur avec ceci "La conversion du type 'DBNull' en type 'Double' n'est pas valide."
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 "SELECT COALESCE(SUM(TT.actiontime / 60), 0) AS temp_total FROM glpi_tickettasks AS TT INNER JOIN glpi_tickets AS T ON T.id = TT.tickets_id WHERE T.entities_id = '54' AND T.date BETWEEN '01/10/2015' AND '15/06/2016'"
Après mainte réflexion je n'y arrive toujours pas... J'ai une piste, c'est que dans ma BDD les dates sont en format 2016-06-15, mais j'ai pourtant bien déclarer mes variables en "yyyy-MM-dd"... Mais on peut voir que ça ne sort pas comme je veux, comment obliger la conversion ou avez-vous vu une autre érreur?
Help pls (:
Edit : Après avoir essayer ceci :"AND T.date BETWEEN DATE_FORMAT('" & date_select & "', '%Y-%m-%d') AND DATE_FORMAT('" & date_actu & "', '%Y-%m-%d') ")
J'ai toujours la même erreur, je pense donc que ce n'est pas le format de la date, mais la syntaxe du WHERE ou du BETWEEN
Partager