職場のコンピューターに同僚がパスワードをかけ、本人が心当たりのパスワードを入れても解除されず使えなくなっており困っています。アクセスを削除してインストールし直してもかかったままです。レジストリをいらって何とか解除できないものでしょうか?

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

A 回答 (5件)

本当のことを言うと、Accessのパスワードは簡単に解除できます。


でもそれはここでは書けません。
このくらいでカンベンしてください。
    • good
    • 1

 残念ながらパスワードがわからないとそのMDBは開けません。

バイナリエディタなどを使って見つける方法はあるらしいんですが、それを公開するとセキュリティの意味がないのでMicrosoftも公開はしないでしょう。

 Accessのバージョンがわかりませんが2000でしたらOfficeがインストールされているフォルダの「Office」フォルダの「MS Access Workgroup Administrator」を起動してSystem.MDWを別の場所などに新規に作り直してください。他のバージョンでは「ワークグループ管理」だったと思います。これで他のセキュリティのかかっていないMDBは開く事が出来ます。
 Accessのセキュリティはこの「System.mdw」と各MDBの両方で管理されていますので両方の条件が合わないと開く事が出来ません。
    • good
    • 0

>コンピューターを再セットアップするしかないんですね?



んーと回答が正しく理解されていないようなんですが、まずは冷静に、状況を補足しましょう。
millionwalkerさんもおっしゃってますが、質問文だけだといったいどの部分のパスワードなのか全然わかりません。
私はMSアプリのカテゴリでACCESSということなので#2のような回答をしました。
しかし再インストールしろとは一言も書いていません。

『職場のコンピュータにパスワードをかけた』
『アクセスを削除してインストールしなおした』
『レジストリをいじる』
この辺がしっちゃかめっちゃかです。
重要なのは、どうやってパスワードを設定したのかです。最低でもそのことは補足しましょう。特に名詞はできる限り正確に。
質問文ではアプリケーションなのかOSなのかすらあやふやです。

もしMS-ACCESSで自作のデータベースに対してパスワードをかけ、そのパスワードを忘れたとしたらその情報はデータベース本体であるMDBファイルに記録されますので『正しいパスワードを入れない限りナニをやっても無駄』でしょう。
外部テーブルとして参照してみるという手も有るかもしれませんが、それもオープンにパスワード聞かれたら一緒ですしね。
    • good
    • 0

MSアプリのカテゴリなのでMS-ACCESSのことだと思いますが、残念ながらパスワードを忘れたとしたら開けることは不可能だと思ったほうがいいですね。


それが破れてしまうとしたらパスワードの意味が無いですから・・・
それとACCESSで設定するパスワードはMDBファイルの方に入りますので、レジストリをいじったり再インストールしても無駄でしょう。

心当たりのあるパスワードを大文字小文字を確認しながら入れていくしかないと思います。

#質問文からはMS-ACCESSというアプリケーションに対する質問には見えないんですが・・・
    • good
    • 0
この回答へのお礼

返事ありがとう。
本人もいろいろ入れて試しているようなんですが、だめなようです。
もう一度同じ言葉でも大文字小文字で違うなら、そこに注意して試してもらいます。それでもだめなら、
コンピューターを再セットアップするしかないんですね?

お礼日時:2001/03/16 07:05

問題がどこにあるのかよくわかりません。


「Access」というのがMicrosoft Accessのことをさすのか、ファイルアクセスのことをさすのか。どんなOS環境(「レジストリ」が登場しているので、ある程度まで絞れますが)なのか。パスワードは何のパスワードなのか。
もう少し詳しく教えてもらえませんか。
    • good
    • 0

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

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

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

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

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

QACCESS2010 データベースパスワードの解除

お世話になります。

ACCESS2010で、以前に設定したログインパスワードが不要になったため、解除しようと試みてます。

ファイル、情報の下には、データベースパスワードの設定は表示されていますが、データベースパスワードの解除を見つけることが出来ません。

また、すべてのコマンドに、データベースパスワードの解除を探しに行きましたが、見つかりません。

どのようにしたら、データベースパスワードの解除が可能になりますか?お教え下さい。

よろしくお願いいたします。

Aベストアンサー

