- 題名: コンボボックスで範囲選択
- 日時: 2009/12/24 1:37:51
- ID: 26129
- この記事の返信元:
- (なし)
- この記事への返信:
- [26130] Re[1]: コンボボックスで範囲選択2009/12/24 7:42:58
- ツリーを表示
■No26143に返信(けーくんさんの記事)
> コンボボックス1で選択した列からコンボボックス2で選択した列までの
> レコードを別のテーブルに抽出したいと思い、質問させていただいた次第
> です。
取得するだけであれば ComboBox で選択された値を用いて,こんな SQL を
発行すると良いのではないでしょうか。
Select * From `年代事項data`
Where
`ID` >= ? And
`ID` <= ?
別のテーブルに追加ということでしたら Insert Select の構文を利用できそ
うです。
Insert Into `別のテーブル`
Select * From `年代事項data`
Where
`ID` >= ? And
`ID` <= ?
SQL の発行に関しましてはパラメータクエリを利用してこんな感じです。
Select であれば Command.ExecuteReader()
Insert, Update, Delete であれば Command.ExecuteNonQuery()
詳しくはこちらを参照ください。
.NET Framework クラス ライブラリ
OleDbCommand クラス
http://msdn.microsoft.com/ja-jp/library/system.data.oledb.oledbcommand(VS.80).aspx
Dim connection As System.Data.OleDb.OleDbConnection = Nothing
Dim command As System.Data.OleDb.OleDbCommand = Nothing
Try
connection = New System.Data.OleDb.OleDbConnection(...)
command = connection.CreateCommand()
command.CommandText = _
"Insert Into `別のテーブル` Select * From `年代事項data` Where `ID` >= ? And `ID` <= ?"
command.Parameters.Add("@minID", OleDb.OleDbType.Integer).Value = 200
command.Parameters.Add("@maxID", OleDb.OleDbType.Integer).Value = 300
connection.Open()
command.ExecuteNonQuery()
connection.Close()
Finally
If command IsNot Nothing Then
command.Dispose()
End If
If connection IsNot Nothing Then
connection.Close()
connection.Dispose()
End If
End Try
分類:[.NET]
はじめまして。
今までエクセルマクロを使ってテスト問題を作っていましたが、今回VBでの作成に挑戦しているところです。
VisualStudio2005を使用しております。
エクセルでは、コンボボックスを2つ使い、○番目の問題〜◎番目の問題までの中から、どれか25個の問題を選択するマクロを組んでいました。
これを、VBでどのように組めばいいのか、さっぱりわからず、今回こちらに質問をいたしました。
解決したい問題はたくさんありますのが、まずは、
コンボボックス1の値 〜 コンボボックス2の値 までのデータを抽出するにはどうすればよいかを教えていただけないでしょうか?
データベースには、約150個の問題があります。この150個の問題の中から、たとえば、23番目〜100番目のデータを抽出しなさい、という命令を2つのコンボボックスを使ってやりたいのです。
どうぞよろしくお願いいたします。