当一列不存在的时候,它提示:至少一个参数没被指定值
'***********************************************************************
Function CheckFieldsExist(TableName As String, FldName As String) As Boolean
'***********************
'判断一个表里的一列是否存在,如果存在则CheckFieldsExist=TRUE否则CheckFieldsExist=FALSE
'***********************
    Dim STRSQL As String
    cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ='" + App.Path + "\info.mdb';Persist Security Info=False"
    On Error Resume Next    STRSQL = "SELECT  & FldName &  from  & TableName"
    cnn.Execute STRSQL'错误出现在此处,
    CheckFieldsExist = (Err.Number = 0)
End Function为什么呢???我怀疑是WIN98系统的问题,因为以前是好用的。并且其他的一些以前好用的函数,现在有的也不好用了。不知道什么原因。请指教。

解决方案 »

  1.   

    STRSQL = "SELECT " & FldName & " from " & TableName
      

  2.   

    肯定是这句话有问题啦:“ STRSQL = "SELECT  & FldName &  from  & TableName" ”
      

  3.   

    STRSQL = "SELECT " & FldName & " from " & TableName
      

  4.   

    不好意思,帖错了是:
    '***********************************************************************
    Function CheckFieldsExist(TableName As String, FldName As String) As Boolean
    '***********************
    '判断一个表里的一列是否存在,如果存在则CheckFieldsExist=TRUE否则CheckFieldsExist=FALSE
    '***********************
        
      On Error Resume Next
        Dim STRSQL As String
        Dim cnn As New ADODB.Connection
        cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ='" + App.Path + "\info.mdb';Persist Security Info=False"
        STRSQL = "SELECT " & FldName & " from " & TableName
        cnn.Execute STRSQL
        CheckFieldsExist = (Err.Number = 0)End Function
      

  5.   

    上楼的代码,也提示错误。
    在cnn.Execute STRSQL行提示:至少一个参数没被指定值
    这就是我为什么怀疑是系统的问题。