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

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

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

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

Access

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

Q&A

解決済

1回答

2627閲覧

accessのVBAの質問です

drizzing20

総合スコア363

VBA

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

Access

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

0グッド

0クリップ

投稿2015/12/21 04:00

accessでDBからデータを検索して出力するということをしたいです。

現状ではボタンとテキストボックスがあって、ボタンを押すとテキストボックスにDBのデータが一覧表示されるだけになっています。これにテキストボックスとボタンを一つずつ追加する。 テキストボックスに文字を入れたら、それに一致するデータが表示されるようにしたいです。

VBA

1Private Sub b01_Click() 2 3Dim oDB As Database 4Dim oRS As DAO.Recordset 5Dim str As String 6 7Set oDB = CurrentDb 8Set oRS = oDB.OpenRecordset("SELECT * FROM 学生管理テーブル;") 9 10str = "" 11t01.Value = str 12 13Do Until oRS.EOF 14 str = str & "学籍番号:" & oRS!学籍番号 & " / 名前:" & oRS!名前 & " / 学年:" & oRS!学年 & " / コース:" & oRS!コース & vbCrLf 15 oRS.MoveNext 16Loop 17 18t01.Value = str 19 20 21End Sub

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

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

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

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

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

guest

回答1

0

ベストアンサー

テキストボックスに文字を入れたら、それに一致するデータが表示されるようにしたいです。

テーブルデータの何と一致するデータを表示するのでしょうか。

テキストボックスに名前をいれて、名前が一致するレコードを表示ですか。
学籍番号を入力して、それと学籍番号が一致するレコードですか。
それとも、・・・
各席番号、名前、学年、コース どれが入力されるかは不定ですか。

また、完全一致ですか。部分一致ですか。

これらの条件により方法は異なってきます。

とりあえず、名前を入力して、完全一致するレコードを表示するなら、
レコードセットを開くときのコードを下記に変更すればOKです。

vba

1Set oRS = oDB.OpenRecordset("SELECT * FROM 学生管理テーブル WHERE 名前='" & Me.txt1 & "';")

テキストボックス名は txt1 と仮定してます。

他の条件の場合は、WHERE 以降を適宜変更すればいいでしょう。

ちなみに、テキストボックスに結果を表示してますが、フォームのデータシートビュー、帳票ビューで一覧表示できるということはご存知ですか。また、その一覧表示から、Filterプロパティで希望の抽出ができることもご存じですか。そのうえで、あえてテキストボックスを選択しているならいいのですが。

投稿2015/12/21 05:12

hatena19

総合スコア33699

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問