sql = "select num from numtable where num=a"
难道你的表名就叫 table1 ?
如果那样我就不知道有什么问题了, 在 FROM 后面直接写你的数据库中的表名呀.
也许我说得什么都不是, 我还没理解你的问题.

解决方案 »

  1.   

    sql = "SELECT num FROM table1 where num=a"
    这句话有错,应该写成:sql = "SELECT num FROM table1 where num='" & a & "'"
      

  2.   

    num字段是字符型的話︰
    sql = "SELECT num FROM table1 where num='" & a & "'"
    num字段是數字型的話︰
    sql = "SELECT num FROM table1 where num=" & a
      

  3.   

    你定义了变量table1怎么没有赋值呀?
    如果sql中的table1就是那个变量,应该写成:
    sql= "SELECT num FROM " & table1 & " where num=a"
    如果不执行DATABASE1.REFRESH,那条sql并没有执行,当然没有反应
      

  4.   

    哦!应该是sql= "SELECT num FROM " & table1 & " where num='" & a & "'"
      

  5.   

    Table1变量没有赋值啊
    程序中要传递的SQL语句是一个字符串,ADO怎么知道你的Table1=? a=? 
    所以需要将Table1,和a的值告诉ADO
    SQL="Select Num From " & Table1 & " Where Num=" & a
    Num的类型不一样写法也不一样的。
    日期类型:
    SQL="Select Num From " & Table1 & " Where Num=#" & Format(Cdate(a),"YYYY/MM/DD") & "#"
    字符类型︰
    sql = "Select Num From " & Table1 & " Where Num='" & a & "'"
    数值类型︰
    sql = "Select Num From " & Table1 & " Where Num=" & a
    ...
      

  6.   

    我太同意TYRO 的观点了!
    table1="表1"
    sql="Select num from " & table1 & " where num=0"
    ...___  我是  ZCOM .
      

  7.   

    你的表名错了,要用acess数据库中的那个表名,首先要建立连接
    dim cn as rdo.rdoconnection
    cn......
    dim rs 
    set rs=cn.open sql  'sql=select * from 表名
    不能随便的定义的table1 
      

  8.   

    加上一句:
    dim a as string
      

  9.   

    Dim a As Variant
    Dim t As String
    Dim sql As String
    a = Text5.Text
    t = ADODC1.RecordSource
    sql = "Select Num From " & t & " Where Num=" & a
    ADODC1.RecordSource = sql
    ADODC1.Refresh
    各位大哥我非常感谢你们的热心帮助,但是我现在该做的都做了,但VB还是出同样的错,
    真是气死我了。我现在终于知道为什么VB搞数据库没有VFP快了。你们就再帮我检查一下
    这个烦人的SQL吧,我一定会给你们很多分的。谢了。
      

  10.   

    改成dim a as string ' Variant
    Text5.text的内容是什么?
      

  11.   

    是不是你还没打开数据库?要先打开数据库后,才能用SQL语句打开表查询的。
      

  12.   

    参考如下打开数据库代码:
    Public db As New Connection
        Dim db As Connection
        Set db = New Connection
        db.CursorLocation = adUseClient
    //此处也可以用ODBC方式打开
        db.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=D:\study\vb\lsc1.mdb;"    
        Dim i As Long
        Dim id As Long
        Dim Begin
        Begin = Time
        Dim rst As New Recordset
        Set rst = New Recordset
    //把SQL语句写好
        rst.Open "select * from 模拟量变化历史表 where id=1097", db, adOpenDynamic, adLockOptimistic
        rst.MoveFirst
        For i = 0 To rst.RecordCount - 1
            id = rst.Fields("ID")
            rst.MoveNext
            ProgressBar1.Value = i
        Next i
        rst.Close
        Set rst = Nothing
        db.Close
      

  13.   

    错误信息是SQL 的FROM字句出错
      

  14.   

    a = Text5.Text
    t = ADODC1.RecordSource
    '在這兒設一斷點
    sql = "Select Num From " & t & " Where Num=" & a調試一下,確認t得到了你的表名,a得到了要查詢的Num值 
      

  15.   

    sql = "Select Num From table1 Where Num = " & a
    如果table1是表名,直接引用即可,不用 &分隔的。
      

  16.   

    这个问题已解决了,最后还是听朋友的用了DAO才搞定的。用ADO方式错误依旧,
    等MICROSFOT明年出了VB7再说吧,呵呵。总之还是感谢感谢。