关于vba的有关问题,万分感激

fieldset{padding:10px;}

关于vba的问题,请指教,万分感激在rsview32里做报表,用vba语句,调用acess数据库,但在运行时提示错误代码80040e07,日期语法错误!程序如下:Sub BS_GetInfo()Dim BS_cn As ADODB.ConnectionDim BS_rs As ADODB.RecordsetDim BS_strCmd As StringDim BS_strCmd1 As StringDim BS_strCmd2 As StringDim BS_strCmd3 As StringDim BS_strCmd4 As StringDim BS_strCmd5 As StringDim BS_strCmd6 As StringDim BS_strCmd7 As StringDim BS_strCmd8 As StringDim BS_strCmd9 As StringDim BS_strCmd10 As StringDim BS_strCmd11 As StringDim BS_strCmd12 As StringDim BS_strCmd13 As StringDim BS_strCmd14 As StringDim BS_strCmd15 As StringDim BS_strCmd16 As StringDim BS_strCmd17 As StringDim BS_strCmd18 As StringDim BS_strCmd19 As StringDim BS_strCmd20 As StringDim BS_strCmd21 As StringDim BS_strCmd22 As StringDim BS_strCmd23 As StringDim BS_strCmd24 As StringDim BS_strCmd25 As StringDim BS_strCmd26 As StringDim BS_strCmd27 As StringDim BS_strCmd28 As StringDim BS_strCmd29 As StringDim BS_strCmd30 As StringDim BS_strCmd31 As StringDim BS_strCmd32 As StringDim BS_strCmd33 As StringDim BS_strCmd34 As StringDim BS_strCmd35 As StringDim BS_strCmd36 As StringDim BS_strCmd37 As StringDim BS_strCmd38 As StringDim BS_strCmd39 As StringDim BS_strCmd40 As StringDim BS_strCmd41 As StringDim BS_strCmd42 As StringDim BS_strCmd43 As StringDim BS_strTag As StringDim BS_I As LongDim BS_x As StringSet BS_cn = New ADODB.ConnectionSet BS_rs = New ADODB.RecordsetBS_cn.Open "Provider = Microsoft.Jet.OLEDB.4.0; Data Source=d:\BS_TABLE\BS_sheet.mdb;"BS_x = gTagDb("BS\strtime").ValueWith BS_rs.ActiveConnection = BS_cnBS_strCmd = BS_CreateSel("BS\11", CDate(BS_x)).Open BS_strCmd, , adOpenStatic, adLockReadOnlyEnd WithBS_rs.MoveFirstBS_I = 0While Not BS_rs.EOF BS_I = BS_I + 1 BS_strTag = "BS\table1_val" & BS_I gTagDb(BS_strTag).Value = BS_rs!Val BS_rs.MoveNextWendBS_rs.CloseBS_cn.Close……………………………………..……………………………………….( 中间部分省略,跟上面第一段一样)End SubPrivate Function BS_CreateSel(BS_strName As String, BS_dTime As Date) As String Dim BS_dTimeahad As Date, BS_dTimelate As Date BS_dTimeahad = DateAdd("s", -3, BS_dTime) BS_dTimelate = DateAdd("s", 3, BS_dTime) BS_CreateSel = "SELECT top 24 FloatTable.* ,TagTable.* FROM FloatTable,TagTable WHERE TagTable.TagName=’" _ & BS_strName & "’and FloatTable.TagIndex=TagTable.TagIndex " _ & "AND FloatTable.DateAndTime > #" & BS_dTimeahad & "# order by FloatTable.DateAndTime"End Function红字部分有错误,& "AND FloatTable.DateAndTime > #" & BS_dTimeahad & "# order by FloatTable.DateAndTime把这段去掉后,运行无错误,但不能实现按日期查询数据功能!请各位大侠指教,急!!万分感激!——解决方案——————————————————–干吗非要加个‘上午/下午’啊?直接用24时制的时间不行吗!"AND FloatTable.DateAndTime > ‘#" & format$(BS_dTimeahad,"yyyy-mm-dd hh:mm:ss") & "#’  order by FloatTable.DateAndTime"——解决方案——————————————————–VB code

    Dim strTemp$    If (Hour(BS_dTimeahad) < 12) Then        strTemp = Replace(Format$(BS_dTimeahad, "yyyy-mm-dd 上午TT:nn:ss"), "TT", Hour(BS_dTimeahad), 1, 1)    Else        strTemp = Replace(Format$(BS_dTimeahad, "yyyy-mm-dd 下午TT:nn:ss"), "TT", Hour(BS_dTimeahad), 1, 1)    End If    BS_CreateSel = "SELECT top 24 FloatTable.* ,TagTable.*  FROM FloatTable,TagTable WHERE TagTable.TagName='" _            & BS_strName & "'and FloatTable.TagIndex=TagTable.TagIndex " _            & "AND FloatTable.DateAndTime > #" & strTemp & "# order by FloatTable.DateAndTime"仿佛一支飘荡在水上的华丽咏叹调。

关于vba的有关问题,万分感激

相关文章:

你感兴趣的文章:

标签云: