システムwiki

エラー52:ファイル名または番号が正しくありません

SFB_T_H 受付中 最終更新日:2022-03-17 13:15

エラー52:不正なファイル名または番号が表示されますユーザーが新しいユーザーアカウントでMicrosoftソフトアクセスデータベースを開こうとすると、古いユーザーアカウントでも同じコンピューターから開くことができます.両方のユーザーが同じアクセス権を持っていますファイル.この問題を解決するにはどうすればよいですか?
windows 10

Microsoft365.

以下の日本語でごめんなさい.

オプション比較データベース

関数copy_kick()
'ExcelはfirstSolarisの有をチェックします.文字列としての薄暗いExpFolder
ExpFolder= Left(Environ( "Windir")、3)&"Local\☆☆☆☆☆☆☆☆_3rd.ldb"
オブジェクトとしての薄暗いFSO
FSO= CreateObject( "Scripting.FileSystemObject")
を設定しますFSO.FolderExists(ExpFolder)=Falseの場合
MkDir(ExpFolder)
Ifを終了
FSO=なしを設定

If Dir(ExpFolder&"\☆☆☆☆☆☆☆☆_3rd.ldb")<>"" Then
'


2016.11.28 Y.F TestStart
'MsgBox( "これはにれは開始プログラムので、プログラム処理を終了します!")
'DoCmd.Quit
'ダブルスタートノーアイスタートキャンセル確認書
'(※前の投稿の強制終了を検討するし、可能性(いいえ入)・・・設定ボタン:はい橋)
MsgBox( "開始入ので、この処理を終了します!" _
&vbCrLf_
&vbCrLf&"※繰り返してプログラムを開始していないことを確認します機会、いいえでないします..." _
、vbYesNo + vbDefaultButton1)= vbYes Then
DoCmd.Quit
Ifを終了
'
2016.11.28 Y.F TestEnd
終了する場合

DoCmd.Echo Fales

'プログラムファイルのコピー
Dim strPassA As String
Dim strPassB As String
strPassA= CurrentDb.Name
strPassB= Left(strPassA、InStrRev(strPassA、 "\")-1)
FileCopy strPassB&"\プログラム\☆☆☆☆☆☆☆☆_Win7.mdb"、ExpFolder&"\☆☆☆☆☆☆☆☆_3rd.ldb"

'ローカルプログラムキック
Dim stAppName As String
stAppName= "Msaccess.exe"&ExpFolder&"\☆☆☆☆☆☆☆☆_3rd.mdb"
Shell(stAppName、1)を呼び出す
DoCmd.Quit

'DoCmd.Echo True

終了機能

返信リスト(回答:6)

5 #
TomvanS

申し訳ありませんが、実際、日本人は何が起こっているのかを知ることを事実上不可能にしています.
関数が1つなのか2つあるのかさえわかりません.

このコードの目的を説明できますか?

デバッガーでこのコードをステップ実行するとどうなりますか?どこで失敗しますか?

c:\localは、誰もがアクセスできるフォルダではない場合があります.c:\users\public\[your_app]をお勧めします

応答5# ->にスキップ
6 #
SFB

こんにちは、

返信ありがとうございます.

ユーザーが古いユーザーアカウントで開くと、エラー52:不正なファイル名または番号が添付された写真1と表示されます


添付の写真2をデバッグをクリックすると

応答6# ->にスキップ
3 #
TomvanS

2番目の図で、Dir括弧内の式を検討すると、そのフォルダーは存在しますか?ファイル名が日本語の文字で始まっていることに気づきました.

テストとして、ファイル名とコードからその文字を省略した場合はどうなりますか?

応答3# ->にスキップ
4 #
SFB

申し訳ありませんが、ファイルの所有者が去り、ファイル名とコードがどこにあるのかわかりません.
どの部分を省略すべきか教えていただけますか?

応答4# ->にスキップ
1 #
TomvanS

(申し訳ありませんが、あなたほど日本語のアルファベットはわかりません)

あなたには次のような表現があります:

Dir(ExpFolder&"[Y] SparePartsSearch_Program_3rd.ldb")

[Y]はあなたの日本語のキャラクターです.

それが実際にファイル名の一部であるかどうか、またそうであれば、そのファイルをコピーして[Y]なしで名前を変更し、それがより適切に機能するかどうかを確認できるかどうか疑問に思いました.

応答1# ->にスキップ
2 #
SFB

その[Y]は\と同じです.したがって、ファイル名の一部ではありません.
削除してみましたが、うまくいきませんでした.そこにあるすべての[Y]を削除する必要がありますか?