開こうとすると添付図のようなのが出てくるのでしょう?
なら、データベースパスワードの設定ではなく
ユーザーレベルセキュリティの設定を行ってしまったのでしょう。
記憶は戻ってきませんか?

ログオンは可能か、可能の場合には管理者権限はあるか。
現在のファイル形式(mdb か accdb)。
どのように設定したか。
で、対処方法は変わって来るかと思います。

とりあえず、Ctrl + G を押してイミディエイトウィンドウを出し、
?syscmd(acSysCmdGetWorkgroupFile)
と入力してから、Enter キー で返って来る文字列の最後はSystem.mdwでしょうか?
↓参考になりそうなところ
ユーザー レベルのセキュリティを削除する (MDB)
http://office.microsoft.com/ja-jp/access-help/HP005188240.aspx

※弄繰り回す前にオリジナルのファイルと
拡張子mdw(上記Syscmdで得られたもの)のバックアップは取っておかないと
ひどい目に遭う場合もあります。

QAccessのDB起動時パスワードの解除方法

特定のAccessのDBを起動した時にパスワードを設定しました。
パスワードを入力しなくてもAccessDBを起動出来るようにしたいのですが、
どなたか、ご存知ないでしょうか?
よろしくお願いします。

Aベストアンサー

MDBをAccessで開き、メニューのツールからセキュリティ→データ-ベースパスワードの解除でできます。

QACCESS IIF関数 複数条件の設定について

 選択クエリにおいて、あるフィールド「 X」 のレコード数値が
 
  0<[X]<=50   であれば A 
  50<[X]<=100  であれば B 
  100<[X]<=150  であれば C

 と表記させるフィールド「Y」を追加したいと考えています。
 この場合、Yのフィールド設定で指定する数式についてご教授願います。

 一応、
  IIf(0<[X]<=50,"A","") Or IIf(50<[X]<=100,"B","") Or IIf(100<[X]<=150,"C","")

  としましたが、実行すると、Yの列がすべて「-1」と表記されてしまいます。

 何卒よろしくお願いいたします。

Aベストアンサー

a)IIF関数で対応する場合:
 IIF関数の第2引数または第3引数に、IIF関数を入れ子とする必要があります。

式: IIF([X]<=0, "", IIF([X]<=50, "A", IIF([X]<=100, "B", IIF([X]<=150, "C", ""))))


b)別の組込関数を使用する場合:
 IIF関数は二択ですので入れ子にする必要がありますが、Accessのクエリで
 使用できる、似た機能の関数に、Switch関数というものもあります。
 これであれば、入れ子にする必要がなくなります。
 (詳しくは、Accessのヘルプを参照下さい)

式: Switch([X]<=0, "", [X]<=50, "A", [X]<=100, "B", [X]<=150, "C", True, "")


なお、数学あるいは一般生活では確かに「0<[X]<=50」という表記をしますが、
Accessの関数などではこれだと正しい結果が得られません。
正しく認識させるためには、等号・不等号を挟んだ式は、「左辺」と「右辺」の
2つの要素からなる形にする必要があります。
(「0<[X]<=50」は「[X]>0 And [X]>=50」と分割してやる、と)

但し、今回のご質問のような『連続した範囲』であれば、前(左)で既出となる
式の要素で「[X]<=0」が「真(=-1)」とならなかった時点で、「[X]>0」が保証
されますので、上記のように、「[X]>0」を省略して「[X]<=50」だけを条件として
指定すればOk、ということになります。
(「0<[X]<=50」の次が「80<[X]<120」などのように、「50~80」が欠けた
 場合は、省略ができない、と)


【参考】
「0<[X]<=50」は、このままだと「0 < ([X]<=50)」という式と解釈されます。
この場合、「[X]<=50」は、「真(=-1)」か「偽(=0)」か「Null」のいずれかに
なります。
何にせよ、「0<[X]<=50」全体として「正(=-1)」となることがないため、
ご質問の式では、IIF関数は常に第3引数に指定された値「""」を返す
ことになります。

この結果、式全体としては「"" Or "" Or ""」という形となり、「0かNull」
以外なので、「真(=-1)」という値が返された、ということです。

なお、Nullについては、以前、他の方の質問につけた回答も、併せて参考までに:
http://oshiete.goo.ne.jp/qa/4850675.html

