プロが教えるわが家の防犯対策術!

顧客管理にACCESSを使用していたのですが、
あることをしてから正常に動作しなくなってしまいました。
ACCESSについては詳しくないため質問させてください。

あることというのが、
デスクトップにショートカットを作成してそこから使用していたのですが、
先日、間違えて元のデータを削除してしまったのです。
もちろん元のデータを削除すれば使えなくなってしまうのは当然だと思うのですが、
デスクトップからショートカットを開くと一見通常通りの顧客管理の画面が
開きます。
ただし保存しようとしたり、リストから項目を選択しようとすると
(リストの中身は空になっています)

エラー3044
パス○○○は正しくありません。パス名に間違いがないことと、ファイルが
置かれたサーバーに接続されていることを確認してください。

というエラーが表示されます。

修復は出来ないだろうという前提でお聞きしますが、
このような場合、再び使えるようにすることは可能なのでしょうか?
今までのデータは戻らずとも、せめて再び入力が可能に出来ればと
思っているのですが・・・
よろしければご回答をお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

こんにちは。



ACCESSではデータ部分と入出力部分(入力画面、帳票フォーム)を別のファイル(*.mdb)として作成し、入力部分からデータ部分へデータの読み書きをするように作られている場合があります。
そういう場合は通常ユーザーは入力画面を開くのでデータ部分を開くので、一見無くなっていないように見えるかもしれません。でも、データ部分のファイルが無いのでデータの出し入れをするコマンド(マクロ・クエリ・VBAなど)が実行できなくなります。

ファイル自体が無くなっているので、入力だけでもと言っても現状では無理でしょう。再び使用するには新しくデータベースとしてのmdbファイルを作成しなければなりません。その場合、テーブルの仕様・構成などが解らなければ、現存する入力用のファイルとの連携がとれなくなりますので、開発者さんにお話されて仕様書などを頂くか、もう一度ファイルを作成してもらうしかないでしょう。もしかしてもしかしたら、どこかにバックアップを取るような構造になっているかもしれませんが、どちらにしても開発者さんにお話されないとどうしようもないでしょう。

もうひとつは、間違って削除したファイルを復元することができれば、元に戻せるかもしれないことです。私は実際にやったことがないので保証はできませんが、下記に参考URL載せておきます。

参考URL:http://freesoft-100.com/pasokon/recovery.html
    • good
    • 0
この回答へのお礼

だいぶ昔から使っているプログラムだったため
開発者の方がどなたか分からない状態です・・・
とりあえず教えて頂いたソフトで復元できるか試してみて、
無理であれば諦めようと思います。
ご回答ありがとうございました^^

お礼日時:2007/04/12 14:55

おそらく、プログラムのmdbとデータのmdbで、2つに分かれています。



プログラムのmdbからデータのmdbを参照するように作られていて、質問者さんが消したのはデータのmdb、デスクトップにはプログラムのmdbへのショートカットが置かれています。

プログラムのmdbは無傷で残っているので、プログラムのmdbは起動可能です。つまり、顧客管理の画面は出ます。

しかし、何かのデータを読み書きしようとすると、間違って消したデータのmdbを参照しに行ってファイルが無いので「エラー3044」が出ます。

再び使えるようにするには「データ用mdbのバックアップをリストアして元に戻す」か「消したのと完全に同一のデータ用mdbを新規に最初から作成しなおす」の2つの方法しかありません。

つまり、バックアップしてあるデータ用mdbを元に戻すか、プログラム用mdbを作成した人に「データ用のmdbファイルを間違って消しちゃったから作り直して」と頼むしかありません。自分だけでどうにかするのは不可能です。
    • good
    • 0
この回答へのお礼

だいぶ昔から使っているプログラムだったため
開発者の方がどなたか分からない状態です・・・
とりあえずデータが復元できるか試してみて、
無理であれば諦めようと思います。
ご回答ありがとうございました^^

お礼日時:2007/04/12 14:54

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qアクセス2000 パス名に間違いが。。。

パス”\\130.~~~~~~~.mdb"は正しくありません。
パス名に間違いがないこととファイルが置かれたサーバーに接続していることを
確認してください というメッセージが出ます。

