2017-08-14 3 views
1

vbaからSELECT SQLを実行し、その結果をデータシートとして表示する良い例が見つかりませんでした。 31のフィールドを持つクエリがあります。私は決して使用されないかもしれないストアドクエリの束を構築するのではなく、ユーザーが結果で見たいフィールドを選択できるフォームを作成しようとしています。 私は小さいから始めています...私は、表示したいフィールドを構築するために使用している3つのオプションボタンで構築されたフォームを持っています。 SQLは正しく見えますが、過去にSQLを実行することはできましたが、結果をデータシートとして表示することはありませんでした。 あなたが提供できるお手伝いをさせていただき、ありがとうございます。MSACCESS 2013 - vbaからSELECT SQLを実行して表示する方法

Private Sub btn_RunQuery_Click() 

Dim int_build_fields As Integer 
Dim str_fields As String 
Dim int_length As Integer 
Dim rs_query As Recordset 
Dim str_SQL As String 
Dim str_List As String 

str_fields = "" 

If opt_Jobname Then 
    str_fields = str_fields & ", Jobname" 
End If 

If opt_CycleDate Then 
    str_fields = str_fields & ", CycleDate" 
End If 

If opt_EndTime Then 
    str_fields = str_fields & ", EndTime" 
End If 

'Remove comma and space from first field 
    int_length = Len(str_fields) 
    str_fields = Right(str_fields, (int_length - 2)) 

str_SQL = " SELECT " & str_fields & " FROM UnionWithJobnamesAndGeneralStats" 

MsgBox "str_SQL = " & str_SQL 

Set rs_query = CurrentDb.OpenRecordset(str_SQL) 

'Not sure how to execute & display the SQL here... 

rs_query.Close 
Set rs_query = Nothing 

MsgBox "Done" 

End Sub 
+2

[vbaを使用してアクセステーブルのレコードセットを表示する方法](https://stackoverflow.com/questions/5182087/how-to-view-a-recordset-in-an-access) vba-means-of-vba) – Andre

答えて

-1

データベース接続 "CurrentDb"は定義されておらず、セットアップされていませんか? )詳細は

チェックAccessing SQL Database in Excel-VBAを、

はあなたの接続を閉じることを忘れないでください。

+2

Eh ... Excel VBAではなくAccess VBAなので、currentDbは常に設定されており、アクセスしているデータベースへの接続を作成する必要はありません。それを閉じる必要がありますか? –

関連する問題