Sql server VBA访问SQL Server表插入

Sql server VBA访问SQL Server表插入,sql-server,ms-access,vba,Sql Server,Ms Access,Vba,我在处理MS Access时遇到一些问题。我正在同时使用SQL Server和MS Access 我尝试将数据插入到新表中 首先,这个程序要求我在列表中添加一个项目(就像临时表一样)。然后,还有一个确认数据的提交按钮(这一步是需要的,不是低效的,请不要询问这一步) 为了向列表中添加数据,我使用了一个存储过程。但我不知道我需要做什么才能再次提交数据 这是我的密码: Dim rs As ADODB.Recordset strConn = "DRIVER=SQL Server;SERVER=CHU

我在处理MS Access时遇到一些问题。我正在同时使用SQL Server和MS Access

我尝试将数据插入到新表中

首先,这个程序要求我在列表中添加一个项目(就像临时表一样)。然后,还有一个确认数据的提交按钮(这一步是需要的,不是低效的,请不要询问这一步)

为了向列表中添加数据,我使用了一个存储过程。但我不知道我需要做什么才能再次提交数据

这是我的密码:

Dim rs As ADODB.Recordset

strConn = "DRIVER=SQL Server;SERVER=CHU-AS-0004;DATABASE=RTC_LaplaceD_DEV;Trusted_Connection=Yes;"
Set conn = New ADODB.Connection
conn.Open strConn
cmd.ActiveConnection = conn
Set rs = New ADODB.Recordset
rs.Open "Insert into dbo.Blend values(List731.Column(1, introw),List731.Column(2, introw),TextRequestNo.Value, List731.Column(3, introw),List731.Column(4, introw),List731.Column(5, introw))"
conn.Close
Set rs = Nothing
MsgBox "Done"
当我使用此代码运行时,会出现以下错误:

我认为我的代码中缺少了一些内容,但我不知道如何继续。
有人能给我一些关于这方面的信息吗?

做这类事情有很多方法。像这样的事情应该能完成任务

Sub MoveDateFromAccessToSQLServer()

Dim adoCN As ADODB.Connection
Dim sConnString As String
Dim sSQL As String
Dim lRow As Long, lCol As Long

sConnString = "Provider=sqloledb;Server=servername;Database=NORTHWIND;User Id=xx;Password=password"

Set adoCN = CreateObject("ADODB.Connection")

'adoCN.Open sConnString

'Assumes that you have Field1, Field2 and Field3 in columns A, B and C
'Text values must be enclosed in apostrophes whereas numeric values should not.



    sSQL = "INSERT INTO YOUR_TABLE (FIELD1, FIELD2, FIELD3) " & _
            " VALUES (" & _
            "'" & Column(1, introw) & "', " & _
            "'" & Column(2, introw) & "', " & _
            "'" & Column(3, introw) & "')"

    adoCN.Execute sSQL



adoCN.Close

Set adoCN = Nothing


End Sub

有很多方法可以做到这一点。像这样的事情应该能完成任务

Sub MoveDateFromAccessToSQLServer()

Dim adoCN As ADODB.Connection
Dim sConnString As String
Dim sSQL As String
Dim lRow As Long, lCol As Long

sConnString = "Provider=sqloledb;Server=servername;Database=NORTHWIND;User Id=xx;Password=password"

Set adoCN = CreateObject("ADODB.Connection")

'adoCN.Open sConnString

'Assumes that you have Field1, Field2 and Field3 in columns A, B and C
'Text values must be enclosed in apostrophes whereas numeric values should not.



    sSQL = "INSERT INTO YOUR_TABLE (FIELD1, FIELD2, FIELD3) " & _
            " VALUES (" & _
            "'" & Column(1, introw) & "', " & _
            "'" & Column(2, introw) & "', " & _
            "'" & Column(3, introw) & "')"

    adoCN.Execute sSQL



adoCN.Close

Set adoCN = Nothing


End Sub

记录集用于选择数据,而不是插入数据。有一个如何进行插入的示例(并使用参数更清晰地进行插入)。或者您甚至可以执行
conn.Execute
,尽管我不知道您是否可以这样使用参数。另一种可能是您没有正确连接到服务器。记录集用于选择数据,而不是插入数据。有一个如何进行插入的示例(并使用参数更清晰地进行插入)。或者您甚至可以执行
conn.Execute
,尽管我不知道您是否可以这样使用参数。另一种可能是您没有正确连接到服务器。