前任者が作成しているデータベースをおかしくしてしまい、
バックアップでとっていたものを名前を変えて、デスクトップにショートカットでおきました。

それが原因なのでしょうか?
名前を変えてしまうなんて、ありえないことなんでしょうか?

ご指導よろしくお願いします。

Aベストアンサー

\\と2回\が続く文字列から始まっているのは、
そのファイルがローカルネットワーク上にファイルが存在していることを示している
のだと思います。特に\\から次の\までの文字列が130.x.y.zとなっている(右記で
x, y, zは0~255までの数字)場合、その文字列はIPアドレスです。
そうでない場合は、共有名でしょう。

一つ上のフォルダーは..(.が2つ)ですね。

何にしても、そのショートカットのプロパティ画面から「ファイルの場所を開く」
をクリックしてみては?

もし、そのファイルが保存されているフォルダが、件のファイルが選択された状態で
表示できた場合は、僕の手には負えません。

上記でエラーが出力される場合は、取りあえず以下を実施して下さい。
1.まずEtherケーブルを確認してOKなら、2.へ。NGならケーブルを接続して、もう
 一度前述のプロパティ画面云々を実施。
2.コマンドプロンプトを立ち上げて
ping 132.x.y.z
 と打ってみる。132.x.y.zは前述したIPアドレスです。(IPアドレスでなく共有名
 でもよかったかも? ちょっと自信ない。)
 「100%の損失」とか表示されたら、そのIPアドレスが割り振られているPCが
 起動されていない可能性が高い。PCを起動して(ついでにケーブルも確認。
 NGなら接続)、もう一度上記を実施。
 「0%の損失」とか表示されたら、もう一度プロパティ画面云々を実施。

上記で、もう一度プロパティ画面云々を実施した時に、エラーが出力されなければ
起動できるはず。

以上

\\と2回\が続く文字列から始まっているのは、
そのファイルがローカルネットワーク上にファイルが存在していることを示している
のだと思います。特に\\から次の\までの文字列が130.x.y.zとなっている(右記で
x, y, zは0~255までの数字)場合、その文字列はIPアドレスです。
そうでない場合は、共有名でしょう。

一つ上のフォルダーは..(.が2つ)ですね。

何にしても、そのショートカットのプロパティ画面から「ファイルの場所を開く」
をクリックしてみては?

もし、そのファイルが保存されているフォルダが、...続きを読む

QACCESSのエラーについて

ACCESSで在庫の管理をしています。
外付けのハードディスクの中に、データを置いていて、
数台のパソコンで管理をしています。
変更など何も行っていないのですが、

パス '\\・・・・\data\●●_data.mdb'は正しくありません。パス名に間違いがないことと、ファイルが置かれたサーバーに接続していることを確認してください。

以上のエラーが出てしまいます。
下記試してみた作業です。どなたかお分かりになる方お願いします。
ACCESSの設定は3年ほど前で、それからずっと同じ場所にデータを
置いています。そのほか環境などは何も変わっていません。

(1)ハードディスクの電源を入れなおして、再度立ち上げました。
 そのほかに入っているデータは開くことが出来ます。
(2)何台かネットワークでつながっているパソコンからみても、
 すべて同じ状況です。

とても困っています。
どなたかお分かりになる方、教えてください。

Aベストアンサー

参考URLをご覧ください。
(1)リンクテーブルの更新を行う。
(2)検索でパスが見つかったら、新しいパスに書換える。


