本帖最后由 bcrun 于 2012-02-29 21:51:04 编辑

解决方案 »

  1.   

    erdong988 要不我把文件发你 你帮我看看
      

  2.   

    你的Like语句使用怎么没有%之类的?LIKE 是另一個在 WHERE 子句中會用到的指令。基本上, LIKE 能讓我們依據一個模式 (pattern) 來找出我們要的資料。相對來說,在運用 IN 的時候,我們完全地知道我們需要的條件;在運用 BETWEEN 的時候,我們則是列出一個範圍。 LIKE 的語法如下: SELECT "欄位名" 
    FROM "表格名" 
    WHERE "欄位名" LIKE {模式} {模式} 經常包括野卡 (wildcard). 以下是幾個例子: 
    'A_Z': 所有以 'A' 起頭,另一個任何值的字原,且以 'Z' 為結尾的字串。 'ABZ' 和 'A2Z' 都符合這一個模式,而 'AKKZ' 並不符合 (因為在 A 和 Z 之間有兩個字原,而不是一個字原)。 'ABC%': 所有以 'ABC' 起頭的字串。舉例來說,'ABCD' 和 'ABCABC' 都符合這個模式。 '%XYZ': 所有以 'XYZ' 結尾的字串。舉例來說,'WXYZ' 和 'ZZXYZ' 都符合這個模式。 '%AN%': 所有含有 'AN'這個模式的字串。舉例來說, 'LOS ANGELES' 和 'SAN FRANCISCO' 都符合這個模式。 
    我們將以上最後一個例子用在我們的 Store_Information 表格上: Store_Information 表格
    store_name  Sales  Date  
    LOS ANGELES  $1500  Jan-05-1999  
    SAN DIEGO  $250  Jan-07-1999  
    SAN FRANCISCO  $300  Jan-08-1999  
    BOSTON  $700  Jan-08-1999  我們就鍵入,
    SELECT * 
    FROM Store_Information 
    WHERE store_name LIKE '%AN%'結果: store_name  Sales  Date  
    LOS ANGELES  $1500  Jan-05-1999  
    SAN FRANCISCO  $300  Jan-08-1999  
    SAN DIEGO  $250  Jan-07-1999  
      

  3.   

    在VB中按F8单步跟踪。
    如5楼所说,查询SQL语句中应该有通配符
    查了一下 ACCESS中,%对应的是*
    还有 SQL语句中该有空格的地方不能没有http://apps.hi.baidu.com/share/detail/10348306
      

  4.   

    VB中即使是ACCESS数据库仍然是 %但楼主的问题,建议还是先单步调试,指出错误的语句然后以便大家分析。
      

  5.   

    1,like后加空格:
    Adodc1.RecordSource = "select b.读者编号,b.读者姓名,c.书籍名称 from b,c where b.读者编号=c.读者编号 and b.读者编号 like '" & Trim(Text2.Text) & "'"
    2,出生日期在数据库中什么数据类型?
    3,text3控件中输入了什么值?
      

  6.   

    Adodc1.RecordSource = "select b.读者编号,b.读者姓名,c.书籍名称 from b,c where b.读者编号=c.读者编号 and b.year(出生日期)=" & Trim(Text3.Text) & ""检查出生日期的数据类型(应该不会是数值类型):日期类型:
    b.year(出生日期)=#" & Trim(Text3.Text) & "#" & ""
    文本类型:
    b.year(出生日期)='" & Trim(Text3.Text) & "'" & ""