2019/10/22(Tue) 21:49:09 編集(投稿者)
テーブルにはエイリアスをつけて、以降はエイリアスの方を使うようにします。
あと、&で文字を結合するより、String.Formatか、Visual Studio 2015以降であれば
文字列補間を使うことをお勧めします。
文字列補間を使った場合はこんな感じ。文字列開始が"ではなく$"になります。
ついでに、Visual Studio 2015以降だと文字列中に改行も入れられます。
Dim commText As String = $"SELECT *
FROM [{csvfile_Order}] AS order
LEFT OUTER JOIN [{csvfile_Shop}] AS shop
ON order.ShopCode = shop.ShopCode"
以下コードです。 Form1.vb Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Const csvDir = "C:\Users\UserName\Desktop\" Const csvfile_Order = "OrderMaster.csv" Const csvfile_Shop = "ShopMaster.csv" 'Const csvfile_Goods = "GoodsMaster.csv"
Dim conString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & csvDir & ";Extended Properties =""text;HDR=Yes;FMT=Delemited""" Dim con As New System.Data.OleDb.OleDbConnection(conString)
Dim commText As String = "SELECT * FROM " & csvfile_Order & " LEFT OUTER JOIN " & csvfile_Shop & " ON " & csvfile_Order & ".[ShopCode]=" & csvfile_Shop & ".[ShopCode]" Debug.Print(commText) Dim da As New System.Data.OleDb.OleDbDataAdapter(commText, con)
Dim dt As New DataTable da.Fill(dt) DataGridView1.DataSource = dt