sql >> データベース >  >> RDS >> Access

2019年の一般的なアクセスに関する10の問題のトラブルシューティング方法

    ここでは、最も一般的な10のMicrosoftAccessの問題とその解決策を示します。問題がこのリストにない場合でも、希望をあきらめないでください。問題が発生している場合は、他の誰かがすでに問題を抱えており、解決策を見つけている可能性があります。そのため、インターネットは貴重なリソースです。 これは正常ではありません。空のAccessテーブルを正規化します (データベースを構築するときに最も重要な)最も難しいことの1つは、テーブル構造を適切に構築することです。このプロセスは、正規化と呼ばれます。 適切に正規化されたデータベースには、冗長な情報を含むテーブルが1つだけあるべきではありません。次の表について考えてみます。顧客 ジョーンズ ジョーンズタウン ジョーンズ ジョーンズタウン スミス ララミー 理由 ウィルソン ジョーンズ CA
    住所 都市 状態 ジップ 電話
    125メインストリート NJ 08000 609-555-1244
    125メインストリート NJ 08000 609-555-7890
    1542ジョーンズハイウェイ 82051 307-555-5412
    78スミスサークル 90000 451-555-8645
    冗長な情報が表示されますか?その通りその通り。それは顧客の名前と住所です。冗長性の原因は何ですか?もう一度!これは、顧客のジョーンズの2つの電話番号です。このテーブルを正規化する正しい方法は、テーブルを2つのテーブルに分割することです。1つは顧客の名前と住所の情報用で、もう1つは電話番号用です。これにより、Customersテーブルの2番目のJonesレコードを繰り返す必要がなくなります。

    空のテーブルの正規化で問題が発生した場合は、各テーブルに5〜10個のレコードを入力してください。通常、データを含むテーブルを表示すると、正規化の問題を簡単に見つけることができます。

    テーブルの正規化を開始する方法は次のとおりです。
    1. 現在構造化されている各テーブルを調べます。 (前に住所と顧客名で見たように)不必要に情報を繰り返していませんか?
    2. 重複する情報がある場合は、それを繰り返す理由を特定します(たとえば、1人の顧客の複数の電話番号)。
    3. 1つのテーブルを2つのテーブルに分割して、冗長性を排除します。
    4. すべての冗長性がなくなるまで、テーブルごとに手順1〜3を繰り返します。

    1つのテーブルを2つに分割しても、テーブルのすべての冗長性が排除されない場合があります。その場合、すべての冗長性がなくなるまでテーブルを分割し続けます。

    73.725と入力しましたが、Accessによって74に変更されました

    自動丸めは、生きている昼光をイライラさせる可能性がありますが、修正は簡単です。デフォルトでは、Accessはすべての数値フィールドを長整数を受け入れるように設定します。 高校の数学の時代から覚えているかもしれませんが、整数は負または正の整数です。 小数に対応するには、フィールドサイズの設定を変更して、小数を受け入れるようにします。方法は次のとおりです。
    1. デザインビューでテーブルを開き、協力していないフィールドをクリックします。
    2. 画面下部の[プロパティ]領域の[全般]タブで、[フィールドサイズ]ボックスをクリックします。
    3. ボックスの端にある下向き矢印をクリックし、表示されるドロップダウンメニューから[シングル]、[ダブル]、または[小数]を選択します。
    4. テーブルを保存すると、自動丸めの問題は解決します。

    シングル、ダブル、および10進数のフィールドサイズの違いの詳細については、[フィールドサイズ]プロパティボックスでF1キーを押してください。ヘルプ画面には、各フィールドサイズ、保持する数値、およびそのサイズ用に予約されているスペースの量の詳細な説明が表示されます。アクセスには、ヘルプシステムを使用するためのインターネット接続が必要です。

    変化している言葉—AccessAutoCorrectの問題

    Accessのこれらの「役立つ」機能が邪魔になることがあります。そのような機能の1つは、オートコレクトと呼ばれます。あなたはそれがしばしば素晴らしいことであるMicrosoftWordからそれをよく知っているかもしれません。ただし、データベースには頭字語や部品番号などが含まれていることがよくあります。オートコレクトは、そのような「言葉」でフィールドデーを過ごすことができます。データを入力しても気付かない場合があります。

    この問題を解決するには、2つの選択肢があります。

    • 発生したオートコレクトの効果を元に戻します。 オートコレクトがデータ入力を失敗させた直後にCtrl+Zを押します。 Accessは、データを入力した方法に戻します。残念ながら、これを機能させるには、Accessが入力内容を変更したことに実際に気付く必要があります。
    • オートコレクトを完全にオフにします。 オートコレクトをオフにするには、次の手順に従います。

    1.アクセス画面の左上隅にある[ファイル]タブをクリックします。

    2.画面の左側にあるメニューの[オプション]ボタンをクリックします。

    [アクセスオプション]ダイアログボックスが表示されます。

    3.左側のリストから[校正]をクリックします。

    校正の選択肢が表示されます。

    4.[オートコレクトオプション]ボタンをクリックします。

    [オートコレクト]ダイアログボックスが表示されます。

    5。 [オートコレクト]ダイアログボックスのチェックボックスの一部またはすべてをオフにします。

    現在オートコレクトが煩わしいことをしていることに応じて、オートコレクト機能の一部またはすべてを無効にすることができます。 Accessで「スペルミス」を「修正」する必要がなくなった場合は、[入力時にテキストを置換]オプションのチェックを外します。

    6. [OK]を2回クリックして、変更を保存します。

    オートコレクトの干渉を受けずに問題のテキストを正しく入力し、入力したままにすることができるようになりました。

    以前は存在していましたが、現在はなくなっています。Accessでの偶発的なデータの削除

    これは何年にもわたってよく耳にするかもしれません。「データベースが私の記録を削除しました!」さて、私はあなたにニュースを持っています:データベースは私たち人間がそれを命令しない限り何もしません。そして、人間はいくつかの間違いを犯す可能性があります:
    • 偶発的な削除: 誤ってレコードを削除する方法はいくつかあります。通常、Ctrl + –(レコードの削除)やCtrl + X(切り取り)など、Deleteのキーボードショートカットが押されます。

    元に戻すコマンド(Ctrl + Z)は、レコードの削除を元に戻しません。

    • データエラー: レコードが表示される 誰かが特に重要な情報を誤って変更した場合は削除されます。たとえば、問題のレコードに注文日が12/15/19で、誰かが誤って日付を12/15/09に変更したとします。注文日が予想どおりではないため、レコードが削除されたように見える場合があります。
    • データエラーによってレコードが削除されたように見える場合は、次のセクションで概説するように、いくつかの修正が考えられます。

    元に戻す

    パニックにならない。他のことをする前に、Ctrl+Zを押してください。これが元に戻すコマンドです。レコードが戻ってきたら、運がいいです。元に戻すと、レコードが削除されたように見える可能性のあるデータ入力エラーが元に戻されます。ただし、これは、データ入力エラーが発生した直後に元に戻す場合にのみ機能します。

    不足しているレコードを検索

    [元に戻す]コマンドを試してもレコードが戻らない場合でも、データ入力エラーによって、予期しない場所にレコードが配置されて隠されている可能性があります。レコードを含むテーブルを開き、通常とは異なる方法でレコードを検索します。同様のレコードで通常とは異なるものを探します。次にいくつかの例を示します。
    • 通常、日付で注文を検索する場合は、クライアントで検索します。そのクライアントに不足している注文と同様の注文が存在するかどうかを確認しますおよび 日付が異常です(たとえば、注文がないのと同じ月日ですが、年が間違っています)。
    • 問題の日付のすべての注文を調べて、各注文のクライアントが正しいと思われるかどうかを確認してください。注文がないためにクライアントが誤って変更された可能性があります。

    バックアップリカバリ

    レコードがどこにも見つからない場合は、データベースファイルのバックアップからレコードをコピーします。

    このソリューションは、レコードが最初に追加されてからデータベースをバックアップした場合にのみ機能します。夜にバックアップし、レコードが失われた同じ日に入力された場合、そのレコードはバックアップに含まれません。

    Accessクエリを実行しましたが、予期しない結果になりました

    クエリライティングはアートフォームです。専門家でさえ時々台無しになります。予期しないクエリ結果に対する一般的な解決策は次のとおりです。
    • 精度の基準を確認してください。 キーストロークを1回間違えるだけで、クエリを不発弾に変えることができます。スペルまたは構文エラーの基準を確認してから、クエリを再実行してください。
    • 一意の値のプロパティを試してください。 1つだけを期待していたときに、クエリ結果に各レコードのコピーが2つ表示されたことはありますか?簡単な修正は、多くの場合、UniqueValuesプロパティを使用することで得られます。このプロパティは、Accessに、すでに2倍化を停止するように指示します。また、クエリ結果に完全な重複のグループが含まれている場合は、グループから1行のみを返すように指示します。このプロパティの使用方法は次のとおりです。

    1.デザインビューで問題のクエリを開きます。

    リボンの[デザイン]タブが表示されます。

    2.タブの[リボンの表示/非表示]グループから[プロパティシート]ボタンをクリックします。

    プロパティシートウィンドウがクエリグリッドの右側に開きます。

    3.クエリグリッドの上半分のフィールドリストの間の灰色の領域をクリックします。

    プロパティシートにクエリプロパティが表示されます。 (これを確認するには、プロパティシートのタイトルバーの真下を見てください。)

    4.プロパティシートの[一意の値]行をクリックします。

    [一意の値]行の最後にドロップダウンリストの矢印が表示されます。

    5.ドロップダウンリストから[はい]を選択して、クエリを実行します。

    ダブリングが消えるはずです。

    • 選択ロジックを修正します。 クエリで一連のAND接続とOR接続を調整すると、最も困難なデータベース設計者でさえもすぐに混乱する可能性があります。
    • テーブルの関係を修正します。 クエリ結果にwayが表示された場合 レコードが多すぎて、クエリで2つ以上のテーブルが使用されている場合、不適切な関係(結合とも呼ばれます)が原因である可能性があります。
    • テーブルの関係タイプを確認します。 クエリに2つ以上のテーブルが含まれていて、予想よりも少ないレコードを取得する場合は、テーブルの関係が正しくないことが原因である可能性があります。たとえば、注文入力データベースがあり、すべての顧客とその注文を一覧表示するクエリを実行すると、デフォルトでは、注文した顧客のみが表示されます。注文したかどうかに関係なく、すべての顧客を表示するには、次の手順を実行します。

    1.デザインビューで、結合(2つのテーブルを結ぶ線)を右クリックし、表示されるメニューから[結合プロパティ]を選択します。

    2.提供される結合のタイプを調べて、「「顧客」からのすべてのレコードと「注文」からのレコードのみを含める」のようなものを選択します。結合されたフィールドは等しい」。

    実際に表示されるテキストは、テーブルの名前によって異なります。愛好家に質問するために、これは外部結合と呼ばれます。 とてもかっこいい。

    3. [OK]をクリックして、クエリを実行します。

    これで、Ordersテーブルに対応するレコードがあるかどうかに関係なく、Customersテーブルのすべてのレコードが作成されます。

    クエリに複数の基準、いくつかの計算フィールド、および多数の関係が含まれる場合は、問題を一度に解決するのではなく、タスクをいくつかの小さなステップに分割してみてください。ステップバイステップのアプローチでは、各部分に1つずつ焦点を合わせ、次の部分に進む前にそれぞれが完全に機能することを確認できます。

    それでもクエリが機能しない場合は、他の人に調べてもらいます。私はよく難しいクエリの問題に何時間も取り組み、それを他の誰かに見せて、それらの魔法の言葉を聞きました。「それは簡単です。ただこれをしてください。」そして、問題は解決されました。問題に新たな目を向けることで、多くの場合、問題は迅速に解決されます。

    Accessの恐ろしいパラメータダイアログボックス ある時点で、クエリ、フォーム、またはレポートを開くときに、[パラメータ]ダイアログボックスを表示したくないときに[パラメータ]ダイアログボックスが表示されます。あなたは手を空中に投げて宇宙を呪いますか?もちろん違います!予期せずに[パラメータ]ダイアログボックスが表示された場合(意図的に設定できます)、Accessは、フォームまたはレポート、あるいはフォームまたはレポートの背後にあるクエリによって参照されているフィールドを見つけることができません。問題はレポートにあると言います。トラブルシューティングを行うには、レポートの背後にあるクエリから始めます。そのクエリをデータセットビューで開き、パラメータを取得するかどうかを確認します。もしそうなら、それはどの分野を求めていますか?そのフィールドは、Accessが見つけられないフィールドです。したがって、クエリをデザインビューに切り替えて、Accessが見つけられないフィールドを持つ列を見つけます。問題のフィールドは通常、他のフィールドを参照する計算フィールドです。各フィールドとテーブル名のスペルは正しいですか?そうでない場合は、スペルミスを修正してください。テーブルの各フィールドは、それが含まれることになっていますか?たとえば、参照にOrders.LastNameがあり、LastNameフィールドがCustomersテーブルにある場合は、 Customers.LastNameと入力してエラーを修正します。 。

    クエリがパラメータなしで実行される場合、問題はレポートにあります。したがって、デザインビューでレポートを開き、フィールドにバインドされているレポートの各コントロールを確認します。 Accessが、コントロールに表示されるはずのフィールドの1つを見つけられない場合、コントロールの左上隅に緑色の三角形を配置します。緑の三角形がないか、それぞれを確認してください。緑の三角形が見つかった場合は、コントロールによって参照されているフィールドのスペルを確認してください。たとえば、コントロールにLastName(スペースなし)が表示され、コントロール内の参照にLast Name(スペース)と表示されている場合は、レポートのコントロールがクエリのフィールド名と一致するようにスペースを削除します。また、レポートの基になるクエリをチェックして、クエリで問題フィールドが選択されていることを確認します。

    町で最も遅いAccessデータベース Accessデータベースは、最終的にはビジネスの共有ドライブに配置される可能性があるため、それを必要とするすべての人が利用できます。 Accessデータベース全体を共有ドライブに配置する場合の問題は、各ユーザーのワークステーションでの実行速度が遅いことが多いことです(これは個々のコンピューターのファンシーな言葉です)。また、複数の人が同時にデータベースを使用しようとすると、エラーが発生する可能性があります。苦情が出始め、どうしたらよいかわかりません。

    この問題の解決策は、Accessデータベースファイルを2つの別々のファイルに分割することです。

    • フロントエンド: を除くすべてのデータベースオブジェクトが含まれます テーブル

    フロントエンドはユーザーワークステーションにあります。

    • バックエンド: テーブルだけが含まれています

    バックエンドは共有サーバー上にあります。

    フロントエンドはバックエンドのテーブルにリンクされています。

    実際に共有しているのはデータだけです。つまり、共有ドライブに保存する必要があるのはデータだけです。このように設定することにより、ネットワーク上を移動する必要のある情報は、ユーザーが要求したデータのみになります。このような設定により、データベースのパフォーマンスが大幅に向上し、複数のユーザーが同時にデータを入力および編集できるようになります。

    データセットの分割は、思ったほど難しくはありません。 Accessを使用すると、データベーススプリッタウィザードを簡単に使用できます。データベースを分割するには、次の手順に従います。
    1. 分割するデータベースをバックアップします。 何か問題が発生した場合(可能性は低いですが、データに関しては安全すぎることはありません!)、バックアップコピーを使用して再試行できます。
    2. 必要に応じて、分割するデータベースを共有ドライブ上のフォルダに移動します。 この手順により、データベーススプリッタはテーブルリンクを適切に設定できます。
    3. 共有フォルダから分割するデータベースファイルを開きます。 先に進む前に、このデータベースのバックアップコピーがあることを確認してください。また、すべてのデータベースオブジェクトが閉じていることを確認してください。
    4. リボンの[データベースツール]タブをクリックします。 [データの移動]グループがリボンに表示されます。アクセスデータベースと呼ばれるボタンが含まれています。
    5. [データベースへのアクセス]ボタンをクリックします。 [データベーススプリッタウィザード]ダイアログボックスが表示されます。
    6. [データベースの分割]ボタンをクリックして、ウィザードに処理を任せます。 バックエンドデータベースのファイル名の入力を求められます。名前を入力し、座って、目の前で楽しみが広がるのを見てください。
    7. フロントエンドファイル(分割した元のファイル)を各ユーザーのワークステーションにコピーします。 ユーザーにワークステーションからファイルを開いてもらい、データベースの速度の向上にどのように驚かされるかを確認してください。あなたはヒーローです。うん!

    共有ドライブを持っていない、または共有を削除したいですか?データをクラウドに配置することで、データベースに一度に複数のユーザーを含めることができます。

    アクセスデータベースファイルは家と同じくらいの大きさです 時間が経つにつれて、データベースファイルはどんどん大きくなっていきます。これは、時間の経過とともにオブジェクトとレコードを削除した結果です。たとえば、クエリを作成し、後で不要になったために削除した場合、Accessはそのクエリが占める領域をデータベースファイルから自動的に削除しません。同じことがレコードにも当てはまります。テーブルからレコードを削除しても、データベースファイルでそれらのレコードが占有していたスペースは残ります。最終的に、ファイルは、その中にデータとオブジェクトを保持するために必要なサイズの4倍または5倍になる可能性があります。

    ファイルサイズが大きくなった場合、なぜ気にする必要がありますか? 2つの理由があります:

    • 小さいデータベースファイルはより高速に実行されます。 パフォーマンスは、データベースユーザーを満足させるための重要な要素です。フォームをすばやく読み込み、クエリとレポートをできるだけ速く実行する必要があります。
    • 定期的に圧縮されたデータベースの方が安定しています。 データベースを頻繁に使用する場合は、定期的に圧縮することで、ファイルとテーブルの破損を防ぐことができます。
    Compact and Repairコマンドは、余分な部分を削除します。データベースを定期的に圧縮することをお勧めします(通常は1週間に1回で十分です)。設計を変更した後は、必ずコンパクトにしてください。方法は次のとおりです。
    1. 肥大化したデータベースを開き、リボンの[データベースツール]タブをクリックします。 ツールグループはリボンの左端に表示されます。
    2. [ツール]グループの[データベースのコンパクト化と修復]ボタンをクリックします。ステータスバー(画面の右下)に、コンパクト化プロセスの進行状況を通知する進行状況バーが表示されます。プログレスバーが消えると、圧縮が完了します。そして、より多くのトリマー(より高速でより安定した)データベースファイルが残ります。データベースを分割した場合は、フロントエンドファイルとバックエンドファイルの両方を圧縮することを忘れないでください。

    データベースファイルを閉じるたびに圧縮したいですか?次の手順に従ってください:

    1. リボンの[ファイル]タブをクリックします。
    2. 画面左側のメニューバーにある[アクセスオプション]ボタンをクリックします。 [アクセスオプション]ダイアログボックスが表示されます。
    3. 左側のリストから[現在のデータベース]をクリックします。 現在のデータベースのオプションが表示されます。
    4. [閉じるときにコンパクト]チェックボックスをオンにします。
    5. [OK]をクリックして変更を保存します。
    6. 表示されたメッセージボックスから[OK]をクリックします。
    7. データベースを閉じて、右下のステータスバーに注意してください。 データベースは閉じる前に圧縮されています!

    クローズ時のコンパクトは、フロントエンドファイルでのみ最適に使用されます。バックエンドを閉じるときに圧縮すると、バックエンドファイルを閉じるときに別のユーザーがいる場合に、バックエンドファイルが破損する可能性があります。バックエンドファイルでCompactonCloseをオンにしないでください。

    スプレッドシートをAccessにインポートすると混乱します スプレッドシートソリューションがニーズに合わなくなった後、スプレッドシートのコレクションをAccessデータベースにアップグレードするのが一般的な方法です。インポートされたスプレッドシート(​​現在はテーブル)のデータが混乱した状態で見つかることもよくあります。この問題を解決する最も簡単な方法は、スプレッドシートを前にクリーンアップすることです。 インポートします。きちんとしたインポートのためのいくつかのヒントは次のとおりです。
    • スプレッドシートプログラムからの情報を再確認して、一貫性があることを確認します。 および完了 何よりも、各列(フィールド)のすべてのエントリが同じデータ型(すべての数値、すべてのテキスト、またはすべてのもの)であることを確認してください。
    • スプレッドシートの上部からタイトルと空白行を削除します。 インポートに最適なスプレッドシートでは、行1にフィールド名(列見出し)があり、行2からデータがあります。
    • スプレッドシートの列見出しが短くて一意であることを確認して、Accessがインポート中にそれらをフィールド名に簡単に変換できるようにします。
    ごめんなさい。 Accessデータベースファイルが破損しています それは他の日と同じように一日として始まりました。ただし、この日、分割Accessデータベースのフロントエンドを開くとエラーが発生します。フォームやレポートを開くことができないようです。いくつかの小さなメッセージがあなたの一日を台無しにすることができるのはおかしいです。昨夜データファイルをバックアップしたのか、ファイルが実際に破損したのはいつか疑問に思い始めます。次に、この混乱からどのように抜け出すのか疑問に思い始めます。

    恐れるな。破損したデータベースに対する簡単な解決策があります。手順は次のとおりです。

    1. バックエンドファイルを含むフォルダーを参照します。
    2. ファイルをダブルクリックして開きます。 Accessが起動し、ファイルの修復を試みます。ステータスバーの右側に修復の進行状況バーが表示されます。すべてがうまくいけば、ファイルが開きます。
    3. バックエンドデータファイルを閉じます。
    4. フロントエンドファイルを再度開くと、すべてが正常に機能しているはずです。

    上記の手順を実行しても破損したファイルが開かない場合は、深刻な問題が発生しており、クリーンアップにある程度の労力がかかる可能性があります。次のステップは、データベースのバックアップコピーに頼ることです。バックアップと破損したファイルの再収集の間に欠落しているデータを確認してください。はい、不足しているデータを再入力する必要があります。申し訳ありません!

    バックアップがない場合でも、すべての希望が失われることはありません。破損したAccessデータベースファイルを修復するために特別に設計されたソフトウェアを購入できます。 Webで破損したMicrosoftAccessデータベースファイルを修復するを検索してみてください。 ソフトウェアがMicrosoftAccess2019で動作し、正規の会社のものであることを確認してください。
    1. SQL Server(T-SQL)のパスワードが間違っているためにログインに失敗した回数を取得する

    2. SQLGROUPBY-プロのように結果をグループ化するための3つの簡単なヒント

    3. 動的に生成されたピボットテーブルを一時テーブルに入れる

    4. 別のテーブルでレコードが見つかった場合は、テーブルから選択します