2017-03-01 5 views
1

コンボボックスのアイテムをvbのsqlのフィルタクエリとして使用して、合計売上グラフを(曜日、週、月、年) 。ネット。助けてください。私のコードは以下の通りです。「テーブルが見つからない」というエラーがスローされます。あなたの最初のquery.Ifでフィルタとしてコンボボックスを使用してvb.netで時刻表を表示する

cboxGroupBy.Items.Insert(0, "Day") 
    cboxGroupBy.Items.Insert(1, "Week") 
    cboxGroupBy.Items.Insert(2, "Month") 
    cboxGroupBy.Items.Insert(3, "Year") 

    SQL.ExecQuery("SELECT Date = DATEPART('" + Me.cboxGroupBy.Text + "', Date),                
       SUM (Amount) AS Amount 
       FROM Sales        
       GROUP BY DATEPART('" + Me.cboxGroupBy.Text + "', Date)") 

     Chart2.DataSource = SQL.SQLDS.Tables(0) 
     Chart2.Series.Clear() 
     Chart2.Series.Add("Total Revenue") 
     Chart2.Series("Total Revenue").XValueMember = "Date" 
     Chart2.Series("Total Revenue").YValueMembers = "Amount"     

答えて

0

DatePart()機能から単一引用符を削除します。日や週などを一重引用符で渡す必要はありません。変更されたクエリは次のとおりです。

SQL.ExecQuery("SELECT Date = DATEPART(" + Me.cboxGroupBy.Text + ", Date),                
       SUM (Amount) AS Amount 
       FROM Sales        
       GROUP BY DATEPART(" + Me.cboxGroupBy.Text + ", Date)") 
+0

一重引用符を削除しましたが、まだ動作しません。ありがとう。 – Sonam

+0

同じエラー "テーブル0を見つけることができません"が表示されます。ありがとう。 – Sonam

+0

@ Krishnraj私はそれを得た。それは今働く。どうもありがとう。あなたが示唆したようにシングルクォートでした。 – Sonam

0

それはあなたが現在の日付を取得しようとしているように見えるので、(あなたのDBは、SQL Serverの場合)GETDATE()を使用し、それは何か他のものだ、電流を取得する方法をチェックしてください日付。そう

SQL.ExecQuery("SELECT Date = DATEPART('" + Me.cboxGroupBy.Text + "', GETDATE()),                
       SUM (Amount) AS Amount 
       FROM Sales        
       GROUP BY DATEPART('" + Me.cboxGroupBy.Text + "', GETDATE())") 
+0

ありがとうございました。提案したとおりに変更されましたが、まだ動作していません。それ以上の提案はありますか?ありがとうございました。 – Sonam

+0

あなたはどのデータベースを使用していますか? – Rendition

+0

私はSQL Serverを使用しています。ありがとう。 – Sonam

関連する問題