本人想做個車輛管理系統軟體,有些代碼是從網上下的,發現使用一個時間控制元件就能運行,我又增加了一個時間控制元件就提示日期語法錯誤,第二個時間控制元件與第一個時間控制元件屬性相同,電腦時間我也設定無果,研究幾周了毫無頭緒,求指點
這是我的代碼第一部分
Private Sub cmdAdd_click()
Dim strSQL2 As String, i As Integer
cmdDel.Enabled = False
If cmdAdd.Caption = "增加" Then
Status (True)
bAdd = True '增加狀態
ClearData '清除資料
cmdAdd.Caption = "保存"
cmdAdd.Enabled = False
cmdCancel.Enabled = True
txtName.SetFocus
ElseIf cmdAdd.Caption = "修改" Then
Status (True)
cmdCancel.Enabled = True
cmdAdd.Caption = "保存"
cmdAdd.Enabled = False
ElseIf cmdAdd.Caption = "保存" Then
If bAdd Then '增加資料
If CheckData() = False Then Exit Sub '檢查用戶輸入或修改的資料
strSQL2 = "INSERT INTO 職員表(姓名,單位,電話,入門時間,通行時間,車型,車號,審批人數,備注) "
strSQL2 = strSQL2 & "VALUES('" & txtName.Text & "'," '姓名
strSQL2 = strSQL2 & cmbDept.ItemData(cmbDept.ListIndex) & ",'" '單位
strSQL2 = strSQL2 & txtID.Text & "',#" '電話
strSQL2 = strSQL2 & StateDate.Value & "#," '入門時間
strSQL2 = strSQL2 & dtpDate.Value & "#," '通行時間
strSQL2 = strSQL2 & cmbJob.ItemData(cmbJob.ListIndex) & "," '車型
strSQL2 = strSQL2 & cmbPro.ItemData(cmbPro.ListIndex) & "," '車號
strSQL2 = strSQL2 & Val(txtBaseay.Text) & ",'" '審批人數
strSQL2 = strSQL2 & txtMemo.Text & "')" '備注
SQLExt (strSQL2)
bAdd = False
Else '更新資料
strSQL2 = "UPDATE [表] SET 姓名='" & txtName.Text & "',"
If cmbDept.ListIndex >= 0 Then strSQL2 = strSQL2 & "單位 = " & cmbDept.ItemData(cmbDept.ListIndex) & ","
strSQL2 = strSQL2 & "電話 = '" & txtID.Text & "',"
strSQL2 = strSQL2 & "入門時間 = #" & StateDate.Value & "#,"
strSQL2 = strSQL2 & "通行時間 = #" & dtpDate.Value & "#,"
If cmbJob.ListIndex >= 0 Then strSQL2 = strSQL2 & "車型 = " & cmbJob.ItemData(cmbJob.ListIndex) & ","
If cmbPro.ListIndex >= 0 Then strSQL2 = strSQL2 & "車號 = " & cmbPro.ItemData(cmbPro.ListIndex) & ","
strSQL2 = strSQL2 & "審批人數 = " & Val(txtBaseay.Text) & ","
strSQL2 = strSQL2 & "備注 =' " & txtMemo.Text & "' "
strSQL2 = strSQL2 & "WHERE ID=" & iID
SQLExt (strSQL2)
End If
Adodc1.Refresh
DataGrid1.Columns(0).Visible = False
ClearData
Status (False)
cmdAdd.Caption = "增加"
cmdCancel.Enabled = False
End If
第二部分
Private Sub dtpDate_Change()
cmdAdd.Enabled = True
End Sub
Private Sub StateDate_Change()
cmdAdd.Enabled = True
End Sub
請問問看看是哪的錯,謝謝大家,我研究了很多天了,一直沒找到辦法。
uj5u.com熱心網友回復:

uj5u.com熱心網友回復:
打個斷點看一下你的 strSQL2 是什么內容。另外,試試
strSQL2 = strSQL2 & "入門時間 = #" & Format(StateDate.Value, "yyyy-mm-dd") & "#,"
strSQL2 = strSQL2 & "通行時間 = #" & Format(dtpDate.Value, "yyyy-mm-dd") & "#,"
uj5u.com熱心網友回復:
感覺你說“兩個日期控制元件屬性相同”,實際可能還是有差異,才造成這個問題的吧。看那個錯誤提示資訊,日期后面多了個#號,
你把代碼: strSQL2 = strSQL2 & "通行時間 = #" & dtpDate.Value & "#,"
改成這樣試試:strSQL2 = strSQL2 & "通行時間 = #" & dtpDate.Value & ","
如果你真想“兩個控制元件屬性相同”,建議你這樣操作試試:
1. 把表單上你自己添加的那個日期控制元件洗掉;
2. 滑鼠單擊選定原來那個日期控制元件,再單擊工具條上的“復制”按鈕。
3. 選定你要放置新控制元件的表單(或控制元件容器,單擊復制按鈕后已經自動選定“當前表單”),再點“粘貼”按鈕。
4. 在提示訊息中點擊“否”(如果你準備用控制元件陣列,那就點“是”)。
5. 把新創建的控制元件拖到你需要的位置(默認在容器左上角)、更改控制元件名稱及其它你需要更改的屬性。
uj5u.com熱心網友回復:
If bAdd Then '增加資料
...
strSQL2 = strSQL2 & txtID.Text & "',#"
strSQL2 = strSQL2 & StateDate.Value & "#,#" '<- 通行時間前面少了一個#
strSQL2 = strSQL2 & dtpDate.Value & "#,"
uj5u.com熱心網友回復:
若果把入門時間代碼全部洗掉,就能運行,上面都試過不好使,郁悶啊。。。增加個入門時間就錯uj5u.com熱心網友回復:
解決,謝謝大神通行時間前面少了一個# 感激啊,怎么加分啊uj5u.com熱心網友回復:
我#4的代碼也錯?把組合后的 strSQL2 用 Debug.Print 輸出,什么內容?
又:#5的時間比#4還早
uj5u.com熱心網友回復:
點“結帖”按鈕,每個回復的“得分”可輸入。uj5u.com熱心網友回復:
最好這樣改:strSQL2 = strSQL2 & txtID.Text & "'," '電話
strSQL2 = strSQL2 & “#" & Date.Value & "#," '入門時間
strSQL2 = strSQL2 & "#" & dtpDate.Value & "#," '通行時間
每一欄位在一行中完整實作。
uj5u.com熱心網友回復:
日期兩段要用#轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/89631.html
標籤:VB基礎類
上一篇:VB一個簡單的屬性賦值問題
