0

サブフォーム INVOICEDETAIL(ITEMID, InvoiceID, Quantity, Price) とサブフォーム ALLITEMS (主キー ITEMID とサブフォーム読み取り専用) を含むメインフォーム INVOICE があります。

INVOICE は InvoiceID フィールドを介して INVOICEDETAIL にリンクされていますが、INVOICE は ALLITEMS にリンクされていないため、すべてのアイテムが ALLITEMS に表示されます。

ユーザーが ALLITEMS サブフォームのアイテムをダブルクリックできるようにしたいのですが、そのアイテムは INVOICEDETAIL サブフォームに追加されます。おそらく、ダイアログ ボックスがポップアップして、INVOICEDETAIL に数量と価格も入力できるようになるか、INVOICEDETAIL にフォーカスが設定されて、ユーザーがこの情報を入力できるようになります。

手伝ってくれますか?

4

1 に答える 1

0

おそらく、AllItems ID コントロールのダブルクリック イベントで、次のようなことが考えられます。

Me.Parent.[InvoiceDetail Subform Control Name].SetFocus
DoCmd.GoToRecord acActiveDataObject, , acNewRec
Me.Parent.[InvoiceDetail Subform Control Name].Form.ID = Me!ID
Me.Parent.[InvoiceDetail Subform Control Name].Form.Price.SetFocus

または、追加クエリを実行します。

strSQL= "Insert Into InvoiceDetail (ID, Price) " _
      & "Select ID, Price From AllItems " _
      & "Where ID=" & Me.ID

CurrentDB.Execute strSQL, dbFailOnError

次に、InvoiceDetail サブフォームを再クエリして、関連する ID を見つける必要があります。

于 2010-02-02T13:12:32.750 に答える