[VBA ] 關於資料存取的設定
最近利用Excel的VB編輯器弄了一個表單,目的是方便使用者能對另外一個Excel檔
進行資料的查詢、輸入及修改,但是在查詢功能上遇到了一點問題,基本上可以運作
但如果資料內的欄位是空白,就會出現"Null值設定錯誤"的訊息
以下是程式碼,舉例來說如果檔案內的Class canceled欄位沒有資料的話,就無法進行
查詢,因為實際使用時並非每一欄都必須輸入資料,所以想請教一下該如何修改程式碼
呢?
Private Sub CommandButton4_Click()
If TextBox1 = "" Then Exit Sub
Dim conn1 As New ADODB.Connection
Dim rst1 As New ADODB.Recordset
Dim sq1 As String
conn1.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel
8.0;data source=" & ThisWorkbook.Path & "/monthly report.xls"
sq1 = "Select * from [教室課程$] WHERE [Course Name]='" & TextBox1.Text & "'
and [Class Date]='" & TextBox5.Text & "'"
rst1.Open sq1, conn1, adOpenKeyset, adLockOptimistic
TextBox1.Text = rst1.Fields("Course Name")
TextBox5.Text = rst1.Fields("Class Date")
TextBox2.Text = rst1.Fields("On Duty Member")
TextBox6.Text = rst1.Fields("Instructor ID")
TextBox3.Text = rst1.Fields("Class canceled")
TextBox7.Text = rst1.Fields("Training Hours")
rst1.Close
conn1.Close
Set rst1 = Nothing
Set conn1 = Nothing
MsgBox "查詢成功"
End Sub
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.169.58.79
推
12/27 14:32, , 1F
12/27 14:32, 1F
→
01/05 22:48, , 2F
01/05 22:48, 2F