XPの場合、アドミ権限でログインして作業していますか?
外付けHDDのパスは確認していますか?(カードリーダーライターやUSB機器を接続することにより変更されていることがあります。

参考URL:http://www.accessclub.jp/bbs3/0107/superbeg37893.html

QAccessのリンク先を相対パスにしたい

Access2010をつぎのような環境で開発しています。

c:\開発\データ.accdb  テーブル定義と実データ格納
c:\開発\アプリ.accdb  データ.accdbのテーブル定義へのリンクとフォームなど

これを本番のネットワーク環境 “\\network\本番” に設置した場合、
「c:\開発\データ.accdbは無い」旨のエラーになってしまいます。
また、本番環境のパス名はインストール先によって異なります。

Access2010のリンクマネージャでは絶対パスでのリンクしか定義できないようですが、
カレントパスに変更するには、アプリ.accdb を起動時に毎回、動的に変更するしかないのでしょうか?

お教えいただきたくお願いいたします。

Aベストアンサー

データ.accdb と アプリ.accdb が同じフォルダ内にあって
アプリ.accdb のリンク先を
その同じフォルダ内のデータ.accdbに設定するのなら、
VBAになりますが、アプリ.accdb に(例は標準モジュールです)

Sub reLink()
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Dim lnkPath As String
Dim i As Integer

lnkPath = CurrentProject.path
Set db = CurrentDb
For Each tdf In db.TableDefs
If Len(tdf.Connect) <> 0 Then
tdf.Connect = ";DATABASE=" & lnkPath & "\データ.accdb"
tdf.RefreshLink
End If
Next
db.TableDefs.Refresh
End Sub

というのを一回実行すればリンク先が変更されます。

ただ、アプリ.accdb も共有フォルダ内に置いて、みんなが使うのは、
アプリ.accdb が壊れる可能性が高まる。
アプリ.accdb のデータもネットワークを流れるのでパフォーマンスが良くない。
という点でお勧めできません。
アプリ.accdb は各ユーザーに配布して使ってもらった方が吉。
データ.accdb のバックアップも抜かりなく。

データ.accdb と アプリ.accdb が同じフォルダ内にあって
アプリ.accdb のリンク先を
その同じフォルダ内のデータ.accdbに設定するのなら、
VBAになりますが、アプリ.accdb に(例は標準モジュールです)

Sub reLink()
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Dim lnkPath As String
Dim i As Integer

lnkPath = CurrentProject.path
Set db = CurrentDb
For Each tdf In db.TableDefs
If Len(tdf.Connect) <> 0 Then
tdf.Connect = ";DATABASE=" & lnkPath & "\データ.accdb"
tdf...続きを読む

QAccessでテーブル名やクエリ名一覧の抜き出し

Accessでテーブルやクエリを沢山(100個以上?)使っております。

そこで、テーブル名やクエリ名の管理をしたいので、テーブル名(クエリ名)の一覧を抜き出したいのですが、どうすればいいのでしょうか?
または、そういうことは無理なのでしょうか??(;O;)

1個づつコピーペーストでテールブル名をエクセルに貼り付けて行こうかな?と思ったのですが、さすがに数が多すぎるので困っております。

できるだけ簡単な方法がいいのですが、もしなければVBAでもいいです。

おわかりの方がいらっしゃいましたら、よろしくお願いします。

Aベストアンサー

・クエリを新規作成
・以下SQLを貼り付け
SELECT MSysObjects.Type, MSysObjects.Name, MSysObjects.Flags
FROM MSysObjects
ORDER BY MSysObjects.Type, MSysObjects.Name;
・デザインビューで表示
あとは、TypeとFlagsの条件を変えてあげれば一覧できます。

Qクエリで「データ型が一致しません」と表示される

クエリ1とクエリ2をクエリ3で結合するとクエリ3で「データ型が一致しません」と表示されます。

クエリ1のSQL文
SELECT Trim(Replace([PC管理台帳.使用者氏名]," ","")) AS 式1, PC管理台帳.新PC名, PC管理台帳.部署名, PC管理台帳.マシンベンダ名, PC管理台帳.マシンモデル
FROM PC管理台帳;

クエリ1では[使用者氏名]の苗字と名前のスペースを置換しました。

クエリ2のSQL文
SELECT 職員アカウント.職員番号, Trim(Replace([職員アカウント.氏名]," ","")) AS 式1, 職員アカウント.パスワード, 職員アカウント.メールアドレス
FROM 職員アカウント;

クエリ2では[氏名]の苗字と名前のスペースを置換しました。

クエリ3で[使用者氏名]と[氏名]が一致しているものを抽出したいです。

ちなみにクエリ3のSQL文は
SELECT [クエリ2].[式1], [クエリ2].[職員番号]
FROM クエリ1 INNER JOIN クエリ2 ON [クエリ1].[式1]=[クエリ2].[式1];

これでクエリ3をひらくと
「データ型が一致しません」
と表示されます。

どなたかアドバイスお願いします

クエリ1とクエリ2をクエリ3で結合するとクエリ3で「データ型が一致しません」と表示されます。

クエリ1のSQL文
SELECT Trim(Replace([PC管理台帳.使用者氏名]," ","")) AS 式1, PC管理台帳.新PC名, PC管理台帳.部署名, PC管理台帳.マシンベンダ名, PC管理台帳.マシンモデル
FROM PC管理台帳;

クエリ1では[使用者氏名]の苗字と名前のスペースを置換しました。

クエリ2のSQL文
SELECT 職員アカウント.職員番号, Trim(Replace([職員アカウント.氏名]," ","")) AS 式1, 職員アカウント.パスワー...続きを読む

Aベストアンサー

「データ型が一致しません」のエラーが発生するパターンのひとつに、『結合に使用している演算
フィールド(ご質問の件では式1が該当)の結果がエラーとなるレコードが含まれている』というのが
あります。
クエリ1・クエリ2の式1にはReplace関数が使われていますが、Replace関数の第1引数にNullを
指定すると、エラーになります。
従って、恐らく「PC管理台帳」テーブルの「使用者名」か、「職員アカウント」テーブルの「氏名」の
どちらか(或いは双方)が、空欄(Null)になったままのレコードがある可能性があります。
(なお、Trim関数は、第1引数がNullであってもエラーになりません)

上記推測が当たっていれば、
 a)上記フィールドが空欄になっているレコードをなくす
  (その上で、今後のことを考えると値要求を「はい」に設定しておくことをお勧めします)
 b)式1の関数を下記のように変更する
