関数に渡す省略可能の引数に配列を渡す方法 [VB.NET]
----------------------------------------------------------
(開発・実行環境)
Microsoft Visual Studio 2005 Tools for Applications
Microsoft Visual Basic 2005
----------------------------------------------------------
関数に引数を渡すのに、Optionalで渡すと省略可能になるので何かと便利なのですが、配列がわたせない。。
(Optionalで渡す場合は既存値を設定しなければいけないので。。)
でも規定値をNothingに設定したら渡せます。
または、Overloadsして引数の違う関数を作るとか。
助かった♪
参考:http://oshiete1.goo.ne.jp/qa1184886.html
CREATE DATABASE ステートメント実行時のエラー [VB.NET]
----------------------------------------------------------
(開発・実行環境)
Microsoft Visual Studio 2005 Tools for Applications
Microsoft Visual Basic 2005
Microsoft SQL Server 2005
----------------------------------------------------------
VB から SQL Server にプログラムで新規にDBを作る場合、CREATE DATABASEステートメントを実行する。
が、普段 SELECT したり INSERT したりするのと同じように実行すると、
「CREATE DATABASE ステートメントは、複数のステートメントを含むトランザクション内では許可されません。」
とエラーが発生する。
こちら を参考にすると解決。(ありがとうございます!MSDN意味不明だもん。。)
自動コミットメントモード。。なんじゃそりゃ。。
トランザクションじゃない、ってことは、コミットしたりロールバックしたりしない、ってことか。
要は、SqlClient.SqlTransaction型の変数を使って、
BeginTransactionとか、
Rollbackだとか、
Commitなんかをしない、ってことかね。
なるほど。
ちなみに、CREATE TABLE は、SqlTransaction有りでも無しでも両方通った。
(追記)2009/10/30
バックアップファイルを作成する、BACKUP DATABASE ステートメントでも、CREATE DATABASE と同様の挙動が見られた。
CheckBoxのReadOnlyプロパティ [VB.NET]
----------------------------------------------------------
(開発・実行環境)
Microsoft Visual Studio 2005 Tools for Applications
Microsoft Visual Basic 2005
----------------------------------------------------------
vb.netには、CheckBoxコントロールにReadOnlyプロパティがついていません。
CheckBoxイジれなくしたいのに・・・
どげんすっとか!
enableプロパティをfalseにするのも色が見えなくなるから嫌だし・・・。
でも実は簡単にできる事を発見。
AutoCheckプロパティ = false
こんだけ。
らくちん♪
なんでこんな名前なんやろ。。。
「通常使うプリンタ」の設定 [VB.NET]
----------------------------------------------------------
(開発・実行環境)
Microsoft Visual Studio 2005 Tools for Applications
Microsoft Visual Basic 2005
Crystal Reports for Visual Studio 2005
----------------------------------------------------------
***********************************************
(課題)
ラベルプリンタ出力用のラベル開発において、
クリレポのPrintToPrinterで直接出力した場合にカットがされない。
Viewerでプレビューを出して出力した場合はカットはされるが、
プリンタの設定が「通常使うプリンタ」となり制御できない。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=48670&forum=7&4
要は、
①ラベル出力後にカットを実行する
②印刷する前にプリンタの設定を手動で行わない
***********************************************
(解決策)
WMIのWin32_Printerクラスを用いて、「通常使うプリンタ」設定を直接変更することで対応。
http://dobon.net/vb/dotnet/graphics/defaultprinter.html
http://hanatyan.sakura.ne.jp/dotnet/Prt12.htm
ラベル出力後にプリンタの設定を元に戻すのを忘れずに。
(プリンタ名以外はコードは同じ)
とりあえずうまくいった。。。
しかし、、、
WMIの使い方、ぶっちゃけよくわからん。。
http://www.microsoft.com/japan/technet/scriptcenter/resources/wmifaq.mspx#EIB
↑何書いてるかわからんし。。。
リファレンス全部英語。。。
ウォッチでオブジェクトの中身見れない。。。
(見る方法もあるんだろうが)
そしてたぶんそのせいでエラーが出る。。。
(処理を流す分には大丈夫なはず)
サイトの情報を参考にするのに、「ぶっちゃけサンプルコードがあるのは助かるけど、教育上はよくないよね」なんて思ってたけど、今回はサンプルないと本当に困ったわ。
ありがとうございました。
しっかりテストしよう。。。