2017-04-16 7 views
0

データベースとしてvb.net 2012とmsaccess2016を使用します。私は4つのテーブルを持っています。アイテムマスタ、終了、購入、発行。今私は、フォーマットされたdatagridviewの下で期間の結果を取得したい。以下は列です。数量の4条件の異なるテーブルへの結合

  • 項目名(品目マスター)
  • カテゴリー(品目マスター)
  • ユニット(品目マスター)
  • 数量の合計(終値)
  • 和(購入)
  • 合計数量(問題)

私はアイテムマスタを使用してクエリを作成し、終了しています。しかし、私が購入または発行しようとすると、データはありません。購入テーブルと発行テーブルにはデータがありません。

Dim sdate, edate As Date 
    sdate = dtsdate.Value 
    edate = dtedate.Value 

    Dim sqlSelect As String = "SELECT itemmaster.[Item Name], itemmaster.Category, itemmaster.Unit," _ 
           & " Sum(Closing.Qty) AS Opening FROM itemmaster INNER JOIN Closing ON " _ 
           & "itemmaster.[Item Name] = Closing.[Item Name] WHERE(((Closing.closeDate) >= #" & sdate & " # And (Closing.closeDate) <=#" & edate & " #))" _ 
           & " GROUP BY itemmaster.[Item Name], itemmaster.Category, itemmaster.Unit" 


    Try 
     Dim con As New Odbc.OdbcConnection 
     con.ConnectionString = "Dsn=sdbinventory;" 
     Dim dt As New DataTable("user2") 
     Using cmd = New Odbc.OdbcCommand(sqlSelect, con) 
      con.Open() 
      Dim da As New System.Data.Odbc.OdbcDataAdapter(sqlSelect, con) 
      da.Fill(dt) 
      con.Close() 
     End Using 
     dgtvreport.DataSource = dt 
    Catch ex As Exception 

     Throw 
    End Try 

残り2桁を追加してもらえますか?私はアクセスでそれを実行しようとしてい おかげ

enter image description here

マイクエリ

PARAMETERS sdate DateTime, edate DateTime; 
SELECT itemmaster.[Item Name], itemmaster.Category, itemmaster.Unit, Sum(Closing.Qty) AS SumOfQty1, Sum(Purchase.Qty) AS SumOfQty, Sum(Issue.Quantity) AS SumOfQuantity 
FROM ((itemmaster INNER JOIN Closing ON itemmaster.[Item Name] = Closing.[Item Name]) INNER JOIN Issue ON itemmaster.[Item Name] = Issue.[Item Name]) INNER JOIN Purchase ON itemmaster.[Item Name] = Purchase.[Item Name] 
WHERE (((Closing.closeDate)>=[sdate] And (Closing.closeDate)<=[edate]) AND ((Purchase.PDate)>=[sdate] And (Purchase.PDate)<=[edate]) AND ((Issue.Idate)>=[sdate] And (Issue.Idate)<=[edate])) 
GROUP BY itemmaster.[Item Name], itemmaster.Category, itemmaster.Unit; 

。サンプルデータも追加しました。 itemmasterからすべてのアイテム名、カテゴリ、ユニットをインポートしたいだけです。今度は、次の列にオープニングストックを追加して購入し、発行したいと考えています。私は作成し、itemwiseレポートしたい。

june7 @
Item Name  Category  Unit  Opening  Purchased  Issued Balance 

    item1   Grocery  Kg  2   3    4  1 

    item2   beverages PCS  0   1    1  0 

    Item3   vegetables kg  2   0    0  2 

    item4   consumable Pkt  10   2    1  11 
+0

これら2つのテーブルに実際に一致するデータがあることを確認しましたか? –

+0

はいすべてが項目名として共通のフィールドを持っています。購入および発行テーブルにはデータがありません。 – Deb

+0

テーブルにデータがない場合、クエリで何が返されると思いますか? –

答えて

0

同様

はい、私はあなたを信じても、私が知っている最良の答えですが、他の選択肢がある場合、私は検索しました。このプロセスでは、あなたが徹底的に私に本当に与えてきましたさまざまな種類のクエリに関する知識と相違点ありがとう。

関連する問題