0

これは比較的簡単な作業のように思えますが、これまでいくつかの方法で取り組んできましたが、うまくいきませんでした。

People と Addresses の 2 つのテーブルがあります。これら 2 つのテーブルを結合するクエリであるレコードソースを含むフォームがあります。私がやりたいことは、「データベースには現在、[txtAddressCount] アドレスに [txtPersonCount] 人が含まれています」というヘッダーを表示することです。

person キーと address キーはそれぞれのテーブル内で異なるため、最初に考えたのは、単純にテキスト ボックスの controlsource を と に設定することでし=Count([tblPeople].[PersonID])=Count([tblAddress].[AddressID])

奇妙なことに、アドレス ID の数は、この方法で両方のテキスト ボックスに表示されます。それぞれのテーブルからIDをカウントするのではなく、IDはフォームのレコードソースの背後にあるクエリからカウントされていると思います(人よりもアドレスが多いため、理にかなっています)。

次に、SQLクエリを文字列として宣言することで、基本的に同じことを試みました。

Dim sql As String
sql = "SELECT COUNT(tblPeople.[PersonID]) FROM tblPeople;"

Forms![frmBrowse].[txtPersonCount].ControlSource = sql

しかし、それはテキストボックスにクエリのテキストを表示させるだけです。文字列を be に変更して"=SELECT COUNT...."も違いはありません。

これを解決する方法についてのアイデアはありますか?

4

3 に答える 3

0

Selectステートメントのパラメーターに基づいて、選択したレコードをループするリンクを次に示します。レコードセットの .RecordCount を使用しますが、キッカーは最初にアクセスする必要があるレコードです (したがって、ループ)。

于 2013-06-12T15:44:42.610 に答える