私のフォームは、フォームヘッダー、詳細セクション、およびフォームフッター(デザインモード)で分割されます。すべてのテーブルフィールドは、詳細セクションに表示されます。MS ACCESS - フォームでデータを動的に変更する
人の名前(ハイパーリンクとして表示されます)をクリックすると、このように動作するようにする必要があります。詳細セクションでは、名前フィールドの値がクリックしたものと等しいテーブルのレコードを表示する必要があります。表示されているフィールドの数は変わらないはずです。
私はVBの手順を書いた:
Private Sub GE_PERSON_Click()
Dim strSQL As String
strSQL = "SELECT GENERIC.GE_ID, GENERIC.GE_OPEN AS [OPEN], Workforce.WF_NAME AS PERSON, [GENERIC].[GE_DATEIN] AS RECEIVED, GENERIC.GE_DATEREQUESTED AS [STARTING DATE], GENERIC.GE_CONSECUTIVE AS CONSECUTIVE, GENERIC.GE_AMOUNT AS [DAYS TAKEN], ABSENCE.AB_TYPE AS [ABSENCE TYPE], [GENERIC].[GE_STATUS] AS STATUS"
strSQL = strSQL + "FROM (GENERIC INNER JOIN Workforce ON GENERIC.[GE_PERSON] = Workforce.[WF_ID]) INNER JOIN ABSENCE ON GENERIC.[GE_TYPE] = ABSENCE.[AB_ID]"
strSQL = strSQL + "WHERE WORKFORCE.[WF_NAME] = " + Form_GENERIC.GE_PERSON
strSQL = strSQL + "ORDER BY GENERIC.GE_DATEREQUESTED;"
Form_GENERIC.RecordSource = strSQL
End Sub
私はエラーが表示さForm_GENERIC.RecordSource
にstrSQL
を割り当てる場合。私は、メインフォームGENERICレコードソースに形成された文字列からデータを送信することはできません - それは誤り
ランタイムエラー3141原因:SELECT文の予約語やスペルミスや不足している引数名、または句読点が含まれています間違っている
間違いなくあなたの助けが必要です!
を防止するためのスペースを追加しますか?サブフォームはありますか?あなたの書式の説明は、確定的な回答を生成するのに十分ではありません。 – MoondogsMaDawg
私はこれを持っているかどうかを見てみましょう。 'NAME'フィールドをクリックすると、現在のフォームがフィルタリングされます(サブフォームがあるかどうか、分割されたサブフォームか、 )。スプレッドシートモードであると仮定します。 – Lybren
[VBAで動的SQLをデバッグする方法](http://stackoverflow.com/questions/418960/managing-and-debugging-sql-queries-in-ms-access/1099570#1099570) – Andre