初めまして。
VBの学習として、VisualBasic認定試験の公式サイトのサンプル問題(1級の2問目、personaldata)と、その模範解答に沿って
アプリケーションを作っています。
http://www.sikaku.gr.jp/js/vb/ind/about/sample/
この模範解答のエラーとして、
「Form2でOKを押した時点で、Form1にある全てのDataGridViewのデータが上書きされてしまう」
といった点があります。
この問題を回避したく、以下の点に悩んでおります。
どなたか宜しくお願いします。
①Form1で宣言し、かつ読み込んだXMLファイルのデータが書き込まれているDataSetを、Form2で呼び出す方法を教えてください。(Form1で、Publicで宣言したのですが上手くいきませんでした・・)
②Datasetで指定したセルのみをXMLファイルに書き込む方法を教えてください。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
質問内容の理解に苦しみます。
>①Form1で宣言し、かつ読み込んだXMLファイルのデータが書き込まれているDataSetを、Form2で呼び出す方法を教えてください。
この内容のとおりなら、模範解答のままだと思うのですが。
模範解答、Form2_Load()で、親のFrom1クラスのDataSet型のメンバ変数を自身のForm2クラスのメンバ変数に代入していますよね?
> dgrMain = frmMain.dgrPerson
Form2クラス内ならForm2_Loadイベントが終わった時点で自由にアクセスできるはずです。btnOK_Click()で書き込みしてますし、質問の意図が読み取れません
>②Datasetで指定したセルのみをXMLファイルに書き込む方法を教えてください。
既にあるXMLファイルの指定した特定の要素だけを更新するという意味なら難易度は格段に上がります。このレベルのVB学習中なら非常に難しいと感じるかもしれません。詳しくはDocument Object Modelや、SAXなどを検索してください
sample.xml内にある、特定の要素だけをファイルに書き出す場合
例:<name>大島 美加</name>
この場合は、DataSetのスキーマを分析してファイルに書き出すかDataGridにバインドしたものを利用すれば比較的簡単です。(スキーマについては割愛)
dim strElement as string = dsPerson.Tables(0).Columns.Item(dgrPerson.CurrentCell.ColumnNumber).ColumnName
DataSetから、現在選択中の列の名前を以上のように取得できるので
StreamWriterなり好きな方法でファイルに書けば良いかと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- XML エクセルのマクロについて教えてください。 3 2023/02/06 09:06
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2023/03/12 12:16
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- その他(プログラミング・Web制作) python コードについて(初学者です) 3 2023/07/20 14:44
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
共有フォルダに誰が何にアクセ...
-
特定のエクセルファイルを起動...
-
【Excel】[Expression.Error] ...
-
VBAでCSVファイルが使用中かど...
-
Access VBA を利用して、フォル...
-
Batch: フォルダ内の特定のファ...
-
AccessVBAで作成したExcelファ...
-
tmpファイル なぜできる?削除...
-
XMLデータを変換し印刷する方法
-
(Excelマクロ)datファイルをエ...
-
AccessにリンクさせたExcelファ...
-
相手のPCにVBAからメッセ...
-
月が変わったら自動でシートが...
-
Excel VBA 処理後データが重た...
-
CSVの項目行を削除して一つのフ...
-
Excel同士のデータの突合
-
VBEが削除される
-
access関数を説明できる方いま...
-
mdbファイル フォームを開くと...
-
amifldrv64.sysについて教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
共有フォルダに誰が何にアクセ...
-
【Excel】[Expression.Error] ...
-
特定のエクセルファイルを起動...
-
Batch: フォルダ内の特定のファ...
-
VBAでCSVファイルが使用中かど...
-
XMLデータを変換し印刷する方法
-
AccessVBAで作成したExcelファ...
-
月が変わったら自動でシートが...
-
Access VBA を利用して、フォル...
-
tmpファイル なぜできる?削除...
-
excelを共有ファイルにすると行...
-
Excel VBA 処理後データが重た...
-
(Excelマクロ)datファイルをエ...
-
エクセルファイルのデータ転記...
-
社内Excel共有ブックでの保存ト...
-
大量のCSVデータを行列の変換を...
-
【アクセス】「ほかのユーザー...
-
ファイルの途中に文字列を挿入
-
拡張子が「cda」のファイルを聞...
-
CSVの項目行を削除して一つのフ...
おすすめ情報