ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3496688 ACCESS VBAテーブルレコードの存在チェック
質問者:UKUJIMA ACCESS初心者です。
ACCESS VBAでレコードの削除をコーディングしました。
但し、ワークファイル(wk11_月)がないと異常終了します。
そこで、存在チェックを追加したいのですが、コーディングがわかりません。ご存知の方、宜しくお願いします。
'<レコード削除>
strsql = "DROP TABLE wk11_月"
rst.Open strsql, cn, adOpenKeyset, adLockOptimistic
困り度:
  • 困っています
質問投稿日時:
07/11/07 10:46
この質問に対する回答は締め切られました。

回答良回答20pt

ANo.1 If TC(TableName) Then
  ・・・・
  削除
  ・・・・
End IF

というやり方でよけりゃ・・・。

[イミディエイト]
? TC("tab1")
True
? TC("tab2")
False

TC関数はテーブルの有無をチェックする関数です。

Public Function TC(ByVal TName As String) As Boolean
On Error GoTo Err_TC
  Dim rstTable As DAO.Recordset

  Set rstTable = CurrentDb.OpenRecordset(TName)
  TC = True
Exit_TC:
  Exit Function
Err_TC:
  Resume Exit_TC
End Function

ADOX.Catalog を利用してチェックするのが常套手段かも知れませんが出来りゃ良しということで・・・。
回答者:Husky2007
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
07/11/07 11:39
この回答へのお礼すばらしい。
ありがとうございます。
Dim rstTable As DAO.Recordset
でエラーになりましたが、
Dim rstTable As ADO.Recordset
でOKでした。
DAOとADOの違いが何なのか理屈は、わかりませんが、、、
勉強します。