1

ここに奇妙なものがあり、それを理解できないようです。

私の Access フロントエンド プロジェクトは、SQL 2005 Express バックエンドで実行されます。

私は何年もの間サブフォームを使用してきましたが、それがアプリケーションを VB/VS フロントエンドに移行しなかった唯一の理由です。

しかし、Access 2010 にアップグレードしてから、サブフォームが機能しなくなりました。代わりに、行を追加しようとすると、次のエラーが発生します (データはデータベースに追加されましたが、基になるレコード ソースの基準を満たしていないため、データはフォームに表示されません)。

ここに画像の説明を入力

マスター フォームと子フォームは poid と PONo でリンクされます。

すべてデフォルトでゼロからフォームを作成しましたが、それでも問題は解決しません。

私のSQLテーブルは

購入: - - poid、int、PK、Identity、seed 1、inc 1supplierID、int orderdate、DateTime deliverydate、datetime ordersent、ビット ordercomplete、ビット イニシャル、nvarchar Supplierinvoiceno、nvarchar branchid、int bookin、ビット deliverycharge、money

[STOCK - Detail]: - - stockid, int, PK, Identity, Seed 1, inc 1 CodeID, int service, bit costprice, money PONo, int Instock, bit SerialNo, char StockTake, bit Branch, Char ProductID, int

どんな助けでも大歓迎です。

どうもありがとう、

阿部

4

1 に答える 1

0

解決しました!Access 2010 は、SQL サーバー上のストアド プロシージャ/クエリでない限り、同一の列名を持つ複数のテーブルをサポートしません。

私はストアド プロシージャとクエリから離れようとしてきましたが、A2010 は、レコード ソースとしてハードコードされた SQL とどのような組み合わせでも動作しません。

クエリを作成し、それをレコード ソースとして選択すると、サブフォームは期待どおりに完全に機能しました。

また、クエリで選択されていない場合でも、両方のテーブルで同じ名前を持つフィールドにエイリアスを設定する必要がありました。そして、はい、エイリアスもクエリでのみ機能しました!

私はマイクロソフトが大好きです!;-)

于 2012-11-19T21:15:52.917 に答える