2017-03-13 12 views
1

データがあるテーブルのDataGridViewを表示し、別のテーブルの追加の列をACCESSデータベースから追​​加したいとします。ACCESSの複数のソースからのDataGridViewの表示

は、これは私のコードです:

string PathDB6 = Application.StartupPath + @"\PcStore.ACCDB"; 
OleDbConnection connection6 = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + PathDB6 + ";Persist Security Info=False;"); 
OleDbDataAdapter ada6 = new OleDbDataAdapter("SELECT * FROM CustomersOrdersDetail", connection6); 
DataSet set6 = new DataSet(); 
ada6.Fill(set6, "CustomersOrdersDetail"); 
tabSearchCustomerOrder = new DataTable(); 
tabSearchCustomerOrder = set6.Tables["CustomersOrdersDetail"]; 
dgvCustomerOrderDetail.DataSource = tabSearchCustomerOrder; 
dgvCustomerOrderDetail.Sort(dgvCustomerOrderDetail.Columns["OrderID"], ListSortDirection.Ascending); 
dgvCustomerOrderDetail.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; 

しかし、私は上記のDataGridView(dgvCustomerOrderDetail)への別のテーブルから追加の列を選択する方法がわかりません。

私はC#でOLEDBを使用してい

は事前にお願いします。

私のテーブルとフィールド:

表番号1: "顧客の注文の詳細"

Customers Orders Detail Table fields

表番号2:私は、 "お客様のオーダー"

Customers Orders Table fields

dgv、私はテーブル "CustomersOrdersDetail"のすべてのデータを持っている、私は列WorkerApprovedを追加したい2番目のテーブルからそれまで。

答えて

0

追加の列をDataGridViewに表示できるようにするには、この他の列を持つようにSQLを更新する必要があります。

string sql = "SELECT CustomersOrdersDetail.*, Customers.Email 
FROM CustomersOrdersDetail INNER JOIN Customers on CustomersOrdersDetail.ID = Customers.ID"; 

一度INNER JOIN

に多くを学ぶことができます。2番目の表には、Customersテーブルであり、あなたは追加の列として、この顧客の電子メール・アドレスを表示することを考慮すると例えば

、あなたのデータセットを記入すると、追加のEmail列が表示されます。

だから、あなたの場合には(チェックされていない):

string sql = "SELECT CustomersOrdersDetail.*, CustomersOrders.WorkerApproved 
FROM CustomersOrdersDetail INNER JOIN CustomersOrders on 
CustomersOrdersDetail.CustomerID = CustomersOrders.CustomerID AND 
CustomersOrdersDetail.OrderID = CustomersOrders.OrderID"; 
+0

インナー参加:「一般的なフィールドに一致する値がある時はいつでも二つのテーブルからレコードを結合します。」 私は共通のフィールドを持っていないので、何ができますか? – Kfir

+0

フィールドが共通していない場合、どのように2つの異なるテーブルの2つのレコードを関連付けることができますか。それは私には分かりません。関連するテーブルとそのフィールドを投稿してください。 – ehh

+0

そうではありません。あなたの投稿を更新してください。各テーブルについて、該当するフィールドを一覧表示し、各テーブルの簡単な説明を入力します。 – ehh

関連する問題