|
お忙しい中、有難うございます。
ご教授いただいたものをこちらで実行してみたら、
「このフォームまたはレポートで指定されているレコードソース
'ORDER BY TOHO_TABLE.E DESC 'は存在しません」と出てしまいます。
「'ORDER BY TOHO_TABLE.E DESC '」をコメントで潰して再実行するとその
前のソースコードでエラーになります。
*イミディエイト表示
「ORDER BY TOHO_TABLE.E DESC
GROUP BY Tmp.[E] HAVING Count(*)>1 )) AND ((TOHO_TABLE.E)<>"")) 」
Me.RecordSource = frmRecSource
Me.Requery
にてエラーが発生したステートメントとして黄色でマーキングされてしまいます。
---------------------------VBAソース--------------------------------------
Private Sub コマンド36_Click()
Me.RecordSource = frmRecSource
Me.Requery
End Sub
Function frmRecSource() As String
Dim strSQL As String
Dim strWH As String
Select Case Me.フレーム54
Case 1
strSQL = "select * " _
& "from TOHO_TABLE "
Case 2
strSQL = "select TOHO_TABLE.[COMM]"
strSQL = sqrSQL & ", TOHO_TABLE.[A]"
strSQL = sqrSQL & ", TOHO_TABLE.[C]"
strSQL = sqrSQL & ",TOHO_TABLE.[G]"
strSQL = sqrSQL & ", TOHO_TABLE.[D]"
strSQL = sqrSQL & ", TOHO_TABLE.[E]"
strSQL = sqrSQL & ", TOHO_TABLE.[F]"
strSQL = sqrSQL & ",TOHO_TABLE.[H]"
strSQL = sqrSQL & ", TOHO_TABLE.[コメント] "
'追加開始
strSQL = sqrSQL & ",TOHO_TABLE.[I]"
strSQL = sqrSQL & ",TOHO_TABLE.[J]"
strSQL = sqrSQL & ",TOHO_TABLE.[K]"
'追加終了
strSQL = sqrSQL & " from TOHO_TABLE"
strSQL = sqrSQL & " WHERE (((TOHO_TABLE.E) In (SELECT Tmp.[E] FROM [TOHO_TABLE] As Tmp "
strSQL = sqrSQL & " GROUP BY Tmp.[E] HAVING Count(*)>1 )) AND ((TOHO_TABLE.E)<>"""")) "
strSQL = sqrSQL & " ORDER BY TOHO_TABLE.E DESC "
End Select
Debug.Print strSQL
frmRecSource = strSQL
End Function
という記述にしております。
どうかお忙しいと思いますが、ご教授をお願い致します。
▼247b さん:
>生成されたSQLを拝見すると、I,J,Kの3項目が、入れ子のSQL(コマンド36_Clickで生成しているSQL)に不足しています。また、エイリアスも不足しているので、一応、書き換え例を以下に記載します。
>こちらでは、プログラム実行していない(というかできない)ので、細かなミスがあるかもしれませんが、その点はご勘弁ねがいます。
>WHERE句はTrueになっているため、特に条件は存在しないようですので、問題ありません。
>
>1.
>Private Sub コマンド36_Click()
>Case 2
> strSQL = "select TOHO_TABLE.[COMM]"
> strSQL = sqrSQL & ", TOHO_TABLE.[A]"
> strSQL = sqrSQL & ", TOHO_TABLE.[C]"
> strSQL = sqrSQL & ",TOHO_TABLE.[G]"
> strSQL = sqrSQL & ", TOHO_TABLE.[D]"
> strSQL = sqrSQL & ", TOHO_TABLE.[E]"
> strSQL = sqrSQL & ", TOHO_TABLE.[F]"
> strSQL = sqrSQL & ",TOHO_TABLE.[H]"
> strSQL = sqrSQL & ", TOHO_TABLE.[コメント] "
>'追加開始
> strSQL = sqrSQL & ",TOHO_TABLE.[I]"
> strSQL = sqrSQL & ",TOHO_TABLE.[J]"
> strSQL = sqrSQL & ",TOHO_TABLE.[K]"
>'追加終了
> strSQL = sqrSQL & " from TOHO_TABLE"
> strSQL = sqrSQL & " WHERE (((TOHO_TABLE.E) In (SELECT Tmp.[E] FROM [TOHO_TABLE] As Tmp "
> strSQL = sqrSQL & " GROUP BY Tmp.[E] HAVING Count(*)>1 )) AND ((TOHO_TABLE.E)<>"""")) "
> strSQL = sqrSQL & " ORDER BY TOHO_TABLE.E DESC "
>
>
>2.
>Private Sub コマンド41_Click()
>
>strSQL = ""
> strSQL = strSQL & " SELECT TBL.A "
> strSQL = strSQL & " , TBL.COMM AS B "
> strSQL = strSQL & " , TBL.C AS 物品名 "
> strSQL = strSQL & " , TBL.D AS 名1 "
> strSQL = strSQL & " , TBL.E AS アドレス "
> strSQL = strSQL & " , TBL.F AS 機会 "
> strSQL = strSQL & " , TBL.G As 名3 "
> strSQL = strSQL & " , TBL.H As 使用者 "
> strSQL = strSQL & " , TBL.コメント "
> strSQL = strSQL & " , TBL.I "
> strSQL = strSQL & " , TBL.J "
> strSQL = strSQL & " , TBL.K "
> strSQL = strSQL & " FROM (" & Me.RecordSource & ") AS TBL "
> strSQL = strSQL & " WHERE " & strWhere
> strSQL = strSQL & " ORDER BY TBL.COMM DESC" 'Bを降順で並べ替える
|
|