あなたはあなたがVFP6を持っていると言います...私はVFPを開くことから始めます。コマンドウィンドウで、次のように入力します
CD "C:\wherever Your Application Data is" (enter)
use Message SHARED (enter)
browse normal (enter)
データの内容を確認できれば、ファイルに破損はありません。
これは明らかに、このような古いアプリケーションの最近の問題です。「共有」モードでファイルを開くことに言及した場合。ファイルを開くためのコードが追加されましたか?もしそうなら、「メッセージ」テーブルはすでに開かれていて、同じエイリアスで使用されていましたか?もしそうなら、それはそれが失敗する原因になります。2つの異なる作業領域で、同じ「エイリアス」名で同じテーブルを開くことはできません。この場合、次のようなことを行うことで解決できる可能性があります...
if used( "Message" )
select Message
else
select 0
use Message
endif
... continue with rest of code...
コメントごと/フィードバック
それがサーバーのシャットダウンによるものである場合、ファイルが無効な切断からユーザーによってロックされているように見える前に、私は見たことがあります。場合によっては、すべてのユーザーがログアウト/ログインし直して、サーバーへのすべてのリソースを強制的に解放する必要がありました...しかし、実際のSERVERをシャットダウンして再起動した場合、ユーザーセッションはとにかくクリアされます。サーバーがまだTHINKSでMessage.dbfテーブルが開いているのは誰かを確認します。さらに、必要に応じて、すべてのユーザーを追い出し、VFPのテーブルを手動で排他的に使用します。
また、データが配置されているフォルダー全体の単純なコピー/貼り付けを介してバックアップを実行します...次に、VFPを起動し、次の手順を実行します...
cd "whatever path"
use Message EXCLUSIVE
PACK
use
それがデータベースの一部であった場合、データベースは何らかの理由で/どこかで破損している可能性があります。それをテストするには...
cd "whatever path"
close all
open database YourDatabase Exclusive
Validate Database
そしてそれがあなたに何を与えるかを見てください
..。
もう1つコメント。NetWare(Novell)についておっしゃっていますね。私が過去に見たもの...最近システムから(つまり、NetWareから)削除されたユーザーはいますか?その場合、ファイルは元々「そのユーザー」によって作成されたものであり、そのユーザーがいなくなると、そのファイルで何かを行うためのすべての権限も失われます。管理者としてログインし、すべてのファイルを選択して、それらのファイルの「所有権を取得」するのが最善の方法です。管理者が追加/編集の制限を受けることはなく、ユーザーとして削除することもできないため、この問題が再び発生することはありません。繰り返しになりますが、私が歴史から思い出したもう1つのオプションは、問題の一部である可能性があります。