質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

Q&A

解決済

1回答

3968閲覧

Access vba ADO 取得したクエリをフォームフッターに表示したい 

nekomura

総合スコア132

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

SQL Server

SQL Serverはマイクロソフトのリレーショナルデータベース管理システムです。データマイニングや多次元解析など、ビジネスインテリジェンスのための機能が備わっています。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

0グッド

0クリップ

投稿2016/05/06 07:39

よろしくお願いいたします。

Sqlserverから、ODBCデータベースツールを使用して、リンクテーブルを2つ作り、
それら二つを合わせたクエリ、Q_m_kokyaku_shohinを作りました。

フォームは、作成タブより「フォームデザイン」でつくり、フォームヘッダにボタンとテキストボックスを配置しています。

このクエリQ_m_kokyaku_shohinのデータ一覧を、ボタン押下後、フォームフッターに表示したいのです。
エラーは出ないのですが、ボタン押下後も特に変化がありません。
(何も表示されない)

Private Sub クエリ取得_Click() If IsNull(Me!伝票番号) Then MsgBox "伝票番号テキストボックスに値を入力してください" Exit Sub End If Dim Cn As ADODB.Connection Dim Rs As ADODB.Recordset Dim strSQL As String Set Cn = CurrentProject.Connection Set Rs = New ADODB.Recordset Rs.Open "SELECT * FROM Q_m_kokyaku_shohin", Cn, adOpenStatic, adLockOptimistic Rs.Close Cn.Close Set Rs = Nothing Set Cn = Nothing ' End Sub

何かコードの表記が足らないのか、もしくはフォームのプロパティで何か設定をしなければならないのか、
お知恵を貸していただきたく存じます。
どうぞよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Recordsetを開いただけでは、ダメです
取得した結果を表示させるコードを

Rs.Open "SELECT * FROM Q_m_kokyaku_shohin", Cn, adOpenStatic, adLockOptimistic

から

Rs.Close

の間に書いてあげないといけません

例示のコードだと

  • Recordsetを開く

  • 開いたRecordsetを閉じて

だけです

投稿2016/05/06 09:58

dojikko

総合スコア3939

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nekomura

2016/05/06 10:05

dojikko様 ご回答に感謝いたします。 間に記述するコードですが、 こんな感じでしょうか…? Rs.MoveFirst Do Until Rs.EOF     //ここの記述がわかりません Rs.MoveNext Loop また、フォームは分割フォームで、方向は「データシートを下に」で設定しており、 フォームフッターはフォームビューの見た目ではデータシート状になっています。 お忙しいところ大変恐縮ですが、今一度ご教示をいただけないでしょうか。
dojikko

2016/05/06 10:41

Accessはあまり詳しくないので、惑わせるだけかもしれませんが FormのRecordSource で設定してあげたらいけるのでは?と思ったり Form.RecordSource プロパティ https://msdn.microsoft.com/ja-jp/library/office/ff821093.aspx の > 次の使用例では、cmboCompanyName コンボ ボックス コントロールで選択された得意先名によって、フォームのレコード ソースを Customers テーブルの 1 つのレコードに変更します。このコンボ ボックスは、得意先名に対応する得意先コードを返す SQL ステートメントで構成されます のようなことが、やりたいことなのかなと...
nekomura

2016/05/07 08:37

dojikko様 いつもありがとうございます。 ちょっとまだ私のスキルでは、あまり理解ができませんでした…。 お力添えをいただいているにもかかわらず申し訳ないです。 もう少し読み進めて、がんばってみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問