2007年11月17日土曜日

[VB]あるデータを2つのテキストボックスに分割して表示させる方法


'必要な変数を宣言
Dim iFind As Integer
Dim stTarget As String
'初期化
stTarget = "11:00"

'先頭から':'を検索し、見つかった位置を取得する
iFind = InStr(1, stTarget, ":")

'先頭から↑で見つけた':'の一つ手前の位置までの文字列を取得する
textbox1 = Mid$(stTarget, 1, iFind - 1)
'↑で見つけた':'の一つ後ろから末尾の文字列を取得する
textbox2 = Mid$(stTarget, iFind + 1)


結果:



チョッチ仕様変更と来て、DBへの登録はいいものの表示になるとどうしたらよいものかと調べたら、いい感じに検索方法を2つ見つけたので組み合わせてみたらできた。

「InStr」は文字の検索方法です。

今回は時間を分割表示したいなど(あるとは思わないけど)、':'の位置を取得してます。

例では先頭からということで'1'を指定していますが、ここは2文字目でも4文字目でも指定可能です。

「Mid$」は文字列の一部を取得する方法です。

1では先頭から「InStr」で取得した':'がある位置の一つ手前までの文字列を取得しています。

2では「InStr」で取得した':'がある位置の一つ後ろから末尾の文字列を取得してます。

末尾なので引数省略が可能となってます。


説明って難しいね。

0 件のコメント: