質問

私は、今後のAccess2010が初めてデータエンジンテーブルにアクセスするには、トリガーのような機能を追加するデータマクロ機能を持っていることをブドウに聞きました。誰もがこの上の詳細を持っていますか?例えば、彼らは(ACEDAO、SQL DDL、など)のコードで作成することができますか?データは、例えばAccessユーザーインターフェイスの外部から変更された場合、データマクロを実行しませんODBC経由で、OLE DB、など?

役に立ちましたか?

解決

[OK]を、もう少し情報

  

データは、例えばAccessユーザーインターフェイスの外部から変更された場合、データマクロを実行していODBC経由で、OLE DB、など?

はい、それはありません。

これらの真のトリガーは、データエンジンレベルです。だから、ADO、DAOを使用したり、MS-Accessのテーブルビューでテーブルを編集すると、トリガーが起動されることを意味します。これらのトリガーはまた、あなたもMS-アクセスがコンピュータにインストールされていないシナリオが含まれるであろう。

もちろん(この記事の残りの部分のために、私は長期的なACEを使用します)JETがインストールされている必要があります。それが唯一のアクセスチームはJETの所有権を受信したアクセス2007年だった覚えておいてください。彼らは今、彼らのニーズに合わせて、このエンジンを強化するのは自由です。当社は、2007年にACEにいくつかの変更を確認するために、今私たちは2010年のために多くの変化、これらの機能のいくつかはまだ私のためにNDAている...しかし、私はここに私はできる限りをこぼすだろうが表示されます開始します。

  

たとえば、彼らは(ACEDAO、SQL DDL、など)のコードで作成することができますか?

コード、perahpsではなく、SQLのDDLを持ちます。トリガーは、SQLコマンドではありません。 Oracle、またはSQL Serverまたは市場でほとんどのシステムのために、彼らはすべてが、とにかく彼らのトリガのための独自のカスタム言語を持っている傾向があることに留意してください。

新しいACEでは、あなたは、このようにデータマクロと呼ばれるものを書きます。あなたは、MS-Accessでマクロエディタを使用します。これらは、昔ながらのアクセスマクロですが、エディタは、完全に再行われてきました。新しいマクロはまた、ループ、サブルーチンを持っている場合は、他のブロックとレコードのタイプ。私たちは2007年のマクロで一時変数を作成する機能を受け、覚えておいてください。 2010年には、これはまた、ローカル変数や新機能の上を含むように拡張されます。

既存のマクロコマンドの構文は、以前のバージョンと同じです。しかし、我々はクールなコマンド上記のすべてのものと一緒に新しい滑らかなIDEが追加されました。私たちは今、このようなマクロの2種類があります。 (以前のように定期的に)UIマクロと新しいいわゆるデータマクロ。テーブルレベルのマクロは、画面にエラーメッセージを表示することができることは意味がありません。だから、記録されたエラーが表になります。そこには、そのテーブルに独自のカスタムエラーを書いてみましょうにも、いくつかの新しいロギングコマンドを。ここで華麗なシンプルなデザイン。ここではそのエラー・ログ表にはどのようなものか:


<サブ>(ソース: kallal.ca の)

巨大なIDE年代の世界では、大規模なフレーム作品やコードの恐ろしい巨大なライブラリは、テーブルに簡単な行を更新するために報い

、私はそのデータマクロは最もさわやかな特徴であると言うことができます。彼らは多くのオリジナルDBASEIIがどのように動作するかのように感じます。彼らは非常にシンプルですが、彼らはテーブルレベルで実行されるため、致命的なパワーフルます。

例えば、ここで合計をテーブルのインベントリ維持するデータ・マクロです。この例では、私は、マスターのインベントリレコードが存在すると仮定するつもりです。そして、我々は、注文の詳細テーブルを持っています。ユーザーは、受注テーブル内の任意の値を編集した場合、我々は、在庫レベル自動更新にマスター表が欲しいます。

だから我々は持っています: 私は2つのテーブルを持っている。

tblFruits:    main data fruit inventory table
id         (autonumber)
Fruit text
OnHand    (number value of fruit in inventory)

tblFruitsOrder
id       (autonumber)
Fruit_id (FK to tblFruts.ID)
QtyOrder (number of fruit to order)

これは、簡単なテストです。

そこで、我々が更新されますtblFruitsOrderでトリガを持っているつもり QtyOrderフィールドがあるとき+ tblFruitsで在庫水準を維持します 編集または変更されます。

ここでは、マクロは次のようになります


<サブ>(ソース: kallal.ca の)

上記がどのように非常にシンプルに注意してください。あなたは、コードの部分をクリックすると、IDEで、その後、あなたはあなたがCAで古いスタイルのマクロタイプの編集を取得することに注意してくださいN(この2010を事前に類似しているが、今のパラメータと編集コードに以前のバージョンの画面の下部に表示されていないパネルを生じる)コマンドの値を入力します。

ここで私はループを行い、サブルーチンを呼び出す機能で遊んでいる別のスクリーンショットである。


<サブ>(ソース: kallal.ca の)

これは、テーブル・レベルのマクロないので

上記では、msgboxs等を使用することができます。あなたは、テーブルレベルのマクロを書くときに、通常のマクロとは対照的に、だから、使用可能なコマンドが自動的に制限されています。我々は、マクロの2種類を区別するために採用された用語は、UIマクロとデータマクロです。

上記の約すべてのI恥骨では約話すことができます。しかし、私はこれらの機能にNDAの下にまだだとして、私は単にまだ公の場で話ができないこれらのマクロについていくつかの本当にきちんと-Oの機能があります。しかし、ここに来てより多くのクールな驚きがある。

ここでは、テーブルの種類のスクリーンショットは、我々が持っているトリガされます:


<サブ>(ソース: kallal.ca の)

他のヒント

この新機能で

詳しい情報は、<のhref = "http://blogs.msdn.com/access/archive/2009/08/13/access-2010-data-macros-similar-to-triggers.aspxました「REL =」nofollowをnoreferrer ">掲載今日はMS Accessの開発チームのブログにと、それは間違いなく上記のコメントで提起された重要な問題に関する詳細な情報を提供しています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top