InStrRev为什么不能在SQL中应用???
而InStr在下列程序中成立????
Sub Text()
Set conn = CreateObject("ADODB.Connection")
Set rs = CreateObject("adodb.recordset")
conn.Open "DRIVER={Microsoft Text Driver (*.txt; *.csv)};DBQ=d:\", "", ""
InStrRev在下列程序应用不成立 
 'rs.Open "select distinct  Right(aa, InStrRev(aa, '.')) as bb  from m.txt", conn, 1, 3
InStr在下列程序应用成立 
rs.Open "select distinct  Right(aa, InStr(aa, '.')) as bb  from m.txt", conn, 1, 3rs.movefirstFor ii = 0 To rs.RecordCount - 1
  sss = rs.fields(0)
  'Debug.Print GetLocalPathFileExt(sss)
  Debug.Print sss
  rs.movenext
Next ii
End Sub

解决方案 »

  1.   

    InStrRev(D, ".")在功能函数中应用成立---这是为什么?Function GetLocalPathFileExt(ByVal D)
     If Len(D) = 0 Then Exit Function
     If InStr(strFileName, ".") < 0 Then Exit Function
     GetLocalPathFileExt = Right(D, Len(D) - InStrRev(D, "."))End FunctionSub Text11()
    Set conn = CreateObject("ADODB.Connection")
    Set rs = CreateObject("adodb.recordset")
    conn.Open "DRIVER={Microsoft Text Driver (*.txt; *.csv)};DBQ=d:\", "", ""
    rs.Open "select distinct * from m.txt", conn, 1, 3
    rs.movefirstFor ii = 0 To rs.RecordCount - 1
      sss = rs.fields(0)
      Debug.Print GetLocalPathFileExt(sss)
      rs.movenext
    Next ii
    End Sub
      

  2.   

    VB是通过相关数据引擎访问数据库的,对应数据库的数据引擎支持的SQL函数才能运行,并不是所有的VB函数或数据库函数数据库引擎都支持的......