![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
以下のソースで、「この行は既に別のテーブルに属しています。」というエラーが出てしまいますが、対処方法がわかりません。
どのようにしたらよろしいでしょうか?
VS2003のVBです。
Dim Table1 As DataTable = Me.DS1.Tables("データベース1")
Dim Table2 As DataTable = Me.DS1.Tables("データベース2")
Dim Row1 As DataRow
Dim Row2 As DataRow
Row1("データ1") = 1
Row1("データ2") = 2
Row1("データ3") = 3
Row2("データ1") = 2
Row2("データ2") = 3
Row2("データ3") = 4
Table2.Rows.Add(Row2) ←ここでエラー
Table1.Rows.Add(Row1)
'System.ArgumentException' のハンドルされていない例外が system.windows.forms.dll で発生しました。
追加情報 : この行は既に別のテーブルに属しています。
No.2ベストアンサー
- 回答日時:
お世話になります。
> Dim Row1 As DataRow
> Row1("データ1") = 1
これは、実行時に例外(NullReferenceException)が発生するはずです。
> Row1("データ1") = 1
こちらを実行する前に、
Row2 = Table1.Rows(0) とか
Row2 = Table1.NewRow とかやってると仮定して、
2 つの DataTable のレイアウトが全く同じならば
DataTable.ImportRow メソッド
を使われてはいかがでしょうか。
Dim dt As DataTable = New DataTable
dt.Columns.Add("Field1", GetType(String))
dt.Columns.Add("Field2", GetType(String))
dt.Columns.Add("Field3", GetType(String))
dt.Rows.Add(New String() {"りんご", "みかん", "ばなな"})
dt.Rows.Add(New String() {"おかし", "ごはん", "おちゃ"})
Dim copyToDt As DataTable = dt.Clone()
For Each row As DataRow In dt.Rows
If Convert.ToString(row("Field1")) = "おかし" Then
copyToDt.ImportRow(row)
End If
Next
参考URL:http://msdn.microsoft.com/library/ja/default.asp …
No.1
- 回答日時:
検証環境:WinXP SP2 VisualStudio.NET 2002
同じコードでやったのですが、ymdaさんと違うところでエラーが出ました。
で、エラーを解除するために以下のコードを追加しました。
・・・・・・・・
Dim Row2 As DataRow
--------------------------------------
Row1 = Table1.NewRow() ここです
Row2 = Table2.NewRow()
--------------------------------------
Row1("データ1") = 1
Row1("データ2") = 2
・・・・・・・・・
これで、エラーは無くて動作します。
同じ環境ではないので、なんともいえませんが、よろしければ試してみてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Visual Basic(VBA) VBA初心者です。 2 2022/10/10 11:52
- Visual Basic(VBA) 追記する列を増やしたい 2つのデータを検索・照合して元データにないデータを下記マクロで商品名を追記し 9 2022/10/05 10:50
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 6 2022/06/08 12:55
- Visual Basic(VBA) Sub 分けてソートして貼り付ける() Dim srcSheet As Worksheet Dim 6 2023/08/04 19:57
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Excel(エクセル) エクセル 値をコピペした時に、条件付き書式で塗られた背景色もペーストさせる 2 2023/04/05 17:21
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
「指定されたキャストは有効ではありません。」とエラーが出てしまいます。
Microsoft ASP
-
VB.NETで、配列をテーブルに変換して表示する。
Visual Basic(VBA)
-
-
4
【VB】タブ切り替え時のイベント
Visual Basic(VBA)
-
5
DataGridViewの特定列に入力されている重複チェックをしたい
Visual Basic(VBA)
-
6
データグリッドビューの一番最初の行に列を追加したい
Visual Basic(VBA)
-
7
DataGridViewの各セル幅を自由に決め、その幅で固定したい
Visual Basic(VBA)
-
8
String"から型'Double'への変換は無効です。 とエラーが出ます。
Visual Basic(VBA)
-
9
DataGridViewのフォーカス遷移について
Visual Basic(VBA)
-
10
DataTableに対するLINQについて
Visual Basic(VBA)
-
11
データセットのレコード更新がしたい
Visual Basic(VBA)
-
12
フルパスから最後のディレクトリ名を取得したい。
Visual Basic(VBA)
-
13
DataGridViewの、選択されている行を取り出したい
Visual Basic(VBA)
-
14
DataTableから条件を満たした行を別のDatatableへコピーしたい
その他(プログラミング・Web制作)
-
15
return trueとreturn falseの用途・違いは・・・?
JavaScript
-
16
VBのReturnの使い方
Visual Basic(VBA)
-
17
VB.NET プロシージャ内で 条件分岐により Dim (変数定義)をしたいのですが可能性ですか?
Visual Basic(VBA)
-
18
型 varchar から型 numeric への変換エラー。
その他(データベース)
-
19
件数とデータを同時に取得するには?
Oracle
-
20
2つのDataTableをJoin
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
教えて下さい
-
メモ帳(テキストデータ)をExc...
-
S9タイプからXタイプにデータ...
-
VBA 空白セルを削除ではない方...
-
CString型の文字列連結について
-
【エクセル】測定時間がバラバ...
-
EXCELVBAでSQLserverからデータ...
-
この行は既に別のテーブルに属...
-
Accessで該当データにフラグを...
-
[C言語] コメント文字列を無視...
-
エクセルで2つの時系列のデー...
-
外部データの更新がうまくでき...
-
C# でDataTableの更新を高速化...
-
特定のデータの抽出方法を教え...
-
ノイズの入った波形をきれいな...
-
カンマからスラッシュに
-
VBAを使ってOutlookメール本文...
-
VBでカードリーダ(USB)のイベ...
-
二分探索の平均探索回数
-
C# ソケット通信でデータ受信時...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
教えて下さい
-
配列でデータが入っている要素...
-
【エクセル】測定時間がバラバ...
-
メモ帳(テキストデータ)をExc...
-
VBA 空白セルを削除ではない方...
-
多量のSUMIF式を軽くしたい
-
この行は既に別のテーブルに属...
-
S9タイプからXタイプにデータ...
-
Excelのマクロでワードのテキス...
-
エクセルで2つの時系列のデー...
-
Accessで該当データにフラグを...
-
ユーザーフォームのテキストボ...
-
シーケンサにパソコンからアク...
-
EXCELVBAでSQLserverからデータ...
-
[C言語] コメント文字列を無視...
-
VBAを使ってOutlookメール本文...
-
プログラミング python pandas ...
-
VBA 毎日取得するデータを順番...
-
<VB>String→Object
-
カンマからスラッシュに
おすすめ情報