2013-07-16 30 views
1

我有一個excel工作表,其中包含我想用datetimepicker(僅需要日期)的日期。我只想點擊datetimepicker,選擇一個日期,並且它必須向我顯示數據網格視圖中的信息。這是我的按鈕代碼。如何讓datetimepicker工作

我有一個txt框,我已經嘗試過,但無法獲得日期,我現在把一個datetimepicker框,但無法讓ii工作。

對此有幫助。

這裏是我的主要代碼

Imports System.Data.OleDb 

Public Class Tapes_info 
Private dtGlobal As New DataTable 


Private Sub Tapes_info_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    dtGlobal.Clear() 
    Using cn As New OleDb.OleDbConnection 
     Dim Builder As New OleDbConnectionStringBuilder With {.DataSource = IO.Path.Combine(Application.StartupPath, "Backuptapes.xls"), .Provider = "Microsoft.ACE.OLEDB.12.0"} 
     Builder.Add("Extended Properties", "Excel 12.0; IMEX=1;HDR=No;") 
     cn.ConnectionString = Builder.ConnectionString 
     cn.Open() 
     Using cmd As OleDbCommand = New OleDbCommand With {.Connection = cn} 

      cmd.CommandText = "SELECT TOP 5130 F1 As Tapes, F2 As Containere, F3 as ContainerRef, F4 as DateOut FROM [Tapese$]" 
      Dim dr As System.Data.IDataReader = cmd.ExecuteReader 
      dtGlobal.Load(dr) 
      LstTape.DisplayMember = "Tapes" 
      LstTape.DataSource = dtGlobal 
      txtContainer.DataBindings.Add("Text", dtGlobal, "Containere") 
      txtContainerRef.DataBindings.Add("Text", dtGlobal, "ContainerRef") 
      txtDateOut.DataBindings.Add("Text", dtGlobal, "Dateout") 

     End Using 
    End Using 
End Sub 

這裏是我的按鈕的代碼,我要顯示我想要的任何日期。

Private Sub BtnSearchDateOut_Click(ByVal sender As System.Object, ByVal e As  System.EventArgs) Handles BtnSearchDateOut.Click 

For i As Integer = 0 To dtGlobal.Rows.Count - 1 
    If IsDBNull(dtGlobal.Rows(i)("Dateout")) Then 
     dtGlobal.Rows(i)("Dateout") = "" 
    End If 
Next 

Dim query = From item In dtGlobal.AsEnumerable() Where item.Field(Of String)("Dateout").StartsWith(txtSearchDateOut.Text) Select item 
If query.Count > 0 Then 
    Dim newDT As DataTable = query.CopyToDataTable() 

    MsgBox(newDT.Rows.Count.ToString() & " Date out found.") 

    Dim frm As New Form() 
    Dim dgv As New DataGridView() 
    dgv.DataSource = newDT 
    dgv.Refresh() 
    frm.Controls.Add(dgv) 
    dgv.Dock = DockStyle.Fill 
    frm.Size = New Size(1400, 700) 
    frm.Show() 

Else 
    MsgBox("There is no Date for this found.") 'message 
End If 
+0

哪種語言? –

+0

我正在使用的程序是vb.net 2010 – Hendrik

+0

那麼你應該標記有問題的語言。讓我爲你做。否則你將無法得到答案 –

回答

0

我不知道你是如何使用的日期來篩選結果,但你會希望通過獲取來自dateTimePicker的日期開始;像這樣:Dim dt As Date = Me.DateTimePicker1.Value然後你可以使用dt.date作爲過濾的輸入。