a)IIF関数で対応する場合:
 IIF関数の第2引数または第3引数に、IIF関数を入れ子とする必要があります。

式: IIF([X]<=0, "", IIF([X]<=50, "A", IIF([X]<=100, "B", IIF([X]<=150, "C", ""))))


b)別の組込関数を使用する場合:
 IIF関数は二択ですので入れ子にする必要がありますが、Accessのクエリで
 使用できる、似た機能の関数に、Switch関数というものもあります。
 これであれば、入れ子にする必要がなくなります。
 (詳しくは、Accessのヘルプを参照下さい)

式: Switch([X]<=0, "", [X]<=50, "A"...続きを読む

QAccessのRefresh・Requery・Repaintの違い

Requeryはもう一度ソースレコード(テーブル)を読み込むようです。このとき、テーブルの先頭レコードに移動してしまいます。
Refreshは最新のレコード(テーブル)を再表示するような気がします。レコードの移動は起こらない気がします。
Repaintは、VBAでキャプションなどを変更したとき使っています。
でも、よくわかっていません。
どんなときにどんなメソッドを使えばいいのでしょうか?
詳しい方、よろしくお願いいたします。

Aベストアンサー

たびたびすみません。
調べてたらこんなのがでてきました。
http://www.nurs.or.jp/~ppoy/access/access/acF007.html

参考URL:http://www.nurs.or.jp/~ppoy/access/access/acF007.html

QVBAプロジェクトのロック解除が出来ない

VBAのプロジェクトが勝手にロックされてしまい解除出来なくなってしまう件についての質問です。

症状としては、何か特定の作業を行ったという訳ではなくVBAプロジェクトのロックが掛かってしまい、内容が表示されなくなってしまうといったものです。
(私の場合は何度かこの症状になり、復活させたファイルでも違う状況で同様の症状が発生しました。)

他の質問掲示板等も拝見しましたが、多くの回答は「ロックされているんだから正しいパスワードを入れなければ解除できない」というものでした。

しかしこの質問者達の置かれている状況はおそらくこれとは違うものなのだろうと考えられます。

そのロックの解除パスワードを入力するはずの画面すら表示されないのです。

私も現在あるmdbがこの状態になってしまい困っています。

通常パスワードでのロックが掛かっている場合ではモジュールの画面でパスワードを入力するウィンドウが表示される場面で、「プロジェクトがロックされています。プロジェクトを表示できません。」というウィンドウが表れます。

一度キャンセルをして、[ツール] → [×××のプロパティ]でも同様です。


この状態は、何らかの原因でファイルが破損してしまった、という事なのでしょうか?

またもしファイルの破損であるとした場合、どういった事が原因で発生する可能性があるのでしょうか?


よろしくお願いいたします。

VBAのプロジェクトが勝手にロックされてしまい解除出来なくなってしまう件についての質問です。

症状としては、何か特定の作業を行ったという訳ではなくVBAプロジェクトのロックが掛かってしまい、内容が表示されなくなってしまうといったものです。
(私の場合は何度かこの症状になり、復活させたファイルでも違う状況で同様の症状が発生しました。)

他の質問掲示板等も拝見しましたが、多くの回答は「ロックされているんだから正しいパスワードを入れなければ解除できない」というものでした。

しか...続きを読む

Aベストアンサー

ひょっとしたらですが、Access2000とAccess2003が混在した環境で、そのmdbファイルを
使用していませんか?
(ここでいう「混在」は、1つのPC上の共存だけでなく、LANで接続された別のPCにそれぞれ
 一方のみがインストールされている場合も含みます)

もしそうでしたら、デジタル署名がらみのバグに引っかかった可能性が考えられます。
(私も、職場のAccessのバージョンが2000から2003に上がった際に、これに当たりました)


下記を参考に、「回避策」を実行してみてください。
(機械翻訳のため、ややわかりにくい表現ですが・・・「プロジェクトは、 unviewable です。」
 =「プロジェクトを表示できません。」です)
http://support.microsoft.com/kb/823225/ja

簡単に言うと、「2003で一旦デジタル署名をつけてから、再び削除」という操作になります。

QExcelからパスワード付きAccess

現在 パスワードが設定されたAccessファイル(accdb形式)のデータをExcelに取り込むプログラムを作成しています.
接続時のプログラムは以下のように記述しました.

Dim cn As New ADODB.Connection
Dim cnStr As String, dbDir As String, Pswd As String

dbDir = "c:\test\test.accdb"
Pswd = "pass"
cnStr = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & dbDir & ";" & _
"Jet OLEDB:Database Password=" & Pswd & ";"
cn.Open cnStr

上記でexcel2003及び2007からaccdbに接続したところ問題なくデータ取得できました.
excel2010で上記プログラムを実行すると
「パスワードが正しくありません」
と表示され,データが取得できません.

このような場合,どうすれば解決出来るでしょうか?

現在 パスワードが設定されたAccessファイル(accdb形式)のデータをExcelに取り込むプログラムを作成しています.
接続時のプログラムは以下のように記述しました.

Dim cn As New ADODB.Connection
Dim cnStr As String, dbDir As String, Pswd As String

dbDir = "c:\test\test.accdb"
Pswd = "pass"
cnStr = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & dbDir & ";" & _
"Jet OLEDB:Database Password=" & Pswd & ";"
cn.Open cnStr

上記でexcel200...続きを読む

Aベストアンサー

Access Excel ともに2010で試しました。
パスワード・・のエラー発生。
ググリまくると
http://www.access-programmers.co.uk/forums/showthread.php?t=220521
Franz Haidacher さんによれば
Access2010 から採用された既定の暗号化方法(高度なセキュリティ)は
ADO OLEDB では接続できないようです。

Accessのオプションのクライアントの設定から
以前の暗号化方法を使用するに変更したうえでパスワードを設定するしか
現在のところ方法がなさそうです。
(-"-)
DAOなら・・・と試しましたが同じく orz

QAccessで別テーブルの値をフォームに表示したい

初めてのAccessで分からない事があり質問させてください。

<会社テーブル>
会社ID
会社名
住所

<社員テーブル>
会社ID
社員名
ソート番号

*1社に対し複数の社員レコードが存在

以上のようなテーブルがあるとします

現在「会社テーブル」を表形式で一覧表示しています
会社ID,会社名、住所とフィールドが並んでいるのですが、その後ろに「社員テーブル」のソート番号が一番若い社員名を表示したいと考えています(現状は番号関係なく表示させる方法すら分かりません)

色々いじくりまわしたのですが、初めてAccessをさわる事もあってよくわかりません

リレーション等でひっぱってくる事ができるのでしょうか?

どなたか教えて頂けませんでしょうか

何卒よろしくお願い致します

PS.Access2013で作成中です

Aベストアンサー

単純にテーブル[会社]のみでフォームを作成し、社員表示用テキストボックスを追加。そして、そのプロパティを表示し

コントロールソース=DBLookup("SELECT 社員名 FROM 社員 WHERE 会社ID=" & [会社ID] & " ORDER BY ソート番号")

これは、以下の標準モジュールに登録したユーザ関数 DBLookup()を使っています。これで、クエリを用意しなくても目的を達成できます。

さて、かかるユーザ関数を標準ライブラリに登録したくない場合、

1、"社員ソートクエリ"を作成します。

SELECT 社員.会社ID, 社員.社員名
FROM 社員
ORDER BY 社員.ソート番号;

2、コントロールソースに次のように書きます。

=DLookUp("社員名","社員ソートクエリ","会社ID=" & [会社ID])

http://office.microsoft.com/ja-jp/access-help/HA001228825.aspx

DLookup()については、マイクロソフトの解説を参照されてください。

【DLookup()の限界を破るにはVBAで同じ関数を作るしかない】

マイクロソフトの解説を読めば判りますが、ORDER BY 節を指定する引数が用意されていません。ですから、どうしても、"社員ソートクエリ"を作成するという手間が必要となります。そこで、SQL文を引数とするDBLookup()をVBAで書けば、その手間を省けるという算段になります。この辺りは、好みと趣味の問題。どっちでも良いと思います。そういうお断りをした上で DBLookup()を紹介しておきます。なお、ADOは、つぎのように参照設定しないと利用できません。

http://www.happy2-island.com/access/gogo03/capter00307.shtml

Public Function DBLookup(ByVal strQuerySQL As String, _
             Optional ByVal ReturnValue = Null) As Variant
On Error GoTo Err_DBLookup
  Dim DataValue
  Dim rst     As ADODB.Recordset

  Set rst = New ADODB.Recordset
  With rst
    .Open strQuerySQL, _
       CurrentProject.Connection, _
       adOpenStatic, _
       adLockReadOnly
    If Not .BOF Then
      .MoveFirst
      DataValue = .Fields(0)
    End If
  End With
Exit_DBLookup:
On Error Resume Next
  rst.Close
  Set rst = Nothing
  DBLookup = IIf(Len(DataValue & ""), DataValue, ReturnValue)
  Exit Function
Err_DBLookup:
  MsgBox "SELECT 文の実行時にエラーが発生しました。(DBLookup)" & Chr$(13) & Chr$(13) & _
      "・Err.Description=" & Err.Description & Chr$(13) & _
      "・SQL Text=" & strQuerySQL, _
      vbExclamation, " 関数エラーメッセージ"
  Resume Exit_DBLookup
End Function

単純にテーブル[会社]のみでフォームを作成し、社員表示用テキストボックスを追加。そして、そのプロパティを表示し

コントロールソース=DBLookup("SELECT 社員名 FROM 社員 WHERE 会社ID=" & [会社ID] & " ORDER BY ソート番号")

これは、以下の標準モジュールに登録したユーザ関数 DBLookup()を使っています。これで、クエリを用意しなくても目的を達成できます。

さて、かかるユーザ関数を標準ライブラリに登録したくない場合、

1、"社員ソートクエリ"を作成します。

SELECT 社員.会社ID, 社員.社員名
FR...続きを読む

QACCESS側からEXCELの書式を設定するには?

ACCESSからEXCELにエクスポートした際、ACCESS側でEXCELの書式設定は行えますか?(例:セルAの幅がX桁等)

データ件数が多すぎて、下記VBでエクスポート処理をしています。

DoCmd.TransferSpreadsheet acExport, 8, "XXX", "\XX.xls", False, ""

お手数ですが、ご教授願います。

Aベストアンサー

例えばボタンにエクスポートの処理を書いているのでしたら
ボタンをCmd1とすると

Private Sub Cmd1_Click()
On Error GoTo Err_Cmd1_Click

Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet

DoCmd.TransferSpreadsheet acExport, 8, "XXX", "\XX.xls", False, ""

Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("\XX.xls")
Set xlSheet = xlBook.Worksheets(1)

xlApp.Cells.Select
xlApp.Cells.EntireColumn.AutoFit
xlApp.Range("A1").Select
xlApp.Visible = False

xlApp.Quit

Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing

Exit_Cmd1_Click:
Exit Sub

Err_Cmd1_Click:
MsgBox Err.Description
Resume Exit_Cmd1_Click

End Sub

こんな感じで記述してください。

#1の中でxlApp.DisplayAlerts = False これは除いてください。保存しますかのメッセージが出ます。

例えばボタンにエクスポートの処理を書いているのでしたら
ボタンをCmd1とすると

Private Sub Cmd1_Click()
On Error GoTo Err_Cmd1_Click

Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet

DoCmd.TransferSpreadsheet acExport, 8, "XXX", "\XX.xls", False, ""

Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open("\XX.xls")
Set xlSheet = xlBook.Worksheets(1)

xlApp.Cells.Select
...続きを読む

Qフォームを開くときに、コンボボックスの値を選択(アクセスVBA)

こんにちは。
アクセスVBAで、フォームを開いたとき
(フォームのOpenイベント)に、
コンボボックスの値を選択したいのですが、
どういう方法が、あるでしょうか。

理想は、
フォームのOpenないし、Loadイベント内で、
コンボ0.ItemData(2).Selected
と、書くような感じです。
(無論、Selectedは使えませんでした)。

よろしくお願いします。

Aベストアンサー

これでいいのかな?
※テキスト書きなので検証していません

If コンボ0.ListCount > 0 Then
  コンボ0.Value = コンボ0.Column(0, 2)
End If

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

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

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

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

Aベストアンサー

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


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

人気Q&Aランキング