2024年1月30日火曜日

vbaでmenuシートを作成したときにパラメタのセルが指定されている(空白でない)かを判定する方法

vbaでmenuシートのセルA19にパラメタのセルが指定されていると仮定し、そのセルが空白でないか(指定されているか)を判定する方法は、こんな感じだ。

Dim paramSpecified As integer
    paramSpecified = 0
    If WorkSheets("menu).Range("A10").Formula <>"" then pramSpecified = 1

2024年1月7日日曜日

vbaでsqlを使う時の小さいけれども大事なこと。

 vbaでsqlを使う時の小さいけれども大事なこと。

  1. sqlのキーワードの前後、または片方に半角の空白を入れておく。
    • 例えば、SELECT*FROMMEMBERS;では、キーワードが認識できず、エラーとなる。SELECT * FROM MEMBERS;とするため、キーワードのSELECTの後やFROMの前後に半角の空白を意識して入れてあげるのだ。文字列の連結を繰り返していると、つい、忘れがちだ。意識して半角の空白を入れること、これが大事だ。
  2. sql文の記述にはダブルクウォート(")を使い、その中の文字列にはシングルクウォート(’)を使う。
  3. テーブルの内容といった結果、即ちrecordsetを返すsql(例えば SELECT)にはrs.open strSQLを使い、そうでなければ(例えばINSERT)cm.execute strSQLを使う。
'(1)
strSQL = ""
strSQL = strSQL & " SELECT "
strSQL = strSQL & "*" 
strSQL = strSQL & " FROM MEMBERS;"
'(2)
strSQL = ""
strSQL = strSQL + " INSERT "
strSQL = strSQL & " (NO,NAME) "
strSQL = strSQL & " VALUES(1,'田中');"