rt

解决方案 »

  1.   

    分析一下SQL语句,肯定是首先把"From "以后的都取出来,然后应该是判断where,把前面的取出来,然后split(myStr, ",")来分割。基本思路是这个。
      

  2.   

    分析一下SQL语句,肯定是首先把"From "以后的都取出来,然后应该是判断where,把前面的取出来,然后split(myStr, ",")来分割。基本思路是这个。
      

  3.   

    select aa.a,aa.b,bb,c from xx a,yy b,zz c where ......先取出from后面的,where 前面的 即:xx a,yy b,zz c 分割,碰到一个空格就往后跳找下一个“,”如果到","找完就出来结果了,思路是这个,具体怎么做需要几个函数,自己找找吧
      

  4.   

    表名就跟在"From"后面和"Join"后面,基本上就这两种情况.
      

  5.   

    好象你已问过这个问题吧。
    就是找表前和表后的两个关键词,如from,where,再把中间的分出来。Dim sql, findsql As String
    sql = "SELECT aa,bb,cc FROM table1 WHERE 1=1"
    findsql = Right(sql, InStr(1, sql, "FROM"))
    findsql = Trim(Left(findsql, InStr(1, findsql, " WHERE")))
    MsgBox findsql
      

  6.   

    你的SQL  一定要有特点如:  
    1.  select * From a,b where ....
    2.  select * from a Inner Join b on a.xx=b.xx where
    总之要有特点,然后根据这些特点取出所涉及到的表名
      

  7.   

    to abc10(什么时候才会有五个角?) 
    谢谢,上次哪个可以,但当SQL语句复杂点就会出现截取不正确得情况
      

  8.   

    例如我把sql = "SELECT aa,bb,cc FROM table1 WHERE 1=1"
    改为:sql = "SELECT aa,bb,cc,dd FROM table1 WHERE 1=1"
    就会截取错误
      

  9.   

    sorry,用错了一个函数Dim sql, findsql As String
    sql = "SELECT aa,bb,cc,dd FROM table1 WHERE 1=1"
    findsql = Mid(sql, InStr(1, sql, "FROM") + 4)
    findsql = Trim(Left(findsql, InStr(1, findsql, " WHERE")))
    MsgBox findsql