のどちらかの対応をされれば、ご質問のエラーは解消されるものと思います。


式1の変更で対応する場合は、それぞれ以下のようにしてみてください:
(「[PC管理台帳.使用者名]」と「[職員アカウント.氏名]」は、それぞれ「[PC管理台帳].[使用者名]」と
 「[職員アカウント].[氏名]」の誤記と判断して記述しています)

クエリ1:
Select Replace(Nz([PC管理台帳].[使用者氏名], ""), " ", "", 1, -1, 1) As 式1, PC管理台帳.新PC名, PC管理台帳.部署名, PC管理台帳.マシンベンダ名, PC管理台帳.マシンモデル From PC管理台帳;

クエリ2:
Select 職員アカウント.職員番号, Replace(Nz([職員アカウント].[氏名], ""), " ", "", 1, -1, 1) As 式1, 職員アカウント.パスワード, 職員アカウント.メールアドレス, From 職員アカウント;


Nz関数は、第1引数がNull(=文字列扱い不可の空白)だった場合に、第2引数の値に置換する関数
です。第2引数に「""」(空文字=文字列扱い可の空白)を指定することで、Replace関数がエラーに
なるのを回避しています。
Replace関数の一番最後の引数「1」は、半角/全角を区別させないためのものです。これにより、
スペースは全て削除されるため、Trim関数は不要になります。
(その前の「1, -1」は、それぞれ開始位置と置換する文字数の指定です。この辺りは、詳しくは
 ヘルプを確認して下さい)

「データ型が一致しません」のエラーが発生するパターンのひとつに、『結合に使用している演算
フィールド(ご質問の件では式1が該当)の結果がエラーとなるレコードが含まれている』というのが
あります。
クエリ1・クエリ2の式1にはReplace関数が使われていますが、Replace関数の第1引数にNullを
指定すると、エラーになります。
従って、恐らく「PC管理台帳」テーブルの「使用者名」か、「職員アカウント」テーブルの「氏名」の
どちらか(或いは双方)が、空欄(Null)になったままのレコードがある可能性があ...続きを読む

QOfficeアクセス テーブル「テキスト型」⇒「日付型」への変換について

