【发布时间】:2015-10-21 14:08:07
【问题描述】:
我们一直在创建一个 HR 数据库,使用 Access 作为后端,Excel 作为前端。当我在 Excel 中运行宏以将条目插入 MasterTable 时,它会显示; “数据类型不匹配”。我唯一更改的字段是“工作”字段,它需要介于0.0 - 1.0 之间的值(即0.2 表示他们只工作一天)。
以前,当我在 Access 中更改字段类型以接受小数之前,我在小数位插入条目时不会显示。进行此更改后,宏不再起作用。
谁能指出这是为什么?
我才刚刚开始学习 SQL/Access,所以很可能我犯了一个非常基本的错误。
我搜索了其他一些关于使用 DECIMAL 字段而不是更改属性字段的答案,但这并没有解决我的问题。我的代码:
Sub ExportDataToAccess()
Dim cn As Object
Dim strQuery As String
Dim Id As String
Dim Positions As String
Dim BU As String
Dim Job As Double
Dim Variance As String
Dim myDB As String
'Initialize Variables
Id = Worksheets("test").Range("A2").Value
Positions = Worksheets("test").Range("B2").Value
BU = Worksheets("test").Range("C2").Value
Job = Worksheets("test").Range("D2").Value
myDB = "X:\Users\ADMIN\Documents\HR_Establishment_DB1.accdb"
Set cn = CreateObject("ADODB.Connection")
With cn
.Provider = "Microsoft.ACE.OLEDB.12.0" 'For *.ACCDB Databases
.ConnectionString = myDB 'Connects to my DB
.Open
End With
strQuery = "INSERT INTO MasterTable ([Id], [Positions], [BU], [Job]) " & _
"VALUES (""" & Id & """, """ & Positions & """, """ & BU & """, " & Job & "); "
cn.Execute strQuery
cn.Close
Set cn = Nothing
End Sub
【问题讨论】:
标签: sql excel vba ms-access-2010