• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:accessのセキュリティ)

Accessのセキュリティについての質問

venzouの回答

  • venzou
  • ベストアンサー率71% (311/435)
回答No.10

>キャンセルや閉じた場合、テーブルも一緒に削除する方法はあるのでしょうか? Form_Openをキャンセルした場合は、Closeイベントが発生しないので、下記の場所でも、リンクテーブルを削除するようにして下さい。 '入力なき時は、フォームオープンをキャンセルします。 If varname = "" Then Cancel = True 'ここでもリンクテーブルを削除します DeleteLink "*********" End If ------------------------------------------------------------ 入力用のMDBを強制終了した場合などに、リンクテーブルが残る場合があるので、下記の関数を少し修正しておきます。 CreateLinkで、テーブルが存在した場合にエラーになるので、削除して作り変える様に変更。 DeleteLinkで、テーブルが存在しない場合にエラーになるので、その修正。ついでにDAOを使うように変更しました。 Public Sub CreateLink(strName)  Dim tdf As DAO.TableDef  DeleteLink strName  Set tdf = CurrentDb.CreateTableDef(strName)  tdf.Connect = "MS Access;DATABASE=" & MdbPath & ";PWD=" & PassWord & ";"  tdf.SourceTableName = strName  CurrentDb.TableDefs.Append tdf End Sub Public Sub DeleteLink(strName)  Dim tdf As DAO.TableDef  For Each tdf In CurrentDb.TableDefs   If LCase(tdf.Name) = LCase(strName) Then    CurrentDb.TableDefs.Delete strName    Exit For   End If  Next End Sub

Armadillo5
質問者

補足

もう、完璧です。。 venzou様のご好意と文章力に感謝致します。 実際に作業を想定してやってみたのですが、冒頭でお話させていただいたアルバイト10名程度の入力を開始すると、一人がフォームを開けると、テーブルが開きっぱなしになってしまって他の人がフォームを開けないのです。 正直mdeというファイルが詳しく分かっていないので、venzou様に言われたときから少し後回しにしてるんです。それとなにか関係があるのでしょうか?mdeなら複数入力が可能とか。 御蔭様で今のところ他のことは全てクリアしてます!

