アクセス 既にファイルが開いているのなら開かない(二重起動防止)とするには?
自分なりにコードを考えてみたのですが
Sub Sample()
Dim acApp As Access.Application
Set acApp = CreateObject("Access.Application")
acApp.OpenCurrentDatabase "C:\test.accdb"
'該当のファイルが開いてないのなら、
If acApp.ReadOnly = False Then
acApp.Visible = True
acApp.UserControl = True
End If
End Sub
これだと、.ReadOnlyがコンパイルエラーになります。
どうやらReadOnlyはアクセスには用意されてない用語のようです。
このような場合どうすればいいでしょう?
No.1ベストアンサー
- 回答日時:
Accessファイルがローカルにあるのなら
ファイルを開けば拡張子が
accdb → laccdb
mdb → ldb
のファイルが作成されますので、Dir 関数で調べるのが一番簡単です。
ただし、排他モードで開いた場合は上記ロック情報のファイルは作成されません。
また、Accessが異常終了した場合には上記ファイルは残ったままになることも有り。
別案としては
Dim Ac as object
set ac=getobject("C:\test.accdb").application
・・・以下省略
などもありますが、Accessを前面に持ってくる必要があったりします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Excel(エクセル) フォルダ内のワードファイルをPDFに一括変換するVBA 3 2023/06/09 16:51
- その他(プログラミング・Web制作) VBSでExcelファイル起動時、重複しても開くのを止めたい 1 2022/10/01 23:20
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Visual Basic(VBA) あるフォルダーのファイルを違う親フォルダーのサブフォルダーに移したい 11 2023/02/15 19:00
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- Visual Basic(VBA) エクセルのマクロについて教えてください。 3 2023/02/22 08:53
- Visual Basic(VBA) InputBoxでキャンセルボタンを押したらファイル自体を閉じたい 3 2022/07/23 17:52
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
Accessで二重起動できないようにしたい
Access(アクセス)
-
VBAで二重起動を防止したいのですが、
その他(Microsoft Office)
-
mdbファイルの2重起動は可能でしょうか?
Word(ワード)
-
-
4
EXCELのマクロの重複起動の禁止
Excel(エクセル)
-
5
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
6
エクセルの二重起動をやめたい
Visual Basic(VBA)
-
7
別のAccessファイルのフォームを開くには
Access(アクセス)
-
8
VBAで既に開いている別アプリケーションのオブジェクトを得る
Visual Basic(VBA)
-
9
実行時エラー -2147217900 ADODBでレコードセットオープン時エラー
Access(アクセス)
-
10
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
11
ACCESS──メインフォームでサブフォームのレコード件数をカウントしたい
Access(アクセス)
-
12
VBでファイルが開かれているかどうかを確認したい
Visual Basic(VBA)
-
13
起動時のフォームの大きさ?
Access(アクセス)
-
14
【Excel VBA】マクロでExcel自体を終了させたい
Excel(エクセル)
-
15
Access サブフォームでの選択行の取得
その他(データベース)
-
16
アクセスVBAのMe!と[ ]
Access(アクセス)
-
17
クエリ実行結果0件の場合のフォーム展開中止とメッセージ表示
Access(アクセス)
-
18
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
19
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
20
AccessVBA RecordSourceのリセットについて
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
自分で作成した重要ファイルを...
-
#include <Windows.h>というヘ...
-
アクセス 壊れた? 「ファイ...
-
exeファイルが作れない(windows10)
-
jarファイル
-
binファイルを解凍したいの...
-
C言語---ファイルに出力したデ...
-
Batファイルをバイナリ形式にす...
-
VBSが起動しない
-
iniファイル
-
Latexで図番号だけを「図1.1」...
-
VB.NET ファイルの種別取得方法
-
【VBS】 iniファイルの特定部...
-
フレーム境界線を動的に移動。
-
フォルダ内にあるファイル全て...
-
HTMLを正しく表示させるには
-
参照するファイルをワイルドカ...
-
fstatでファイルがリンクかどう...
-
公文書のxmlファイルの開き方が...
-
CSSを1ページに1枚作るのって変...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセス 壊れた? 「ファイ...
-
C#でログファイルにファイルパ...
-
binファイルを解凍したいの...
-
#include <Windows.h>というヘ...
-
Latexで図番号だけを「図1.1」...
-
.NETアプリを作ったときの .man...
-
exeファイルの中身を見る方法は...
-
C言語---ファイルに出力したデ...
-
CSSを1ページに1枚作るのって変...
-
jarファイル
-
コマンドプロンプトで、指定し...
-
自分で作成した重要ファイルを...
-
コマンドプロンプトで作成日時...
-
バッチ処理で追記コピーしたい
-
ファイルが開かれているかどう...
-
VBSが起動しない
-
公文書のxmlファイルの開き方が...
-
監視ツールを入れさせられまし...
-
Seasar2のdiconファイルの読み方
-
ファイル名にドットを使ったフ...
おすすめ情報