VB2005、SqlServer2005環境です。
デザイナ上で、DataTableをドラッグしてやると、自動的に
バインドされたDataGridViewが出てくれるので、その方法で
DataGridViewを1つ設置しました。
このDataGridViewの表の値を変えた時、それを実際のDBのテーブルにも
反映させたいなと思ってます。
これを実現するための方法を教えていただけないでしょうか?
バインドされているので、保存できればそのまま更新されるような
イメージなのですが…その方法がわかりません。
宜しくお願いします。
No.4ベストアンサー
- 回答日時:
ビューからだとUpdateやDeleteなど元のテーブル対する操作は自動生成されないようです
フォームに張り付いているデータセットにクエリを追加して
テーブルを操作できるようにします
表示されているテーブルアダプタをアクティブにして データ > 追加 > Queryを実行
SQLステートメントを使用するにチェック で次へ
UPDATE で次へ
ここで クエリビルダ もしくは 直接SQLを編集し『完了』をクリック
フォームに更新用ボタンを配置
そのクリックイベントに
dim row as DataRow
for each row in DS.DaTable.Rows
if row.RowState = DRowState.Modified then
TableAdapter.UpdateQuery( Row("Name"), Row("ID") )
end if
next
といった具合で更新を掛けます
# 変数名などは適宜修正してください
# DS.DaTable.Rows、TableAdapter、Row("Name"), Row("ID")などです
No.3
- 回答日時:
データソースに設定したテーブルをドラッグアンドドロップして作成したのでしょうか?
それならば フォームの上部にバインディングナビゲータが設定されていると思います
ここのフロッピィーディスクのようなアイコンをクリックすると更新(または新規登録)の必要があるデータを更新するようにするためのスケルトンコードが作成されていますよ
このアイコンをクリックしないとデータベースへの反映はなされません
また作成したテーブルに主キーが設定されていない場合も更新がうまくいかない場合もあります
スケルトンコードは
Private Sub MyTable04BindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyTable04BindingNavigatorSaveItem.Click
Me.Validate()
' 編集中のセルの編集モードを終了させる
Me.MyTable04BindingSource.EndEdit()
' テーブルアダプターのUpdateメソッドを使ってデータの更新
Me.MyTable04TableAdapter.Update(Me.SampleDBDS2.myTable04)
End Sub
といった具合になっていると思います
上記の例では SampleDBSD2のmyTable04が対象になっています
フォームクラス以外に VB2005が生成した SampleDBDS2というデータセットクラスがあります
回答ありがとうございます。
仰るとおり、ボタンがありますが、更新が出来ない(ボタンを
押下できない)のです。
大事なことを書き忘れていたのですが、ドラッグしたのがビューでした。
この場合はグリッドの値をそのまま反映させるのは難しいでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Visual Basic(VBA) VB DataGridViewについて 3 2022/06/08 17:20
- Excel(エクセル) エクセル テーブル機能の不明点 2 2022/04/14 14:10
- Excel(エクセル) エクセルについて教えてください。 1 2023/03/03 08:38
- Excel(エクセル) 3つのエクセルをそれぞれのシートのセルに反映させたいときはどうしたらいいでしょうか? 例えば①シート 4 2023/04/25 20:13
- Windows 10 Windows10環境にてWindowsUpdate後の再起動を完全に抑止する方法はございますか? 10 2023/06/16 09:57
- Word(ワード) 表の縦罫線を移動するピッチ 1 2022/10/12 12:24
- その他(Microsoft Office) Excelで時間計算(負) 8 2023/02/26 05:47
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/04/13 10:55
- IT・エンジニアリング ★お手上げ状態です。助けてください。ActiveReportについて 1 2023/08/20 04:29
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
DataGridViewの内容をDBに反映する時
Visual Basic(VBA)
-
MDBテーブルへの追加変更を教えてください
Visual Basic(VBA)
-
DataGridViewのチェックボックスのON、OFFの判定方法
C言語・C++・C#
-
-
4
DataGrdViewに関連付けたデータの更新
C言語・C++・C#
-
5
テキストボックスの中身をリセット(クリア)したい
Visual Basic(VBA)
-
6
DataTableに入っているデータを全てinsertしたい!(C#)
Microsoft ASP
-
7
DateTimePickerに値を入れたいのですが…
Visual Basic(VBA)
-
8
DataGridViewで指定したセルの値を取得
Visual Basic(VBA)
-
9
VB.net 重複チェックがしたいです
Visual Basic(VBA)
-
10
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
11
データセットのレコード更新がしたい
Visual Basic(VBA)
-
12
「指定されたキャストは有効ではありません。」とエラーが出てしまいます。
Microsoft ASP
-
13
DataGridViewの特定列に入力されている重複チェックをしたい
Visual Basic(VBA)
-
14
VB.NETでコンボボックスの1行目を空白にしたい
Visual Basic(VBA)
-
15
DataGridViewに空白がある場合はエラーにしたい
Visual Basic(VBA)
-
16
DataGridViewの各セル幅を自由に決め、その幅で固定したい
Visual Basic(VBA)
-
17
DataGridViewに複数テーブルのデータをセットしたい
Visual Basic(VBA)
-
18
フォームの再読み込み
Visual Basic(VBA)
-
19
DataGridViewでyyyy/MM/dd
Visual Basic(VBA)
-
20
C# 超初心者です。 this.Refresh();という文を使いたいです
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel複数シートをaccessへ一括...
-
DataGridViewで変更した値を反...
-
ダイナセットタイプのレコード...
-
他のMDBのテーブルに追加したい
-
HTMLのテーブルの行数が多くな...
-
アクセステーブル、リンクとロ...
-
VBとアクセスでSQL文に変...
-
PL/SQLのDELETE文について
-
テーブルの行を入れ替える
-
ワークテーブルの作成について
-
Accessで別mdbのテーブルをコピー
-
部品表
-
クリスタルレポートの式フィー...
-
実行時エラー'9':インデックス...
-
C++ 文字列変数と16進数の比較
-
コンボボックスのインデックス...
-
INT64対応のprintf系関数はあり...
-
テーブルのデータ型の変更がで...
-
textbox.textやlabel.captionの...
-
「Nullの使い方が不正です」の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBとアクセスでSQL文に変...
-
Accessで別mdbのテーブルをコピー
-
『列名 '担当者CD' があいま...
-
CSVファイルのエクスポートでソ...
-
AccessからExcelへエクスポート...
-
エクセルのテーブルを解除する...
-
手動または分散トランザクショ...
-
他のMDBのテーブルに追加したい
-
HTMLのテーブルの行数が多くな...
-
SQLを発行とは?クエリの作成と...
-
WORD VBA プログラム修正をお願...
-
ACCESS2010 実行時エラー 2766
-
Excel複数シートをaccessへ一括...
-
ACCESSのテーブル名をリストに...
-
アクセステーブル、リンクとロ...
-
.net 複数の主キーを設定する方法
-
MDBテーブルへの追加変更を教え...
-
Accessで宛名ラベルに同一宛先...
-
DataGridの中身をDataSetにテー...
-
COBOLのINVALID KEYが理解でき...
おすすめ情報