関連するQ&A

  • ACCESSのセキュリティ

    旅行会社の個人情報をACCESSで管理しています。 アルバイト数名が個人情報を何万と入力しているのですが、バイトでも他の部署の人間でも簡単に今まで入力した個人情報を閲覧できてしまいます。シフト押しながらでないとテーブルを見れないようにはしていますが、気休めでしかありません。バイトを信用してないわけではないのですが、どうしてもサイクルが早いので危惧してしまいます。 テーブルのみにパスワードを入れるのは不可能だと言われましたが、何かいい手はありませんでしょうか。 ACCESS自体にパスワードを付けると、バイトが入力するときにパスワードがいるので本末転倒なのです。 ご教授お願い致します。

  • ACCESSテーブルにパスワード

    ACCESSのテーブルだけにパスワードをかけたいのですが、方法はあるでしょうか? 自分なりに調べた結果、テーブルのみはプログラムで作る方法しかないとのことでした。 データベースにパスワードを入れると、フォームで入力する不特定多数の人間にパスワードを教えないといけないので、本末転倒となってしまいます。 プログラム以外で方法はあるのか? プログラムでするにはどういうプログラムか? お手数ですがご教授お願い致します。

  • アクセスの構築、スマートなやり方教えてください。

    初心者でうまく説明できないかもしれませんが、 添付アクセスでNo1,2,3とテーブルをクエリでフォームを作りました。 1の社員番号を入力すると名前が呼び出され、 2の所属コードを入力すると部署。。。が呼び出されます、 3は資格コードをいれると資格名。。。が呼び出されるようにしました。 1にも所属コードを入力してあり1と2のリレーションを所属コードで結んでます、 これで困ったのが社員番号は変わらないのですが、所属コードは部署名が 変わったり変わったり人も部署の異動で変わります、 このままだと、部署の異動があった場合、入力してあるデータの修正が必要に なります、 次にやったのは1と2を一つのテーブルにしました、しかし、これも部署名が変わった時 社員数分変更をしなければなりません、本当なら変わった部署を修正し1と2をあとで 一緒にできるといいのですが、 1と2のテーブルをクエリで一緒にして3のテーブルと合わせてフォームを作ったところ 入力ができなくなりました、 添付の1と2を別なテーブルで出来て、部署名など変更になったり、部署の異動の時 過去のデータを修正せずにすむ構築教えてください。

  • access2000のサブフォーム同士の連携

    お願いします。教えてください。 テーブル(1)部署(2)社員(部署とリンク)(3)顧客(社員とリンク) で作っていて、メインフォームを部署でつくりそこにサブフォームで社員をデータシートで出しています。更に部署のフォームでサブフォームをつくり顧客をフォームで出したいのです。 社員をクリックすると、その社員が抱えている顧客が出てくるという形にしたいのですが、できるでしょうか? クリックして別のフォームを現在出しているのですが、部署のフォームのサブフォームとして出したいのですが。。。 お願いします。

  • ACCESS2003 セキュリティについて

    こんにちは。 ACCESS2003で、ワークグループを設定してセキュリティをかけました。 違うパソコンにACCESSが入っていないため、2007のランタイムをインストールしてデータベースを見られるようにしているのですが、セキュリティをかけてもパスワードを求められることもなく、データの書き換えができてしまいます。 どのようにすれば、ランタイムで起動したデータベースのアクセスを制限できるのでしょうか?

  • Accessで、ある行を並び替えた後に採番したい。

    初心者です。よろしくお願いいたします。 ACCESSで顧客データがあります。 部署、名前、住所・・・・といったテーブルを元 にして作成した入力フォームがあります。 ところが、最近になってデータごとにIDを振る ことになりました。しかも「まずは部署でソートを かけてから採番する」ということになりました。 通常でしたら、テーブルにオートナンバー型のフィールドを作成すればいいと思うのですが、その前に「部署」フィールドでソートをかけないといけないのです。 (1) データを追加する (2) 部署でソートをかける (3) (2)の状態で採番 ・・・・という流れにしたいのです。なので データを追加するたびに必ず最後に最新の状態 で採番し直す!と言った感じです。 上記のような方法はありますでしょうか。 よろしくお願いたします。

  • 助けてaccess!

    アクセスで顧客データを作っています。 クエリ上のデータとテーブルのデータ(サブフォームで)を引っ張り、「入力フォーム」を作成したのですが、新規情報を入れようとすると、「フィールドを更新できません」とエラーが出ます。しかしEnter Keyを3回たたく(このエラーが3回でる)となぜか入力ができるようになります。そしてその後保存もできます。 この現象はなぜ出るのでしょうか?そして解決方法をどなたか教えてください。よろしくお願いします。

  • ACCESS2000でセキュリティーをかけたいのです。

    ACCESS2000を利用しています。セキュリティーをかけたいのですが、ツール→セキュリティーウィザードを利用してチャレンジしてみたのですが、基本がわからないせいか、うまくいきません。 データにアクセスする時に「名前」と「パスワード」だけはできたのですが、基本的なことが不明な為、サブフォームが見えなくなったり、フルアクセスにすると全部変更や削除ができて、セキュリティーの意味がなくなったりと四苦八苦しています。 ・フォーム毎に利用できるもの許可したりするのは可能でしょうか? (フォームの中でも、サブフォーム1・2共に見ることは可能で、サブフォーム1は変更可。サブフォーム2は変更不可といったこともできますでしょうか?) どなたか、ご教授お願いいたします。 最終的には、このセキュリティーを利用してデータベースに入り、ユーザー名を(表示)して、更新を行うと、そのユーザー名を取得して、テーブルに保存したいのですが、可能でしょうか? よろしくお願いいたします。

  • Access にパスワードをかけたい

    Access にパスワードをかけたい Access で、データ分割ツールを使い、”テーブルデータ”と”フォーム”にファイルを分けました。 その場合のパスワードのかけ方がわかりません。 やりたい事は、テーブルのファイルをパスワードを知っている人しか見れないようにしたいです。 ます、テーブルのファイルに、排他的モードで開き、”セキュリティ”の項目をたどってパスワードをかけました。 そして、フォームのファイルを開こうとすると、”パスワードが違います”と表示されます。 そこで、フォームファイルを、テーブルファイルの手順で、パスワードをかけました。 もちろん、テーブルファイルと同じパスワードです。 その後に、フォームを開いて見ました。 それでも、”パスワードが違います”と表示されます。 質問は、ファイルを分割した場合、どのようにパスワードをかければいいのでしょうか? よろしくお願いします。

  • Access2003でのフォーム作成について(再度です)

    民宿の顧客管理をAccessでしようかと思っています。 氏名、住所、来客日などのフィールドを持つ顧客テーブル。 来客日、その日の献立1~17までを持つ日別献立テーブル。 この2つのテーブルからクエリーを作成し、 それを基にフォームを作ってデータを両方のテーブルに振り分けしようとしたんですが、うまくいきません。 クエリーで来客日同士を結ぶとデータは表示されますが新規の入力が出来ません。 顧客テーブルの顧客ID(オートナンバー)と 日別献立テーブルに顧客ID(数値型)を挿入し、2つを結んでも一方のデータしか表示されません。 おかしいとは思いますが、何がおかしいかわかりません。 何か良い方法があればお教え下さい。