問題タブ [ms-access]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ms-access - MS Access .mdb ファイルの圧縮を気にする必要があるのはなぜですか?
MS Access .mdb ファイルを使用するアプリケーションを配布しています。MS Access でファイルを開くと、ファイル サイズが大幅に縮小することに気付いた人がいます。これは、ファイルが圧縮に適していることを示していますが、ユーザーが圧縮を行うための手段は提供していません。
それで、私の質問は、それは問題ですか?気にしますか?ユーザーがデータベースを圧縮しないと、どのような問題が発生する可能性がありますか?
ms-access - 2003 年と 2007 年の両方で Microsoft Access データベースを実行すると、どのような影響がありますか?
2003 年と 2007 年の両方で Microsoft Access データベースを実行すると、どのような影響がありますか?
取り忘れたクラスはありますか?
このプログラムはもともと Office 2003 でビルドされ、2007 年に実行されました。実行されているマシンに 2003 と 2007 の両方がインストールされていると、問題が発生するようです。この問題は、「Microsoft Access 12.0 オブジェクト ライブラリ」(または 2003 年の「Microsoft Access 11.0 オブジェクト ライブラリ」) からの参照から生じているようにも見えます。これを確認するには、VBA 画面の [ツール: 参照] メニューを見てください。
エラーの症状は、基本的にコードが認識されないことです (使用しているプログラミング言語が認識されないのとほぼ同じです)。通常、これに続いて、「イベント プロパティ設定として入力した式のロード時に、次のエラーが発生しました: オブジェクトまたはクラスは一連のイベントをサポートしていません」というボックスが表示されます。ボタンの「On Load」を「On Click」またはテキストボックスの「On Change」に置き換えることもできます。
個人的には、コンピュータが Microsoft Access 11.0/12.0 Object Library の一部を取り込んで、その 2 つを無用な VBA 参照に混ぜているのではないかと疑っています。私の疑いをさらに確認するのは、「Microsoft Access の構成」という 2 つの間を移動するときにポップアップするボックスです。私の疑いをさらに確認するもう 1 つの問題は、最初に開いた方 (たとえば 2007 年) で実行され、次に他では実行されません(2003年の例を継続)
私が修正しなければならなかった他の唯一の問題は、 DoCmd.OpenForm 、、、、、acFormReadOnly (または acReadOnly、その特定の日にマシンがどのように感じているかによって異なります) の最後の部分を変更することでした。ある日、別の日に切り替えてほしい) 個々のテキスト ボックスを単にロックする
なかなかコーディングではないかもしれませんが、コーディングで直せるのではないかと思います。
うまくいけば、誰かが何かを思い付くのに十分です。
sql - データがシステムに入ると、悪い悪いデータベース設計を修正する
私はそれが問題ではないことを知っています...とにかくここに問題があります。
このような1つのテーブルを持つデータベースを継承しました。その目的は、さまざまな(200の奇数)国で見つかった種を記録することです。
データのサンプルは次のようになります
これは典型的な多対多の状況であり、3つのテーブルが必要なようです。種、国、およびSpeciesFoundInCountry
リンクテーブル(SpeciesFoundInCountry)には、speciesテーブルとCountryテーブルの両方に外部キーがあります。
(図を描くのは難しいです!)
元のメガテーブルに1がある列名とSpeciesIDに基づいて、新しいCountryテーブルからCountryIDを取得する挿入ステートメントを生成する魔法の方法はありますか?
私は1つの国のためにそれを行うことができます(これは私が欲しいものを示すための選択です)
(メガテーブルは種と呼ばれます)
ただし、この戦略を使用すると、元のテーブルの各列に対してクエリを実行する必要があります。
SQLでこれを行う方法はありますか?
where句をまとめて、またはSQLを作成するためのスクリプトを作成することはできますが、エレガントではないようです。
何か考え(または説明が必要)?
vba - MS Access でクエリを印刷時にデフォルトで横向きにする
MS Access で、特にピボットグラフとして表示するときに、印刷時にクエリを横向きにするようにプログラムで作成するにはどうすればよいですか? 現在、MS Access 2003 でこれを試みていますが、どのバージョンでも解決策を見つけたいと思っています。
ms-access - アクセスコンボボックスを再バインド
コンボボックスで検索できるAccess2007フォームがあります。新しいレコードを追加するときは、コンボボックスを更新して、新しく追加されたアイテムを含める必要があります。
フォームのAfterInsertイベントで何かを行う必要があると思いますが、何を理解できません。
挿入後にコンボボックスを再バインドして、新しいアイテムがリストに表示されるようにするにはどうすればよいですか?
ms-access - MS Access データベースで使用されているエンコード システムを確認する方法
MS Access データベースを使用していますが、データベースで使用されているエンコード文字を確認するにはどうすればよいですか?
sql-server - 日付パラメーターを使用したストアド プロシージャの実行: コマンド オブジェクトと接続オブジェクトの比較
パラメータを介してストアド プロシージャに日付を指定する場合、日付に使用する形式について少し混乱します。元の VBA 構文では、ADO Connection オブジェクトを使用してストアド プロシージャを実行していました。
これは、日付構文を使用して問題なく動作しますyyyy-mm-dd
が、別のユーザーがコードを実行すると、13 'Type Mismatch' というエラーが表示されます。
dd/mm/yyyy
いくつかの実験の後、形式で日付を指定すると、ユーザーのこのエラーが修正されることがわかりましたが、今ではエラーが発生します!
パラメーターを持つコマンド オブジェクトを使用してストアド プロシージャを実行すると、日付の形式に関係なく機能します (ADO が舞台裏で形式を処理していると思います)。yyyy-mm-dd
この形式を使用すると、SQL Server で普遍的に機能すると思いましたか?
この問題がユーザー固有のように見える理由についても当惑していますか? SQL Server での私の既定の言語が「英語」であるのに対し、他のユーザーの既定の言語は「英国英語」であることに気付きました。これが問題の原因になる可能性はありますか?
Access 2003 および SQL Server 2000 で ADO 2.8 を使用しています。SQL Server ログインは Windows 統合セキュリティ経由です。
ms-access - MS Access 2000 フォームが閉じられない原因は何ですか?
Access 2000 DB が原因で問題が発生します - 時々 (原因を突き止めていません)、「ブック」フォームが閉じません。閉じるボタンをクリックしても何も起こらず、[ファイル] -> [閉じる] も何もせず、Access を閉じても何も起こりません。このフォームの OnClose ハンドラがありません。私が見つけることができる唯一の回避策は、Vba エディターを開き、そのフォームのコードを変更し (スペースを追加してからすぐにスペースを削除することもできます)、「book」フォームに戻って閉じ、そして「いいえ、変更を保存したくありません」と言います。それだけで閉じます。何か助けはありますか?
ms-access - Access の連続フォームのコンボ ボックスのカスタム行ソース
いろいろ調べてみたところ、これは MS Access の制限のようです。そのため、他の人がこのパズルに対してどのような創造的な解決策を見つけたのだろうかと思っています。
連続フォームがあり、フィールドをその行に固有のオプションのコンボ ボックスにしたい場合、Access は配信に失敗します。コンボ ボックスの行ソースは、フォームの先頭で 1 回だけクエリされるため、フォームの残りの部分に間違ったオプションが表示されます。
もちろん、次のステップは、onCurrent イベントを使用してコンボ ボックスを再クエリすることです。これにより、実際には、オプションが特定の行に制限されます。ただし、この時点で、Access はおかしくなり、行ごとにすべてのコンボ ボックスを再クエリします。その結果、有効なオプションを選択したかどうかに応じて、他の行のオプションが消えたり再表示されたりすることがよくあります。現在のレコードの行ソース。
私が見つけた唯一の解決策は、利用可能なすべてのオプションを常にリストすることです。そこに創造的な答えはありますか?
編集また、コンボ ボックスの理由は、ルックアップ テーブルとしてクエリを使用するためであることに注意してください。人間が読めるバージョンが表示されている間、実際の値は非表示にして保存する必要があります...コンボ ボックスの行に複数の列ソース。したがって、制限をリストに変更しても役に立ちません。現在の行ソース クエリに含まれていない ID には、一致する人間が読み取れる部分がないためです。
この特定のケースでは、継続的なフォームは非常に理にかなっているので、それが間違った解決策だとは言わないでください。創造的な答えを求めています。
database - MS Access で boolean 型の列の NULL 値をどのように処理しますか?
column-data-type を整数に変更する以外に、MS-Access がブール値の NULL を処理できないことに対処するためのより良い方法があるかどうか疑問に思っていました。