0

私は3つのテーブルを持っています:

Products(ID,Name,Price) / 
Customer(ID, Name, Surname)
Buys(ID, ID_customer, ID_product)

サブフォーム付きのフォームがあります。サブフォームに Buys テーブルからのクエリが入力され、ID_customer を介して Customer(ID) に接続されます。サブフォームで ID と ID_customer が非表示になります。

次に、サブフォームにさらに 2 つのフィールド/コントロールを追加しました。 Name と aPrice で、ProductsQuery を介して入力されます。

SELECT Products.Name, Products.Price
FROM Products
WHERE (((Products.ID)=[Forms]![PregledKupcev-Form]![NAKUPI-Subform]![ID])); 

// この場合の ID は、製品の ID を保持するサブフォームのコントロールです

使用:

=DLookUp("[Name]";"[ProductsQuery]")

=DLookUp("[Price]";"[ProductsQuery]")

これまでのところすべてが機能していますが、後で 1 つのコントロール (この場合は価格) を合計しようとすると、多くの問題が発生します。

これを改善する方法はありますか?

次に、サブフォームのフッターにある aPrice コントロールの内容を PriceSum コントロールにまとめます。

=Sum([Forms]![PregledKupcev-Form]![NAKUPI-subform]![aPrice])

そしてそれをフォームに転送します:

=[Forms]![PregledKupcev-Form]![NAKUPI-subform]![PriceSum]

しかし、私はエラーが発生します..

サブフォームの価格管理で値を合計するにはどうすればよいですか?

ピクチャー: 形

4

1 に答える 1

1

メイン フォームにtxtInvoiceNo、請求書番号 (または親テーブルを子テーブルにリンクするフィールド) を表示するという名前のテキスト ボックスがあるとします。

また、メイン フォームに、txtInvoiceTotal各子レコードの [Price] 値の合計を表示する場所という名前のテキスト ボックスがあるとします。

txtInvoiceTotalテキストボックスのコントロールソースを子テーブルで実行するように設定しDSum()ます(これを呼び出しましたInvoiceLineItems):

=DSum("[Price]","InvoiceLineItems","InvoiceNo=" & [txtInvoiceNo])

サブフォームの場合、親フォームのテキスト ボックスに次のAfter Update行を追加します。.RequerytxtInvoiceTotal

Private Sub Form_AfterUpdate()
Me.Parent.txtInvoiceTotal.Requery
End Sub

それがあなたのためにトリックを行うかどうかを確認してください。

于 2013-03-24T12:06:09.457 に答える