使用VBA和DAO将备忘录从Excel 2010传输到Access 2010

使用VBA和DAO将备忘录从Excel 2010传输到Access 2010,vba,excel,dao,Vba,Excel,Dao,我正在尝试将文本从Excel 2010传输到Access 2010。由于普通文本限制为256个字符,我想使用备忘录。现在,经过几个小时的搜索,我仍然没有办法解决我的问题 更具体地说: 此代码读取数据(在本例中为文本)并将其写入Access数据库。由于文本的限制,我需要在Access数据库中使用备注字段,但在调整所有内容后,我找不到此语句(sSQL)的数据类型 我想做的是更改以下代码:(稍微减少到相关位) Dim ws As DAO.Workspace Dim数据库作为DAO.Database 将

我正在尝试将文本从Excel 2010传输到Access 2010。由于普通文本限制为256个字符,我想使用备忘录。现在,经过几个小时的搜索,我仍然没有办法解决我的问题

更具体地说: 此代码读取数据(在本例中为文本)并将其写入Access数据库。由于文本的限制,我需要在Access数据库中使用备注字段,但在调整所有内容后,我找不到此语句(sSQL)的数据类型

我想做的是更改以下代码:(稍微减少到相关位)

Dim ws As DAO.Workspace
Dim数据库作为DAO.Database
将sDb设置为字符串
将sSQL设置为字符串
将qdf设置为QueryDef
sDb=ActiveWorkbook.Path&“\DataBase.accdb”
设置ws=DBEngine.Workspaces(0)
Set db=ws.OpenDatabase(sDb)
sSQL=“参数”_

&“SomeText Text;”我假设您添加数据的表已经存在。您没有具体说明所使用的
参数,但下面的代码工作正常

选项显式
子测试()
Dim ws作为DAO.Workspace
Dim数据库作为DAO.Database
将sDb设置为字符串
将sSQL设置为字符串
将qdf设置为QueryDef
将用户名设置为字符串
模糊的长文本如字符串
sDb=ActiveWorkbook.Path&“\DataBase2.accdb”
设置ws=DBEngine.Workspaces(0)
Set db=ws.OpenDatabase(sDb)
'sSQL=“参数”_

“&”SomeText Text;“\up>我假设添加数据的表已经存在。您没有具体说明所使用的
参数,但下面的代码工作正常

选项显式
子测试()
Dim ws作为DAO.Workspace
Dim数据库作为DAO.Database
将sDb设置为字符串
将sSQL设置为字符串
将qdf设置为QueryDef
将用户名设置为字符串
模糊的长文本如字符串
sDb=ActiveWorkbook.Path&“\DataBase2.accdb”
设置ws=DBEngine.Workspaces(0)
Set db=ws.OpenDatabase(sDb)
'sSQL=“参数”_
“&”SomeText Text;“u不确定您的意思,但“移动文本”。是否要将excel工作表作为表格放入Access?不确定您的意思,但“移动文本”。是否要将excel工作表作为表放入Access?
Dim ws As DAO.Workspace
Dim db As DAO.Database
Dim sDb As String
Dim sSQL As String
Dim qdf As QueryDef

sDb = ActiveWorkbook.Path & "\DataBase.accdb"

Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase(sDb)

sSQL = "Parameters" _
& " SomeText Text; " _                       <<== Here << ==
& "INSERT INTO IT_Ticker (SomeText)" _
& " Values ([ SomeText ])"

Set qdf = db.CreateQueryDef("", sSQL)

qdf.Parameters!SomeText = Worksheets("SomeSheet").Range("A1")

qdf.Execute dbFailOnError
Debug.Print qdf.RecordsAffected

qdf.Close
db.Close
ws.Close

Set qdf = Nothing
Set db = Nothing
Set ws = Nothing