代码如下:Private Sub Command1_Click()
Set db = New ADODB.Connection
Set rs = New ADODB.Recordset
db.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=lzjc;Data Source=."
db.Open
If Option1.Value = True Then
rs.Open "declare @a varchar(20) set @a=(select DateName(year,GetDate())) select sum(收入) as 第一月销售总金额  from ri where 日期 between  LTRIM(@a)+'-9-1' and LTRIM(@a)+'-9-30'", db, adOpenStatic, adLockReadOnly
Set DataGrid1.DataSource = rs
End If
End Sub
运行提示 行集合不能作为标签
改了declare @a varchar(20) set @a=(select DateName(year,GetDate())) select sum(收入) as 第一月销售总金额  from ri where 日期 between  LTRIM(@a)+'-9-1' and LTRIM(@a)+'-9-30'为select sum(收入) as 第一月销售总金额  from ri where 日期 between '2009-9-1' and '2009-9-30'就能成功

解决方案 »

  1.   

    后边改写为:日期 between  convert(datetime,@a+'-9-1') and convert(dateime,@a+'-9-30')
      

  2.   

    declare @a varchar(20) set @a=(select DateName(year,GetDate())) --SELECT  LTRIM(@a)+'-09-01' + LTRIM(@a)+'-09-30'select sum(收入) as 第一月销售总金额  
    from ri 
    where 日期 between  LTRIM(@a)+'-09-1' and LTRIM(@a)+'-09-30'??
      

  3.   

    select sum(收入) as 第一月销售总金额  
    from ri 
    where 日期 between  LTRIM(@a)+'-09-01' and LTRIM(@a)+'-09-30'
      

  4.   

    为什么不直接在vb中构建好 这个sql语句呢