テーブルにデータが保管されており、そのフィールドの一つに「テキスト型」で”20080301”のようなデータを持っています。これを「日付/時刻型」”2008/03/01”のように変換したいのですが、どのようにすればよいのでしょうか。

※ちなみにこのオリジナルデータは毎日、自動的にテーブルにダウンロードされており、このテーブル自体の型を予め「日付/時刻型」に変換すると、日々のデータ取得時にエラーとなってしまいます。ですので、「日付/時刻型」のフィールドを持った新規のテーブルに、この”20080301”のデータを変換し格納したいのですがどのようにすればよろしいでしょうか。

テーブル⇒デザインより、該当のフィールドの型を「テキスト型」⇒「日付/時刻型」へ直接変換してしまうと、「データの変換中にエラーが発生しました。○○件のレコードのデータが失われました。」と表示されます。素人のため、なるべく追加クエリや更新クエリや簡単な関数のみでの方法を教えていただけたら幸いです。

Aベストアンサー

テーブルに日付時刻型フィールドを追加して、
更新クエリを使って、#1さんが提案されている
数式を使えばよいのでは?

Q「いずれか」と「いづれか」どっちが正しい!?

教えて下さいっ!
”どちらか”と言う意味の「いずれか」のかな表記として
「いずれか」と「いづれか」のどちらが正しいのでしょう???

私は「いずれか」だと思うんですが、辞書に「いずれか・いづ--。」と書いてあり、???になってしまいました。
どちらでもいいってことでしょうか?

Aベストアンサー

「いずれか」が正しいです.
「いづれ」は「いずれ」の歴史的かな遣いですので,昔は「いづれ」が使われていましたが,現代では「いずれ」で統一することになっていますので,「いずれ」が正しいです.

QSub ***( ) と Private Sub ***( ) の違い

初歩的な質問で申し訳ありませんが・・・

自分でコードを書いていても、イベントが発生したりした時の処理で、コードのウィンドウで上のドロップダウンリストで選択できる時の処理などは自動的に[Private Sub Command1_Click( )]などと出てくるのでそのまま使っています。自分で別途プロシージャーを作成する時は[Sub ****( )]としています。
ですがその違いを理解しないまま、自分で作成する時は[Private Sub]ではなくて[Sub]を使っています。

Sub ***( ) と Private Sub ***( ) の違いは何なんでしょうか?
どなたか説明頂けませんか?
よろしくお願いします。

Aベストアンサー

「Sub」の部分にカーソルを置いて[F1]を押せばヘルプが起動します。
「指定項目」のところに「Public」と「Private」の説明がありますよ。
省略して「Sub hogehoge()」とした場合は「Public」とみなされます。

Publicは「すべてのモジュールから呼び出せるプロシージャ」ということになります。
Privateとすると「同じモジュールの中からしか呼び出せないプロシージャ」となります。

もしExcelをお持ちでしたらExcelのVBEで標準モジュールを追加し、「Sub Test1()」と「Private Sub Test2()」を作成してみてください。
そしてExcelの[ツール]-[マクロ]-[マクロ(Alt+F8)]でマクロ実行のダイアログを表示させてみるとわかります。
ここには実行できるプロシージャの一覧が表示されますが、Test1は表示されているけれどTest2は表示されません。
Test1はPublicで、Test2はPrivateだからです。

Qアクセスのデータ型。数値型についてお聞きしたいのですが・・・

アクセスのデータ型。「数値型」ですが、「フィールドサイズ」に

(1)バイト型(0~255の範囲。小数点以下の数値は扱えない)
(2)整数型(-32,768~32,767の範囲。小数点以下は扱えない)
(3)長整数型(-2,147,483,648~2,147,483,647の範囲。小数点以下は扱えない)
(4)単精度浮動小数点型(-3.402823×10^38~3.402823×10^38の範囲。
            小数点以下の数値が扱える)
(5)倍精度浮動小数点型(-1.79769313486231×10^308~-1.79769313486231×
           10^308の範囲。少数点以下の数値が扱える)
(6)十進型(-10^28-1~10^28-1の範囲。小数点以下の数値が扱える)

