問題タブ [ms-access-data-macro]
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 2010 データ マクロをエクスポートする方法
Access データ マクロをテスト データベースから運用データベースに転送する必要があります。誰もそれを行う方法を知っていますか?
ある accdb から別の accdb にテーブルを転送すると、データ マクロも転送されることはわかっていますが、私の場合、それはオプションではありません。また、運用 accdb で手動で再作成できることもわかっていますが、それではエラーが発生する可能性があり、スクリプトによる転送シナリオよりも長時間運用データベースを停止する必要があります。
1回で済めば大したことはないのですが、開発中は何度もやらなければなりません。
テーブルを xml にエクスポートしようとしましたが、データ マクロが含まれていません。
ここでは、通常の Access マクロではなく、 Access 2010データ マクロについて質問していることに注意してください。
ms-access - テーブルを更新する MS Access イベント駆動型データ マクロ (例)
一部のデータを Excel から Access にインポートしました。今度は、Excel から新しいデータを取得するたびに別のテーブルを更新するトリガーに似たコードを書きたいと思います。
Access でトリガーを記述できないことがわかっているため、データ マクロを使用しようとしています。データ マクロを使用してこれを行う方法について誰か助けてもらえますか?
ms-access-2010 - Access 2010 で既存のイベント ドリブン データ マクロを編集または再保存できない
(これは、以前の質問hereからの回答へのフォローアップです。)
Before Change
データ マクロを含むテーブルを含む Access 2010 データベース ファイルがあります。
データシート ビューでテーブルを開いて行を追加すると、データ マクロは期待どおりに動作します。ただし、デザイン ビューでテーブルを開き、データ マクロを開いて編集し、マクロ ステップの 1 つの横にある [+] をクリックして詳細を展開し、「変更」を保存しようとするなどの簡単なことを行います。エラー
'LookUpRecord' マクロ アクションの 'Look Up A Record In' 引数の値が無効です。
また、新しい Access 2010 でマクロを最初から作成しようとしたところ.accdb
、同じエラーが発生しました。64 ビット Access 2010 を実行する 2 台のマシンと 32 ビット Access 2010 を実行する 1 台のマシンの 3 台の異なるマシンでこれをテストしました。すべてのマシンは、Microsoft Update によって完全にパッチされています。(つまり、現在バージョン 14.0.7106.5003 を実行しています。)
テスト中に、これは、データ マクロが適用される同じLookUpRecord
テーブルで SELECT を実行しようとするイベント ドリブン データ マクロに関連しているように見えることに気付きました。他のテーブルで SELECT を実行しても、エラーは発生しないようです。
私の質問は次のとおりです。
Access 2010 のパッチを適用したバージョンでこの問題を再現できる人はいますか?
パッチが適用されていないバージョンの Access 2010 (初期リリースからの新規インストールなど) でこれをテストして、後続のパッチ
が壊れて何かが変更されたかどうかを確認できますか?特定のテーブルのイベント駆動型データ マクロが、それ自体で SELECT を実行することによって実行できる(または実行できない) ことを示唆するドキュメントやインターネットのおしゃべりを見た人はいますか?
LookUpRecord
編集 -- 2013-12-19 14:10 UTC:
これを Access 2010 SP1 (14.0.6023.1000) でテストしたところ、同じ結果が得られました。
xml - Access データ マクロの XML ソース コードを検証するための XSD ファイル
Access 2010 または後で?
私は通常、XML を Notepad++ で記述してから Access に貼り付けますが、最初に問題がないことを確認できれば幸いです。
ms-access-2010 - 変更前データ マクロの DLookup が古い値を返すことがあるのはなぜですか?
大規模なリレーショナル Access 2010 データベースがあります。これは正規化されており、非常に遅いユニオン クエリが含まれています。したがって、キャッシュされたフィールドをいくつか作成することで、処理を高速化できると考えました。たとえば、tblOrder では CustomerName フィールドを作成します。このキャッシュされたフィールドを維持するために、tblCustomer から顧客の会社名を dLookup する変更前データ マクロを作成しました。それはうまくいきました。次に、ユーザーが会社名を変更すると、すべての子レコードが自動的に更新されるように、tblCustomer で After Update データ マクロを作成しました。これは機能しましたが、Before Change データ マクロが起動し、dLookup が古い会社名を返しました。どんな助けでも大歓迎です。
Northwing Database を使用して問題のサンプルを作成しました。http://www.thetechmentors.com/freestuff/exerciseFiles/msAccess/DlookupDatamacroProblem.zipからコピーをダウンロードできます。
vba - 新しいレコードのフィールドを計算するためのイベント ドリブン データ マクロ - MS Access
MS Access 2013 には、[ID]、[Hashed ID]、および[Product Description]の 3 つの列のみで構成される[Serials]というテーブルがあります。
[ID] は増分整数自動番号であり、主キーです。[Hashed ID] は、[ID] に適用されたハッシュ関数の結果を保持します。最後に、[製品の説明] はユーザー入力を保持します (ハッシュ関数はパブリック関数として VBA モジュールに格納されます)。
[Serials] テーブルに行が挿入された後、フィールド [Hashed ID] が自動的に計算されるようにしたいと考えています。
秘訣は、このテーブルにイベント ドリブン データ マクロを正しく使用することにあると思いますが、既に挿入された行に対して「変更前」イベントを使用してのみ、この作業を行うことができました (したがって、 [ID] フィールド?) . 道に迷いました!!!
ms-access - データ マクロ: LookupRecord で一致が見つからない場合にデフォルト値を使用する
Ms Access のテーブルの 1 つでデータ マクロをセットアップして、「パス」を追加し、同じテーブルの親レコードに基づいてレベルをインクリメントしようとしています。
Before Change
、親ノードが存在しない場合は、デフォルト値が使用されます。それ以外の場合は、親自身のパスとレベルが検索され、現在のレコードの親の値が追加されます...まあ、それが理論です。
の最初の部分はIf
実際には機能しElse
ますが、現在のレコードに値をプルまたは入力する条件を取得できません。
何か不足していますか、それともすべて行う必要がありますAfter Insert/Update
か?
ms-access-2013 - 名前付きデータ マクロで DSUM が正しく動作しないのはなぜですか?
まとめ:
名前付きデータ マクロを DSUM と共に使用して、親レコードの子レコードの合計を維持しようとしています。子レコードを編集すると、データ マクロは親レコードを変更しますが、結果は現在のレコードの古い値に基づいているようです。
詳細:
Microsoft の Northwind Database に似たデータベースがあります。コピーはhttp://www.thetechmentors.com/freestuff/exerciseFiles/msAccess/DlookupDatamacroProblem2.zipにあります。
tblOrder と tblOrderDetail があります。tblOrder には、tblOrderDetail の After Update データ マクロで呼び出される名前付きデータ マクロがあります。名前付きデータ マクロは、DSUM("Ext Price","tblOrderDetail", "Order ID" & @OrderID) を使用します。データ マクロは実行されますが、結果は子レコードの古い値に基づいているようです。
回避策を発見しました。DSUM を使用する代わりに、ローカル変数と「For Each Record In」ループを使用して正しい合計を計算しました。
私の回避策は機能しますが、DSUM アプローチが機能しなかった理由を知りたいです。あなたが提供できるどんな助けも大歓迎です。
ms-access - Access データ マクロから SQL クエリを実行する
データ マクロを使用してクロージャ テーブルを更新しようとしています。これには、新しいレコードがメイン テーブルに挿入されるたびに次のコードを実行する必要があります。
ご覧のとおり、ネストされたループを使用してこの操作を実行できます。
メイン テーブル (tblNodes) とクロージャ テーブル (tblClosure) の両方がバックエンド データベースに格納されているため、データ マクロで必要なことを実行できるはずです。
データ マクロには、関数Create Record (in...)およびFor Each Record (in...)もあるようです。しかし、私はその2番目のものをまったく発火させることができません。
これは私のコードです(パラメータとしてtemp_node
andを定義しました):temp_parent