none
請問一個vb資料庫update的問題 RRS feed

  • 問題

  • 我想請教一下,我在vb連結acc資料庫後要updata我的資料時,為何無法update,以下
    Private Sub Command1_Click()
    Text3(1).Text = Year(Date) & Month(Date)
    Text3(2).Text = Day(Date)
    Text3(3).Text = Format(Time, "Short Time")
    Dim Sql As String
    Adodc1.CommandType = adCmdText
    Sql = "select 員工編號 from 員工資料 where 員工編號='" & Text1.Text & "'"
    Adodc1.RecordSource = Sql
    Adodc1.Refresh
    If Adodc1.Recordset.RecordCount = 0 Then '員工編號不存在時
        MsgBox "無此員工資料,請重新輸入!", vbExclamation, "員工編號錯誤"
        Else
        Sql = "select 員工編號,年月份,開始日期,開始時間,結束時間,出勤狀況 from 打卡資料 where 員工編號='" & Text1.Text & "'" & "and" & " 年月份='" & Text3(1).Text & "'" & "and" & " 開始日期='" & Text3(2).Text & "'"
        Adodc1.RecordSource = Sql
        Adodc1.Refresh
        If Adodc1.Recordset.RecordCount = 0 Then
        Adodc1.Recordset.AddNew
        Text3(0).Text = Text1.Text '輸出編號
        Text3(1).Text = Year(Date) & Month(Date) '輸出年月
        Text3(2).Text = Day(Date) '輸出日期
        Text3(3).Text = Format(Time, "Short Time") '輸出時間
        Adodc1.Recordset.Update
        MsgBox (Text1.Text & "上班登錄成功")
    ----以上都沒問題,可以新增資料進去,但下面的重覆就沒辦法寫入-----
        Else
        If MsgBox("確定再次打卡?", vbYesNo + vbQuestion, "錯誤") = vbYes Then
        Text3(3).Text = Format(Time, "Short Time") '輸出時間
        Adodc1.Recordset.Update
        End If
    End If
    End If
    End Sub

    在Text3(3)可以把目前時間換上,但是卻無法將資料update進去,是我的方法有錯誤嗎?
    還是有更好的方法可以取代我這個方式?  先謝謝了

    2006年12月25日 上午 08:58

解答

所有回覆

  • 錯誤訊息?

    VB6 請特別註明,否則一般網友可能會搞混。

    2006年12月25日 上午 09:43
    版主
  • 沒有錯誤訊息,問題好像出在command1和 text3(3) 不合作!

    因為text3(3)可以更新目前時間,但是在update時無法寫入資料庫內

    但是我另外寫了個update的command,用手工的方式更改text3(3)時又可以寫入資料庫

    謝謝

    2006年12月25日 下午 01:41
  • 請明確解釋:問題好像出在command1和 text3(3) 不合作

    在你的 Command1 設中斷點,採用 F8 逐步執行模式檢視你的值與你預期的邏輯是否正確執行。

    沒有錯誤訊息表示:

    1. 你有錯誤處理常式(從程式碼上看不出來你有寫)
    2. 邏輯錯誤,沒有執行到你想要執行的程式碼

    2006年12月25日 下午 01:54
    版主