Google
 
Web itpro-blogger.blogspot.com
火曜日, 10月 30, 2007

[VB2005]「Option Strict On では、遅延バインディングを使用できません。」エラー

▼質問
「Option Strict On では、遅延バインディングを使用できません。」のエラーが発生する。

▼回答
問題1
Private Sub TrnPictureBox_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox.Click
Dim x as Double
x = sender.MousePosition.X()
End Sub

対応1
x = PointToClient(MousePosition).X

問題2
Dim obj As Object
obj = OraDataBase.CreateDynaset(strSql, 0)
Debug.Print obj.Fields("FIELDS_NAME").Value

対応2
下記の参照を追加する。
参照名:Oracle InProc Server 5.0 Type Libray

Imports OracleInProcServer

Dim obj As OracleInProcServer.OraDynaset
obj = CType(CType(OraDatabase, OracleInProcServer.OraDatabase).CreateDynaset(strSql, 0), OraDynaset)
Debug.Print DirectCast(DirectCast(obj.Fields, OracleInProcServer.OraFields)("FIELDS_NAME"), OracleInProcServer.OraField).Value)


水曜日, 10月 24, 2007

[HTML]INPUTタグのdisabled

▼質問
INPUTタグでdisabledを指定しても有効にならないのはどうしてかな?

▼回答
スタイルシート(CSSファイル)などでcursorにpointerを指定していないか確認してみてくれ!

これをしているとdisabledを指定しても有効にならないんだ。

cursorのpointerをautoにしてみてくれ!!

どうだったかな?

これでも駄目でした(T_T)

FORMタグが悪さしているようです?!

諦めて他の方法にすることにしました。。。。

と、思ったら気がつきました。

下記の関数をフォームロードで処理をしていました。(T.T)

function buttonDisabled( flag ) {
var loop ;
with ( document.form1 ) {
for ( loop = 0 ; loop < elements.length ; loop++ ) {
if ( elements[loop].type == "button" ) {
elements[loop].disabled = flag;
}
}
}
}

これは、FORMタグで囲まれたボタンのみをパラメータフラグの内容でdisabledを
制御している関数で、これが悪さしていたようです。(涙)

■参考サイト
cursor CSS辞典
http://www.seo-equation.com/html/css/cursor


金曜日, 10月 12, 2007

[VB2005]数値入力制限

▼質問
テキストボックスで数値だけを入力できるようにしたいんだ。どうすればいい?

▼回答
KeyPressイベントで下記の関数を呼べばできるよ。

Public Sub KeyNumericOnly(ByRef e As System.Windows.Forms.KeyPressEventArgs)
'数値キーをチェックする.
If (Not e.KeyChar Like "[0-9]") Then e.KeyChar = ""
End Sub

これだけでは駄目なのね(?.?)

これだとバックスペースが使えなくなるのね。

だからこの関数を呼ぶ前に次のコードを記述するのね。

If (Asc(e.KeyChar) = System.Windows.Forms.Keys.Back) Then Exit Sub

他にも、プロパティのMaxLengthを指定しないと入力桁数の制限ができないのね。

これで、OKかな!?


木曜日, 10月 11, 2007

[Access]オラクルODBCドライバ

▼質問
ODBCの設定でOracle(オラクル)に接続しようとすると下記のエラーで接続できないんだ。

接続できませんでした。SQLState=IM004
[Microsoft][ODBC Driver Manager] SQL_HANDLE_ENVでのドライバの SQLAllocHandle は失敗しました。

どうしてなんだ?

▼回答
ODP.NETをインストールしたことはないかい?

それをインストールするとODBCに接続できなくなることがあるんだ。

原因は、Oracle Homeの優先順位が変わるからなんだ。

対策方法の手順は下記の通りだ。
1.「Oracle - OraDb10g_home1」→「Oracle Installation Products」→「Universal Installer」を
起動する。
2.「インストールされた製品(P)...」をクリックする。→「インベントリ」ダイアログが表示される。
3.「環境(E)」タブをクリックする。
4.「ODACHome1」より「OraClient10g_home1」の順位が上位になるように「↑」「↓」ボタンで
変更する。
5.「適用(A)」→「閉じる(C)」ボタンの順にボタンをクリックして終了。

■参考サイト
yukotan hour: 6月 2007
http://yukotan.blogspot.com/2007_06_01_archive.html


日曜日, 10月 07, 2007

[VBA]R1C1形式とA1形式

▼質問
R1C1形式をを英文字のA1形式に変換するにはどうしたらいいの?

▼回答
アクティブセルのR1C1形式・A1形式を取得するサンプルを教えておくよ。
Dim strRowCol As String
Dim strTXlA1 As String
Dim strTXlR1C1 As String
Dim strFXlA1 As String
Dim strFXlR1C1 As String

'1:1
strRowCol = Excel.ActiveCell.Row & ":" & Excel.ActiveCell.Column
'$A$1
strTXlA1 = Excel.ActiveCell.Address(True, True, Excel.XlReferenceStyle.xlA1)
'R1C1
strTXlR1C1 = Excel.ActiveCell.Address(True, True, Excel.XlReferenceStyle.xlR1C1)
'A1
strFXlA1 = Excel.ActiveCell.Address(False, False, Excel.XlReferenceStyle.xlA1)
'R[1]C[1]
strFXlR1C1 = Excel.ActiveCell.Address(False, False, Excel.XlReferenceStyle.xlR1C1)
'A$1
Debug.Print Excel.ActiveCell.Address(True, False, Excel.XlReferenceStyle.xlA1)
'R1C[1]
Debug.Print Excel.ActiveCell.Address(True, False, Excel.XlReferenceStyle.xlR1C1)
'$A1
Debug.Print Excel.ActiveCell.Address(False, True, Excel.XlReferenceStyle.xlA1)
'R[1]C1
Debug.Print Excel.ActiveCell.Address(False, True, Excel.XlReferenceStyle.xlR1C1)


This page is powered by Blogger. Isn't yours?