関数に渡す省略可能の引数に配列を渡す方法 [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

↑何書いてるかわからんし。。。

リファレンス全部英語。。。

ウォッチでオブジェクトの中身見れない。。。
(見る方法もあるんだろうが)

そしてたぶんそのせいでエラーが出る。。。
(処理を流す分には大丈夫なはず)






サイトの情報を参考にするのに、「ぶっちゃけサンプルコードがあるのは助かるけど、教育上はよくないよね」なんて思ってたけど、今回はサンプルないと本当に困ったわ。


ありがとうございました。

 しっかりテストしよう。。。

 


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。