VB到Microsoft Access数据库 - WHERE花费日期> ='“& StartMonth&”'“

时间:2016-01-08 13:48:58

标签: vb.net vba access-vba

我在Visual Studio中使用Microsoft Access作为我的数据源,并希望在其中输入查询以返回值。

这是我的代码:

 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    MyConn = New OleDbConnection
    MyConn.ConnectionString = connString
    ds = New DataSet
    tables = ds.Tables
    da = New OleDbDataAdapter("Select * from [Spend]", MyConn)
    da.Fill(ds, "Spend")
    Dim view As New DataView(tables(0))
    source1.DataSource = view
    DataGridView1.DataSource = view

    MyConn.Open()
    StartMonth = System.DateTime.Now.ToString("01/MM/yyyy HH:mm:ss")
    query = "Select Amount from [Spend] WHERE Spend Date >='" & StartMonth & "'"
    cmd = New OleDbCommand(query, MyConn)
    TotalCost = CInt(cmd.ExecuteScalar())
    MyConn.Close()
 End Sub
End Class

我收到此错误:

查询表达式中的语法错误(缺少运算符)'花费日期> ='01/01/2016 13:46:50''

有人可以帮忙吗?

3 个答案:

答案 0 :(得分:1)

对于Access,您应该使用:

StartMonth = System.DateTime.Now.ToString("yyyy'/'MM'/'01 HH:mm:ss")
query = "Select Amount from [Spend] WHERE [Spend Date] >= #" & StartMonth & "#"

答案 1 :(得分:0)

我找到了问题的答案。

如果列名由空格分隔,例如'花费日期'

你必须将它括在括号内,如[支出日期]

希望这有帮助。

答案 2 :(得分:0)