投稿者 hoido  (社会人) 投稿日時 2010/7/15 21:13:27
るきお様回答ありがとうございます。
私の質問の仕方が下手ですみません。

処理内容
①テーブル1とテーブル2を準備します
②テーブル1とテーブル2をするSQLを作成
 SQL内容
  SELECT テーブル2.SDID, テーブル1.SD, テーブル2.入力日
  FROM テーブル1 INNER JOIN テーブル2 ON テーブル1.SDID = テーブル2.SDID
③SQL結果をDataTableおよびDataGridViewに表示
 表示結果 SDID : SD : 入力日
④DataGridViewにデータ入力
 ※入力項目はSDIDと入力日のみでSDは入力しません

Accessの場合るきお様のおっしゃられるとおり
>Accessの選択クエリが読み書きしているのはデータベースであるのに
であるから選択クエリでSDIDを入力すればテーブル1とテーブル2がSDIDで関連付けされているため、SDをわざわざ入力することなく自動で表示されます。
しかし、
>VBのDataGridViewが読み書きしているのはDataTableであるので、
ということだと思うのですがDataGridViewではSDIDを入力してもSDには何も入力されません
※一度保存後再度表示すれば別ですが

私が希望としている動作はAccessのような動作です。

そもそも私が
Dim Cn As SqlConnection = New SqlConnection(MainServer)
Dim SQLCm As SqlCommand = Cn.CreateCommand
Dim Adapter As New SqlDataAdapter(SQLCm)
Dim Table As New DataTable
SQLCm.CommandText =  "SELECT テーブル2.SDID, テーブル1.SD, テーブル2.入力日
 FROM テーブル1 INNER JOIN テーブル2 ON テーブル1.SDID = テーブル2.SDID"
Adapter.Fill(Table)
DataGridView1.DataSource = Table
Table.Dispose()
Adapter.Dispose()
SQLCm.Dispose()
Cn.Dispose()
のコードを記載しているイベントの場所が悪いのでしょうか?
今はフォームLoadイベント内に記載しています
Private Sub Frm_Try_Load ・・・
 上記コード
End Sub

質問の仕方がわるくご迷惑をおかけしておりますが、どうぞよろしくお願いいたします。