点击 menu->format->lock controls 即可以移动控件
单步调试即可以看懂!

解决方案 »

  1.   

    Private Sub dbgPhonebook_DblClick()
    Dim Rs As New ADODB.Recordset
    Dim strSQL As StringOn Error GoTo ErrorHandlerWith frmPhonebookDetails
    .mblnAddmode = True            ‘  两个标志变量
    .mblnUpdated = False            ’.PrimaryKey = Me.adcPhonebook.Recordset("ContactID") ‘ 主键' textbox  赋值
    .txtFirstName = Me.adcPhonebook.Recordset("FirstName")
    .txtLastName = Me.adcPhonebook.Recordset("LastName")
    .txtMiddleName = Me.adcPhonebook.Recordset("MiddleName")
    .txtTelNo = Me.adcPhonebook.Recordset("TelephoneNo")
    .txtFaxNo = Me.adcPhonebook.Recordset("FaxNo")
    .txtEMail = Me.adcPhonebook.Recordset("EMailAddress")
    .txtMobilePhoneNumber = Me.adcPhonebook.Recordset("MobilePhoneNo")
    .txtAddress = Me.adcPhonebook.Recordset("Address")' 显示窗体
    .Show vbModal' 如果更新数据
    If .mblnUpdated Then
    ' 创建查询
    strSQL = "SELECT * from tblPhonebook where ContactID = '" & Me.adcPhonebook.Recordset("ContactID") & "'"
    ' 生成记录集
    Rs.Open strSQL, gadoConn, adOpenKeyset, adLockOptimistic' 更新到数据库
    Rs!ContactID = Trim(.mstrPrimaryKey)
    Rs!LastName = Trim(.mstrLastName)
    Rs!FirstName = Trim(.mstrFirstName)
    Rs!MiddleName = Trim(.mstrMiddleName)
    Rs!TelephoneNo = Trim(.mstrTelNo)
    Rs!FaxNo = (.mstrFaxNo)
    Rs!EMailAddress = (.mstrEmail)
    Rs!MobilePhoneNo = (.mstrCellNo)
    Rs!Address = (.mstrAddress)Rs.Update
    ' 释放资源
    Rs.Close
    Set Rs = Nothing
    Call RefreshGrid
    End If
    End With
    Exit Sub
    ' 错误处理
    ErrorHandler:
    Select Case Err.Number
    Case 94
    Resume Next
    Case Else
    Dim intAns As Integer
    intAns = MsgBox("Error saving record. " & Trim(Err.Description), vbExclamation + vbAbortRetryIgnore + vbDefaultButton2, "Save Education Error")Select Case intAns
    Case vbAbort
    Exit Sub
    Case vbRetry
    Resume
    Case vbIgnore
    Resume Next
    End Select
    End Select
    End Sub
      

  2.   

    原来是这样,你看我这么想对吗?DBTRID是利用对固定的行AND列都有一个赋值,这样,当任意行发生DBLCLICK时,事实上启动的是这个行的数值发生了变化,那么,只要我找到这个变量,就可以对单独的行进行操作了吧。
      

  3.   

    还有呀,我执行了单步操作,怎么它老是读模块的SUB MAIN()然后就停了,这是怎么回事呀。
      

  4.   

    再按 F8 ,每按一次,执行一条。    Me.DataGrid1.Row = 2    ' 确定当前行
        Me.DataGrid1.Col = 3    ' 确定当前列
        Debug.Print Me.DataGrid1.Text   ' 表格里的值
    you are good!
      

  5.   

    有同学说:玩游戏的 MM 是地球上的熊猫
               编程序的 MM 是火星上的熊猫
      

  6.   

    hehe,小心我告你的同学反古,历史专家和妇联不会恕你的:),不过真的很谢谢你呀,怎么给你加分呀,我这只有130分了,因为这两天广玩dbtrid这个该死的家伙,我一定要把它吃掉。所以发了好几个T了,你们怎么都不要分呢?还有,我怎么才能积分呀。
      

  7.   

    lshdf(冷雨) ,哈,快快结帖 吧~