做一个查询统计这样做为什么不行那里不对如何修改谢谢统计窗体代码:
Private Sub OKButton_Click()
    
    Dim st As String
    Dim en As String
    
    st = Combo1.Text + "-" + Combo2.Text + "-" + Text1.Text
    en = Combo4.Text + "-" + Combo3.Text + "-" + Text2.Text
        
    If Not IsDate(st) Or Not IsDate(en) Then
        MsgBox "您输入的时间个是有误!请重试!"
        Exit Sub
    End If
    
    sta_time = CDate(st)
    end_time = CDate(en)
    Dim sumje As String
    
    Dim conn As New ADODB.Connection
    Dim rs As New ADODB.Recordset
    conn.Open "DSN=lxd;UID=;PWD=;"
    Dim sumsql As String
    sumsql = "select sum(je) as hj from bak where date_in between #" & sta_time & "# and #" & end_time & "#"
    Set rs = conn.Execute(sumsql)
    sumje = rs("hj")
    conn.Close
    Set conn = Nothing
    Set rs = Nothing
    tj.Show
    Unload Me
End Sub
执行后结果显示到tj.from的Text1.Texttj.from的代码:
Private Sub Form_Load()
   Text1.Text = Text1.Text + " 出借收入合计 " + vbCrLf
   Text1.Text = Text1.Text + " 合计:" + CStr(sumje) + vbCrLf
End Sub

解决方案 »

  1.   

    将“#”号改为“'”号 ,如下:
    sumsql = "select sum(je) as hj from bak where date_in between '" & sta_time & "' and '" & end_time & "'"
      

  2.   

    用的什么数据库?如果用Access时间用##,如果是SQL Server 时间用‘’
      

  3.   

    sumsql = "select sum(je) as hj from bak where date_in between #" & sta_time & "# and #" & end_time & "#"看看结果,执行一下
      

  4.   

    很简单,添加一个模块,在其中声明一个变量如下
    Public sumje as double就可,但必须提出你有一句出错:
    Dim sumsql As String
    sumje = rs("hj")
    错误,应当写成Public sumje as doublesumje = rs("hj")改成
    sumje = iif(isnull(rs("hj").value),0,rs("hj").value)
    就可以了