2014年2月13日木曜日

データセットのデータテーブルの列順を変更したい

久々にVB.NET(VS2005)で開発しています。
データセットを作成した後でデータベースの設計を変更し、元のテーブルやビューの列を追加したときにその変更をデータセットに反映する方法はわかったので前に書いたのですが、追加した列が末尾になってしまいます。
別に列(フィールド)の並び順は気にしなくていい場合が多いのですが、今回はデータテーブルの列を Columns(i) で順番に処理したかったのです。この順番ってデータセットデザイナに表示される列の並び順のようなんですが、デザイナで順番を変更できない……。
データセットのファイルは ~.xsd で、デフォルトだとこれを開くアプリケーションがDataSetエディタになっているので、ソリューションエクスプローラでダブルクリックするとデザイナ画面になります。
これだと変更できないので(これで変更できる方法があるなら知りたいんですけど)、ソリューションエクスプローラで右クリックして[ファイルを開くアプリケーションの選択]-[ソースコード(テキスト)エディタ]を選択して[OK]、で同じファイルがデザイナでなくテキストエディタで開きます。
列順を変更したい列名で検索すると何箇所かヒットしますが、列順に関係あるのは
<Mappings>
 <Mapping ~/>
 <Mapping ~/>
   :
</Mappings>
のところ。
ここを修正してファイルを保存してからデザイナで開いてみると、順番が変わっています。

2013年7月10日水曜日

MP Navigator EX が起動しなくなった……IMEに関係あるとは

開発ネタじゃないんですがメモ。

久しぶりにキヤノンのスキャナを使おうとユーティリティツールMP Navigator EX 2.0を起動しようとしたら、

「MP Navigator EXは動作を停止しました。問題が発生したため、プログラムが正しく動作しなくなりました。プログラムは閉じられ、解決策がある場合はWindowsから通知されます。」

と出て起動できませんでした。解決策は通知されなかったw
あ、OSはWindows7、スキャナは CanoScan LiDE 200です。

とりあえずググったら、
C:\Users\\App Data\Roaming\Microsoft\Windows\Network Shortcuts
フォルダのファイルを削除したら起動するようになったというのが見つかったのだけど、そもそもこのフォルダは空だった……。

しょうがないのでキヤノンのサポートにメール。電話だけじゃなくメール窓口もあるのがありがたい。フォームから送信。日曜に送信したら月曜に返信が来ました。
「Microsoft Office IME 2007」を使用している環境で発生している事例があるとのこと。うーん、うちではこれは使ってない……2010はインストールしているけど。デフォルトで使っているのはATOK 2013なんだよなー。
(ちなみにOffice IME 2007の問題はマイクロソフトのアップデートで直ってる模様です。)

ん、そういえば。最後にMP Navigator EX 2.0を使用してからインストールしたプログラムが原因なんだろうなーと最初に見たんだけど、それらしいのが見あたらなくて、それからキヤノンにメールしたんだよな。でもその中にATOK 2013があったんでした。Passport版でアップデートされたんだっけか。バージョンは26.1.6.0です。

Office IME 2007じゃないけどIMEが関係あるならこれかも……と既定の言語をOffice IME 2010に変更したら、無事起動できるようになりました。うーんIMEの影響とは思わなかったな。
しかしATOKは使いたいのでw しょうがないからスキャナ使うときだけIME切り換えるようにしよう……。

ジャストシステムのサポートに問い合わせようと思ったんだけど、電話窓口しかなかった……メールでも受け付けてホスイ……。ダメモトでATOKの公式ツイッターアカウントに投げときました。なんかATOK 2013では他にも不具合出てるみたいなのでそのうち修正アプデ来るでしょう。

(2013.7.20追記)ATOK2013のアップデートで直りました。IME切り換えなくてもMP Navigator EX 2.0起動するようになりました。アプデ後のバージョンは26.1.8.0になってました。

2013年4月3日水曜日

Virtual PC のゲストOSからホストOSのローカルプリンタを使いたい(まとめ)

前の投稿でだらだらと書いてしまったのですが(まぁそれはそれでどういう手順でこうなったのか自分の覚えとしては必要かと思ったのでいいかと)、昨日久しぶりにゲストPCでプリンタ使おうと思ったら使えなくて自分のブログ読み返してみたら読むのめんどくさかったのでwちょっとまとめることにしました。きれいにまとめられてるサイトは他にあるので検索するとたぶんそっちが引っかかるのでいいのではないかと思うのですが(と前の投稿書いたときも思ったのだったw)、自分で読み返すときのためにまとめておきますw

(前提)
Virtual PC 2007でホスト:Windows 7、ゲスト:Windows XPが動作していてホストに接続されたローカルプリンタ(共有)にホストから正しく出力できているものとします。

(ホストOSでの作業)
1.デバイスマネージャーで「ネットワークアダプター」を選択
2.メニュー[操作]-[レガシーハードウェアの追加]を選択
3.ウィザードが表示されたら[次へ]
4.「一覧から選択したハードウェアをインストールする」を選択して[次へ]
5.「ネットワークアダプター」を選択して[次へ]
6.製造元「Microsoft」、ネットワークアダプター「Microsoft Loopback Adapter」を選択して[次へ]
7.インストールを開始するには[次へ]
8.ウィザード完了画面が出たら終了
9.「ネットワーク」→「ネットワークと共有センター」→「アダプターの設定の変更」
10.表示されているアダプターから Microsoft Loopback Adapter を選択
11.右クリック→「プロパティ」→「インターネットプロトコル バージョン4」を選択
12.「次のIPアドレスを使う」を選択してIPアドレス「192.168.1.1」、サブネットマスク「255.255.255.0」→[OK]

(ゲストOSでの作業)
1.上記のホストの作業が終わったらゲストOS再起動
2.「新しいハードウェアが~」とか表示されて Loopback Adapter が認識されたらOK
3.Virtual PC コンソールの設定で「ネットワーク」を選択→「ネットワークアダプタ数」を1個増やす(例えば1→2)→増えたアダプタ(例えば「アダプタ2」)で「Microsoft Loopback Adapter」を選択
4.コンパネ「ネットワーク接続」→「LANまたは高速インターネット」→2個目のプロパティを開く
5.「次のIPアドレスを使う」を選択してIPアドレス「192.168.1.10」、サブネットマスク「255.255.255.0」
6.ゲストOS再起動
7.プリンタの追加→ホストOSのローカルプリンタが見つかったら通常のネットワークプリンタの追加と同様にすればOK(必要ならプリンタドライバを入れる)

以上です~。
今回、前にこのようにして設定した環境でゲストOSからプリンタ使おうとしたら「印刷スプーラサービスが実行されていません」とか出て使えず。原因は、Virtual PC コンソールの設定でネットワークアダプタ「Microsoft Loopback Adapter」を選択していたはずなのになぜか設定が変わっていて他のアダプタになってたことでした……なぜ変わったのかは不明。