- 題名: 日付の検索
- 日時: 2003/11/21 15:36:30
- ID: 1519
- この記事の返信元:
- (なし)
- この記事への返信:
- [1520] Re[1]: 日付の検索2003/11/21 18:09:01
- ツリーを表示
> ちょっと初心者なのでよく分からないのですが・・・。 > プログラム内ではどうすればいいのでしょうか? > 一応下記のようにしてみたんですができません。 > ボタンを押したらデータグリッドに表示されるようにしてあります。 > fukuです、おはようです。 説明が面倒なのでサンプルを作ってみました。 どうかな? 'DataGridへ設定 Private Sub Form7_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim intReccount As Integer intReccount = Me.OleDbDataAdapter1.Fill(Me.DataSet41, "T_入力") Me.DataGrid1.DataSource = Me.DataSet41 Me.DataGrid1.DataMember = "T_入力" End Sub '日付の変更 Private Sub MonthCalendar1_DateChanged(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DateRangeEventArgs) Handles MonthCalendar1.DateChanged Me.TextBox1.Text = MonthCalendar1.SelectionStart.ToString("d") Me.TextBox2.Text = MonthCalendar1.SelectionEnd.ToString("d") End Sub 'DataGridの更新 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim myOleDbCommand As New OleDb.OleDbCommand Dim intReccount As Integer Dim strSQL As String '日付抽出用 strSQL = "SELECT 日付,予定 FROM T_入力 " & _ "WHERE ((日付>=#" & Me.TextBox1.Text & "#) AND (日付<=#" & Me.TextBox2.Text & "#))" myOleDbCommand = New OleDb.OleDbCommand(strSQL, Me.OleDbConnection1) 'SELECT用のOleDbCommandを設定 Me.OleDbDataAdapter1.SelectCommand = myOleDbCommand '読み込む前にテーブルをクリア Me.DataSet41.Tables("T_入力").Clear() 'DataSetへ再読み込み intReccount = Me.OleDbDataAdapter1.Fill(Me.DataSet41.Tables("T_入力")) myOleDbCommand.Dispose() myOleDbCommand = Nothing End Sub 以上です。
■No1540に返信(AKATSUKIさんの記事) > ■No1536に返信(fukuさんの記事) >>■No1533に返信(AKATSUKIさんの記事) >> > Dim intReccount As Integer などのところの Asのところにエラー > がででしまいます。どうしたらよいのでしょうか? > 何度も質問してすいません。 > fukuです。 C#です。 //DataGridへ設定 private void Form1_Load(object sender, System.EventArgs e) { int intReccount; intReccount = oleDbDataAdapter1.Fill(dataSet41, "T_入力"); dataGrid1.DataSource = dataSet41; dataGrid1.DataMember = "T_入力"; } //日付の変更 private void monthCalendar1_DateChanged(object sender, System.Windows.Forms.DateRangeEventArgs e) { textBox1.Text = monthCalendar1.SelectionStart.ToString("d"); textBox2.Text = monthCalendar1.SelectionEnd.ToString("d") ; } //DataGridの更新 private void button2_Click(object sender, System.EventArgs e) { OleDbCommand myOleDbCommand; int intReccount; string strSQL; //日付抽出用 strSQL = "SELECT 日付,予定 FROM T_入力 WHERE ((日付>=#" + textBox1.Text + "#) AND (日付<=#" + textBox2.Text + "#))"; myOleDbCommand = new OleDbCommand(strSQL, oleDbConnection1); //SELECT用のOleDbCommandを設定 oleDbDataAdapter1.SelectCommand = myOleDbCommand; //読み込む前にテーブルをクリア dataSet41.Tables["T_入力"].Clear(); //DataSetへ再読み込み intReccount = oleDbDataAdapter1.Fill(dataSet41, "T_入力"); myOleDbCommand.Dispose(); }
データベース ACCESS
日付 | 予定
--------------------------
2003/01/01 | AAAA
2003/01/02 | AAAB
2003/01/03 | AAAC
2003/01/04 | AAAD
2003/01/05 | AAAE
2003/01/06 | AAAF
2003/01/07 | AAAC
日付の範囲を指定して検索してデーターグリッドに表示するにはどうしたら
いいんでしょうか?
(例 2003/01/01 〜2003/01/04 の予定を検索してデーターグリッドに表示)
カレンダーで日付の範囲を指定するようになっています。
【カレンダーで日付範囲のプログラムソース】
private void monthCalendar1_DateChanged(object sender, System.Windows.Forms.DateRangeEventArgs e){
textBox1.Text = monthCalendar1.SelectionStart.ToString("d");
textBox2.Text = monthCalendar1.SelectionEnd.ToString("d") ;
}