と6種類決められますが、それぞれの「選び方の違い」と「その理由」を
教えてください。

たとえば、(1)~(3)くらいなら分かります。
扱える数値の桁数が違うということですよね?で、(1)~(3)を選ぶ時と(4)~(6)を
選ぶときで大きな違いというと、「小数点以下の数値が扱えるかどうか」
ですよね?そういう認識であっているか・・・ということと、上記の(1)~(6)を
「選び分ける必要がある場合」というのを教えてください。

なぜ、このような6種類に分かれているのか、人に説明しないとなりません。

よろしくお願い致します。m(_ _)m

アクセスのデータ型。「数値型」ですが、「フィールドサイズ」に

(1)バイト型(0~255の範囲。小数点以下の数値は扱えない)
(2)整数型(-32,768~32,767の範囲。小数点以下は扱えない)
(3)長整数型(-2,147,483,648~2,147,483,647の範囲。小数点以下は扱えない)
(4)単精度浮動小数点型(-3.402823×10^38~3.402823×10^38の範囲。
            小数点以下の数値が扱える)
(5)倍精度浮動小数点型(-1.79769313486231×10^308~-1.79769313486231×
           10^308の範囲。少...続きを読む

Aベストアンサー

整数型と浮動小数点型の大きな違いは、少数点以下の数字を扱えるかどうかで合っていると思います。
補足すると、浮動小数点型の方が整数型より大きい数字が扱えます。
長整数型なら21億くらいまでしか扱えませんが、浮動小数点型なら、兆、京・・・と非常に大きい数字が扱えるようになります。
有効数字として、どのくらいのケタを保持できるかが、精度になります。
倍精度は単精度の倍の精度です(当たり前ですが)

コンピュータが2進数で数字を表現していることはご存知のことだと思いますが、2進数で少数を表す場合、必ずしも10進数の少数と一対一に対応するわけではありません。2進数を10進数に直すのはnビットめの数字(0,1)*2のn乗の和ですが、少数の場合は-n乗になります。つまり1/2+1/4+1/8っていうような感じになります。0.75だったら、1/2+1/4で表現できますが、0.3とかになると1/4+1/32+・・・という感じできっちり表現しきれないので、0.299・・・という近似値になります。

それで問題があるようでしたら、十進型を使えば?ってことだと思います。

整数型と浮動小数点型の大きな違いは、少数点以下の数字を扱えるかどうかで合っていると思います。
補足すると、浮動小数点型の方が整数型より大きい数字が扱えます。
長整数型なら21億くらいまでしか扱えませんが、浮動小数点型なら、兆、京・・・と非常に大きい数字が扱えるようになります。
有効数字として、どのくらいのケタを保持できるかが、精度になります。
倍精度は単精度の倍の精度です(当たり前ですが)

コンピュータが2進数で数字を表現していることはご存知のことだと思いますが、2進数...続きを読む

Q「○○○.ldb」のAccess レコード ロック情報←このファイルが消えません

windows-nt、officeはAccess2003です。

Access97から2003に変換したファイルを、なんら問題なく、半年使っていました。
メンテナンスは「shift+enter」の排他モードで開き、度々行っていました。

ですが突然いつものように、メンテをして閉じたのですが、「Access レコード ロック情報」のファイルが消えません。
ファイルを全て閉じても、このファイルのユーザーが自分になったままになっています。
レコードロック情報のファイルを消したいのですが、どうしたらよいでしょうか??

もぅ、ギブアップです・・・

説明がうまくなくて、申し訳ありませんが、どなかた解決して頂けたらと思います。
宜しくお願い致します!!

Aベストアンサー

ldbファイルは共有データベースでロックされているレコードとロックしているユーザーを特定するために使用されます。最後のユーザーがデータベースを終了するとldbファイルは自動的に削除されますがmdbに損傷などある場合は残ってしまうことがあります。ldbファイルにはデータベースを開いているユーザーの一覧が含まれている程度なのでldb ファイルが存在する場合は対応するmdbファイルを閉じてから削除します。
削除が出来ない場合はPCを再起動してください。再起動して残っている場合。削除できるはずです。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング