Ms access Access MDB VBA查询不工作

Ms access Access MDB VBA查询不工作,ms-access,vba,Ms Access,Vba,我试图连接到VBA中的access数据库文件并创建一个表,但在插入值后,我似乎无法查询回这些值。例如,查询“SELECT*FROM TESTME WHERE'Portfolio'='FALL'总是不返回任何记录。我甚至尝试过“While NOT RS.EOF”,但它总是正确的。你知道我的语法有什么问题吗?谢谢 Sub CreateTblinDb() On Error GoTo errhandler: Dim scon As String Dim ssql As String scon = "P

我试图连接到VBA中的access数据库文件并创建一个表,但在插入值后,我似乎无法查询回这些值。例如,查询“SELECT*FROM TESTME WHERE'Portfolio'='FALL'总是不返回任何记录。我甚至尝试过“While NOT RS.EOF”,但它总是正确的。你知道我的语法有什么问题吗?谢谢

Sub CreateTblinDb()
On Error GoTo errhandler:
Dim scon As String
Dim ssql As String

scon = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
   "Jet OLEDB:Engine Type=" & Jet4x & _
  ";Data Source=" & "C:\a2000.mdb"
'creates a table in the database

Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset

ssql = "CREATE TABLE TESTME2 ('Portfolio' memo, 'TradeType' memo)"

Set cn = New ADODB.Connection

cn.Open scon
cn.Execute ssql

ssql = "INSERT INTO TESTME2 VALUES('FALL','TEST')"
cn.Execute ssql

ssql = "SELECT * FROM TESTME2 WHERE 'Portfolio' = 'FALL'"

Set rs = New ADODB.Recordset

rs.Open ssql, cn, adOpenKeyset, adLockOptimistic
Debug.Print rs.RecordCount ' ALWAYS RETURNING 0

Exit Sub
错误处理程序: MsgBox错误说明
End Sub

'Portfolio'
'FALL'
是两个不同的字符串,它们永远不会相等;甚至在2011年6月23日下午6:29时也不会相等

此外,由于类似的原因,您的表定义语句看起来不正确

编辑:
由于反勾号不是ANSI SQL,因此还有一些其他方法可以尝试:

  • 括号,或
  • 双引号
  • 修复表定义语句后,可以尝试以下查询:

    SELECT * FROM TESTME2 WHERE [Portfolio] = 'FALL'
    
    编辑:
    请求的DDL示例

    CREATE TABLE TESTME2 ([Portfolio] memo, [TradeType] memo)
    

    好的,我的意思是指实际的“Portfolo”列。我该怎么做?谢谢,定义我的表定义的正确方法是什么?请注意,这些列是编程的,我在实际中读取,它们可能有空格,这就是为什么我需要在列名周围加引号,或者有其他方法吗?可以吗用一个例子来展示?非常感谢。