ラベル VBA の投稿を表示しています。 すべての投稿を表示
ラベル VBA の投稿を表示しています。 すべての投稿を表示

2013年6月28日金曜日

VBAから接続時に"クエリが時間切れになりました"エラー [SQLServer]

SQLServerにVBAから接続したときに"クエリが時間切れになりました"とエラー



----------------------------------------------

Set con = CreateObject("ADODB.Connection")

'タイムアウト時間なし
con.CommandTimeout = 0

~SQL実行処理~

---------------------------------------------

でタイムアウトなしに。


やっぱり表示データ少なくして対応・・・

2013年6月25日火曜日

変数宣言のときに初期化されない [VBA]

VBAって変数宣言のときに初期化されない???

ループの1週目はNullなのに2週目以降にNullに戻ってないし・・・

-------------------------------------------------
Do While True

  '変数宣言

  Dim testRange As Range

  ~色々処理~

  If testRange Is Nothing Then

    ~色々処理~

  End If

Loop
-------------------------------------------------


どっかのセルを最初に入れといてそれを初期値でいいか↓
-------------------------------------------------
Do While True

  '変数宣言

  Dim testRange As Range

  '初期値でどっかのセルを入れておく
  Set testRange = Range("A1")

  ~色々処理~

  '最初に入れたセルなら初期値のまま
  If testRange = Range("A1") Then

    ~色々処理~

  End If

Loop
-------------------------------------------------

ちゃんと検証してないけどSet系の変数だけかな?


変数宣言しなくても良い言語だもんね・・・

2013年6月12日水曜日

VBA高速化のため描画・自動計算を止める [VBA]

VBAで計算式がいっぱい入ったExcelシートにデータベースの情報を表示するプログラム書いたんだけど・・・・・


一つずつ表示する毎に、描画して、自動計算してってやるからおっそい!

目で追える・・・



止める方法あった

------------------------------------------------

'画面の描画を停止

Application.ScreenUpdating = False


'Excelの自動計算をとめる
Application.Calculation = xlCalculationManual



'イベントの発生をとめる
Application.EnableEvents = False


~~処理~~


'最後に元に戻す

Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
Application.ScreenUpdating = True

-------------------------------------------------



むっちゃ早くなった!