我在
收到错误Dim strDate As Date
作为类型不匹配运行时错误..
请任何帮助将不胜感激....
Sub Insert11()
'click on tools and select Microsoft ActiveX data Objects 2.0 Library
Dim DBFullName As String
Dim Connect As String, Source As String
Dim Connection As ADODB.Connection
Dim Recordset As ADODB.Recordset
Dim Col As Integer
Dim strDate As Date
Dim strWeight As Variant
Dim strMed_Id As Variant
Dim strGlucose As Variant
strDate = InsertForm.TextBox1.Value
strWeight = InsertForm.TextBox2.Value
strMed_Id = InsertForm.ListBox2.Value
strGlucose = InsertForm.TextBox3.Value
' InsertForm.Show
Cells.Clear
'Database path info
DBFullName = "C:\Users\ND5036832\Downloads\Assignment1234\Sample1.accdb"
'open the connection
Set Connection = New ADODB.Connection
Connect = "Provider=Microsoft.ACE.OLEDB.12.0;"
Connect = Connect & "Data Source=" & DBFullName & ";"
Connection.Open ConnectionString:=Connect
'Create RecordSet
Set Recordset = New ADODB.Recordset
With Recordset
'filter Data
Source = "Insert into Glucose ([Date],Weight, Med_Id,Glucose) values ( " & strDate & "," & strWeight & "," & strMed_Id & "," & strGlucose & ");"
.Open Source:=Source, ActiveConnection:=Connection
'Msgbox " The query:" & vbNewLine & vbNewLine & Source
'Write field names
For Col = 0 To Recordset.Fields.Count - 1
Range("G1").Offset(0, Col).Value = Recordset.Fields(Col).Name
Next
'Write recordset
'Range("G1").Offset(1, 0).CopyFromRecordset Recordset
End With
ActiveSheet.Columns.AutoFit
Set Recordset = Nothing
Connection.Close
Set Connection = Nothing
End Sub
答案 0 :(得分:0)
好吧,close
包含TextBox
(称为Text
)。如果您尝试将String
放入String
变量,那么我不会对您收到错误感到惊讶。尝试:
Date
将您的字符串转换或转换到日期。如果你不以日期格式给它一个字符串,它将再次抛出错误。
<小时/> 的 此外 即可。注意如何命名变量。
strDate = CDate(InsertForm.TextBox1.Value)
有&#34; str&#34;在开始时提醒您,您正在处理strDate
,因此您希望看到这一点:
String
由于您的变量将采用Dim strDate As String
格式,因此请考虑将其重命名为:
Date
或者更好的是,忽略这个匈牙利风格的命名约定,并将其命名为具有更多含义的内容,例如:
Dim dtDate As Date