我刚开始学习一点VBA,我已经设法从SQL Server中创建的数据库中导入数据就好了,现在我正在尝试将数据从Excel导出到同一个数据库中。
以下工作正常:
Dim cnState As ADODB.Connection
Dim sSQL As String
Set cnState = New Connection
With cnState
.Provider = "SQLOLEDB"
.ConnectionString = "server=.\SQLEXPRESS; Trusted_Connection=Yes; database=SIM_PROJ"
.Open
End With
sSQL = "Insert Into Alunos Values ('3', 'Tiago Aleixo', 'Rua dos Pincéis' , '1990-05-26' , 'M' , 'Multimédia' , 'D')"
cnState.Execute sSQL
End Sub
Private Sub btn_goMenu_Click()
Sheet1.Select
唯一的问题是,我只是想弄清楚如何通过代码插入实际值,我希望能够在Excel中读取整行并将其插入到我的数据库中。
这样的事情:
sSQL = "Insert Into Alunos Values (Range(A4).Value, Range(B4).Value, Range(C4).Value, Range(D4).Value, Range(E4).Value, Range(F4).Value, Range(G4).Value)"
IE,我只希望插入第4行的值。
答案 0 :(得分:0)
可能你必须更加增量地构建字符串,如:
SQL = "INSERT INTO alunos VALUES ('" + Range(A4).Value + "', '" + Range(A5).Value + "', '"...
您显示的语法看起来会尝试将字符串“Range(A4).Value”插入数据库。
答案 1 :(得分:0)
将文件另存为逗号分隔的CSV文件,然后您可以使用批量插入,如下所示。 声明@sql varchar(max) 设置@sql =“BULK INSERT TAB_UY420 FROM'”+ @ File +“'WITH(FIELDTERMINATOR =',')” exec(@sql)