問題タブ [ms-access-2013]
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 - カスタム主キーへのアクセス
Access データベースにカスタム主キーを作成したいと考えています。
データベースはマルチユーザーになるため、複数のユーザーが同じテーブルに新しいレコードを追加しようとしている場合でも、各キーが一意であることを保証する方法が必要です。
カスタムの主キーを作成する必要があるのは、データベースが、私が制御できない別の外部システムに入る監査証跡から始まるためです。
ただし、この別のシステムでは、12 文字の長さのユーザー定義フィールドを 1 つ使用して、選択したデータを渡すことができます。
そのユーザー定義フィールドを使用して、後で推定できるさまざまな略語を持つ 12 文字のコードを記録したいと思います (たとえば、最初の 2 文字は組織の部門に関連し、次の 3 文字は製品に関連するなど)。 ..)
私がこれまでに読んだことによると、Access のカスタム キーは地雷原のようです。
ただし、私の目的のためには、Access の autonumber フィールドを組み合わせて、基本的に必要な主キーを構築するのに少なくとも妥協が見られます。
これが私が考えていたことです:
後で推定したいコードの部分は、ユーザーが作成できます。たとえば、部門が人事部の場合、最初の 2 文字は常に「HR」になります。
次に、「HR」エントリが入力された同じテーブルのフィールドに対してアクセスのオートナンバーを実行させたとしましょう...同じテーブルで2を自動的に連結する3番目のフィールドを取得できますか(クエリではありません)。 .? つまり、このように:
それが VBA のあるイベントで実行できるものであれば、それは素晴らしいことです (コードを見せてください! :))
2番目の部分は、カスタム主キーの「一意の番号」部分が99999から00001の間、つまり次のように同じ5文字のスペースを占めることを保証するために、自動番号を先行ゼロと連結できるかどうかです。
100,000 を超えるエントリが必要になる可能性はほとんどありません。
これが可能で安全であることを願っています!
forms - 現在のレコードをフォームからアクセス中の別のフォームに移動するには?
そのフォームの現在の人物のすべてのフィールドを意味する現在のレコードを、フォームを介してあるテーブルから別のテーブルである別のフォームに移動したいと思います。1 つのコマンド ボタンを使用します。どうやってやるの?
別の移動方法にも見えるので、1 つのボタンに追加 & 削除アクションを使用することを考えています。しかし、現在の人物からのレコードを 1 つだけそのフォームに入れる方法がわかりません。「現在のセッション」のようなもの
アクセス中。
sql - Access 2013 SQL の TRANSFORM と PIVOT
TRANSFORM および PIVOT 関数を使用して、最初のテーブルから 2 番目のテーブルを取得するにはどうすればよいですか。
TABLE_01
TABLE_02
私はこれを試しています:
しかし、エラーが発生しました:
「クエリには、集計関数の一部として指定された式 'ACValue' が含まれていません。」
sql - Access 2013 の CASE ステートメント (およびその使用方法)?
Microsoft Access プログラミングは初めてです。
日付フィールドをチェックして、そうであれば返したい
- 今日、または
- 昨日か、
- 先週 (先週の日付内の日付)、または
- 先月か、
- それは一ヶ月以上前です
以下のコードを作成しました:(式ビルダーを使用)
これを行うより良い方法はありますか?他の言語には CASE ステートメントがありますが、Access でそれを行う方法がわかりません。アクセス2013を使用しています。
ありがとう。
sql - 連続フォーム データをテーブルに書き戻す
クエリにバインドされた継続フォームがあります (以下のクエリを参照)。クエリは継続フォームのレコード ソースであり、更新できません。
クエリはデータをフィルタリングして、最小要件を満たすプレーヤーのリストを提供し、それらのプレーヤーを連続フォームに表示します。連続フォームには、GameID と GameDate を入力するための追加のコントロールがあります。
追加データを追加したら、レコードを tbl_Bank に書き戻す必要があります。試してみましたINSERT INTO
が、最初のレコードしか書き込みません。
INSERT ステートメント:
クエリ:
ms-access - SetParent を使用して Access フォームを Access からエスケープする
Accessウィンドウを非表示にしてデスクトップにフォームを表示し、他のアプリケーションと簡単に並べて配置できるように、Microsoft AccessをメインのAccessウィンドウから「エスケープ」しようとしています。
最初に、Access 独自の Form.PopUp プロパティを使用するコード サンプルをいくつか見つけましたが、これは実行時に設定できず、デザイン ビューでのみ設定できます。これは私がやろうとしていることを達成しているように見えますが、2 つの欠点があります。
デザイン ビューと通常のビューを切り替えるには、その間にウィンドウを「閉じる」必要があります。特に保存されていない新しいレコードを作成するために使用されるため、現在の状態を維持するためにウィンドウを開いたままにしておきます。
メインのフォームから他のフォームを開きたいのですが、それらも「ポップアップ」として設定されていない限り、このアプローチではうまく機能しないようです。しかし、これらもデザイン ビューなどに配置する必要があるため、これは面倒です。また、2 つのポップアップ ウィンドウを簡単に切り替えることができるかどうかもわかりません。
次に、必要なことを実行しているように見える SetParent という API 関数を見つけました。次のコマンド (VBA 構文) を使用しました。
しかし、私は2つの問題に遭遇しました(おそらく関連しています:
ウィンドウはかなり反応が悪いように見えました (たとえば、入力できず、ボタンをクリックしても機能しないようでした)。
ALT + TAB を実行すると、BSOD が発生しました。
/li>
メイン アクセス ウィンドウの外にある他のアクセス フォームを呼び出して表示できる、アクセス ウィンドウのないフォームを作成できるようにする他の方法はありますか?
SetParent API ドキュメントで、UI 状態の変更とウィンドウ スタイルの変更を行う必要がある他にいくつかの作業があることに気付きましたが、それらを行うための適切な方法が見つかりません。これを行うと、BSOD と応答しない問題は解決しますか?
アイデアをありがとう!