Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1815 / 2272 ツリー ←次へ | 前へ→

【5133】リンク先がない場合の対応 nemotake 05/5/27(金) 10:13 質問[未読]
【5134】Re:リンク先がない場合の対応 小僧 05/5/27(金) 10:44 回答[未読]
【5137】Re:リンク先がない場合の対応 nemotake 05/5/27(金) 12:23 お礼[未読]

【5133】リンク先がない場合の対応
質問  nemotake  - 05/5/27(金) 10:13 -

引用なし
パスワード
   If INRs!月1 = True Then
  設定年A 設定年 * 100 + 1
  名前 = "D:\顧客データ\" & 設定年 & ".mdb"
  DoCmd.TransferDatabase acLink, "MICROSOFT ACCESS" ,名前,acTable,"顧客テーブル",顧客テーブル"
  Docmd.OpenQuery "顧客抽出"
  Docmd.DeleteObJect acTable,"顧客テーブル"
End If

と上記の処理した場合、リンク先がなかったらエラーで処理がとまってしまいます。
リンク先がなかった場合、エラーにならない方法ってあるんですか?
大変申し訳ないのですが、記述の方法を教えてください。
よろしくお願いします。

【5134】Re:リンク先がない場合の対応
回答  小僧  - 05/5/27(金) 10:44 -

引用なし
パスワード
   ▼nemotake さん:
こんにちは。
以下がヒントになりますでしょうか?

'※要 「Microsoft DAO x.x Object Library」 参照

Sub 他のDBのテーブル参照()
Dim MFile As String
Dim RS As DAO.Recordset
Dim SQLCode As String

  MFile = "D:\顧客データ\" & 設定年 & ".mdb"
  SQLCode = "SELECT NAME " _
      & "FROM MSysObjects " _
      & "IN '" & MFile & "' " _
      & "WHERE (((MSysObjects.Type)=1) AND ((MSysObjects.Flags)=0));"
  
  Set RS = CurrentDb.OpenRecordset(SQLCode)
    Do Until RS.EOF
      Debug.Print RS(0)
      RS.MoveNext
    Loop
    RS.Close
  Set RS = Nothing
End Sub

他にはエラートラップでも対応できると思われます。

【5137】Re:リンク先がない場合の対応
お礼  nemotake  - 05/5/27(金) 12:23 -

引用なし
パスワード
   ▼小僧 さん:
ありがとうございます。
早速やってみます。

1815 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078264
(SS)C-BOARD v3.8 is Free