2016-03-25 3 views
0

フォームがあり、その横にサブレポートがあります。ユーザーがフォームに記入すると、サブレポートが作成され始めます。このサブレポートはクエリに基づいています。MS Access:VBAは、SQLステートメントを介してVBAコードでクエリを実行することなく、別のクエリの結果をテーブルに格納できますか?

サブレポートによって生成される値の1つをテーブルに送信したいとします。私のVBAコードにSQL文を記述することなくこれを行う方法はありますか?それともこれが唯一の方法ですか?

ユーザーがサブミットできる状態になるまでに、サブレポートが完全に入力されます。サブレポートまたは基本クエリのいずれかの値を、その値のクエリをやり直さなくてもかまいません理由とそれ以外のもの)。

+0

は、フォームの値の行IDを条件と保存されたクエリを作成し、サブレポートのアップデートでそれを実行します。 – Parfait

+0

意味がありません。サブレポートはレポート内に存在するため、フォームまたはレポート、またはその両方を持っていますか?サブレポートは値を「生成」せず、クエリのレコードを表示します。 – Gustav

+0

私はフォームを作った。フォームのサブフォーム/サブレポートボタンを使用して、サブレポートのセクションを挿入しました。 – whatin1992

答えて

0

DAOレコードセットについて考えてみてください。新しいレコードを作成している場合は簡単ですが、既存のレコードに書き込む場合は、レコードIDを指定する必要があります。このリンクhttp://www.classanytime.com/mis333k/sjdaoadorecordsets.htmlが役に立ちます。

ベスト

0

あなたは常にフォームまたはレポートのRecordsetCloneを使用することができます。

Dim rs As DAO.Recordset 
Set rs = Me.RecordsetClone 
If rs.RecordCount > 0 Then 
    rs.FindFirst "Id = " & SomeIdToLookUp & "" 
    If rs.NoMatch = False Then 
     ' Open recordset with logtable and add some fields to a new record. 
    End If 
End If 
Set rs = Nothing 
+0

これを行うと、フォームのレコードソースを設定する必要があります(少なくとも、[このリンク](https://msdn.microsoft.com/en-us/library/office/ff835062)に記載されています)。 aspx))。しかし、これを行うと、フォームビューに配置するとフォームが空白になります。 – whatin1992

+0

これは意味をなさないものです。サブレポートとクエリがある場合は、レコードセットもあります。 – Gustav

+0

右の*フォーム*はもともと[プロパティ]セクションの[レコードソース]フィールドには何もありませんでした。ドロップダウンを使用してサブレポートを駆動し、フォームビューに移動するクエリを選択すると、すべてが空白になります。したがって、フォームは依存していない/レコードソースからのデータを取ることはありませんが、*サブレポート*は行いません。 – whatin1992

関連する問題