Microsoft Access ClubAccessフォーラムの過去ログIndexページAccess超初心者対象ForumAccess初級者対象ForumAccess初・中級者対象ForumAccess VBA Tips ForumDAO、ADO、SQL Forumサポートフォーラム

     

No168836.SQLの結果をエクセルのような表の形でフォームに表示したい

タイトルSQLの結果をエクセルのような表の形でフォームに表示したい
記事No: 168836
投稿日: 2011/05/30(Mon) 17:15
投稿者: sen
OS: WinXP
Access Version: 2000

SQLを実行し、Excelへ出力するソースを作成しました。

かなり割愛していますが、やっていることは次のようなことです。

クエリ文を作成し、
Set qdf = db.CreateQueryDef("", mySQL)
Set rs = qdf.OpenRecordset

エクセルを新規に開く処理の後、
Do Until rs.EOF
wks.Cells(iIndex, 1).Value = rs!ID
wks.Cells(iIndex, 2).Value = rs!内容
iIndex = iIndex + 1
rs.MoveNext
Loop

この結果、エクセルに期待通りの出力は出来るようになっています。

しかし。
本当はこの結果を、エクセルではなくアクセス上で表示したいのですが
方法が分かりません。

エクセルのような表の表示のフォームを開いて、エクセルと同じような
見栄えで確認できるようにしたいのですが。。。

調べていると、テーブルが必要なのかも?と思ってきたのですが、理解が及ばず
質問させていただきます。

よろしくお願いします。

タイトルRe: SQLの結果をエクセルのような表の形でフォームに表示したい
記事No: 168837
投稿日: 2011/05/30(Mon) 17:39
投稿者: コルネ
> Set qdf = db.CreateQueryDef("", mySQL)

QueryDef に名前付けたら?
DoCmd.OpenQuery で開けるんでないかな

タイトルRe^2: SQLの結果をエクセルのような表の形でフォームに表示したい
記事No: 168839
投稿日: 2011/05/30(Mon) 17:55
投稿者: sen
> > Set qdf = db.CreateQueryDef("", mySQL)
>
> QueryDef に名前付けたら?
> DoCmd.OpenQuery で開けるんでないかな


ご指摘を受けて、下記のように直してみました。

Set qdf = db.CreateQueryDef("testSQL", mySQL)
DoCmd.OpenQuery qdf.Name
db.QueryDefs.Delete "testSQL"

結果、期待した表示を出せるようになりました。
ありがとうございました。


このAccessフォーラム過去ログ集は、Microsoft Access Club が運営しています


 

ページの先頭へ 前ページへ戻る