Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

求解代码含意

白发学者  发表于:2009-10-28 13:17:14  
复制

实例(来自本论坛):点击下载此附件

 

在实例中以下代码是将选定的文章显示在文本框中的功能,

本人上想将它引用,因水平有限无从入手。现寻求各句代码含意!

 

Private Sub Treeview_NodeClick(ByVal Node As Object)
'**********************************
'    当选择文章时发生
'********************************
    Dim Rec As New ADODB.Recordset
   
    Dim intVal As Integer
   
    On Error GoTo Err_cw
    Set Conn = CurrentProject.Connection
   
    If Node.Key Like "c*" Then
        intVal = (Right(Node.Key, Len(Node.Key) - 1))
        Me.FilterOn = True
        Me.Filter = "[ID]=" & intVal
        Rec.Open "文章", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
        Rec.MoveFirst
        For k = 1 To Rec.RecordCount            '从第一条纪录循环到最后一条
            If Rec("ID") = intVal Then
                Me.AllowEdits = True            '不允许编辑
                Me.NameeText = Rec("Namee")
               
                Me.DanText = Rec("Dan")
                Me.AllowEdits = False           '不允许编辑
                Exit For
              End If
              Rec.MoveNext
         Next k
       
        Set Rec = Nothing
    End If
   
Exit_cw:
    Set Rec = Nothing
    Exit Sub
Err_cw:
    MsgBox Err.Description
    Resume Exit_cw

End Sub

 

 

 

Top
竹笛 发表于:2009-10-28 16:45:35

Private Sub Treeview_NodeClick(ByVal Node As Object)
    Dim Rec As New ADODB.Recordset'声明Rec为ADO记录集
    
    Dim intVal As Integer'声明intVal为长整型
   
    On Error GoTo Err_cw'出错处理
    Set Conn = CurrentProject.Connection'当前数据库连接
   
    If Node.Key Like "c*" Then'如果键值是以c为开头的
        intVal = (Right(Node.Key, Len(Node.Key) - 1))
        Me.FilterOn = True'应用筛选
        Me.Filter = "[ID]=" & intVal'筛选的条件
        Rec.Open "文章", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
        Rec.MoveFirst
        For k = 1 To Rec.RecordCount            '从第一条纪录循环到最后一条
            If Rec("ID") = intVal Then
                Me.AllowEdits = True            '不允许编辑
                Me.NameeText = Rec("Namee")
               
                Me.DanText = Rec("Dan")
                Me.AllowEdits = False           '不允许编辑
                Exit For
              End If
              Rec.MoveNext
         Next k
        Rec.close '这一句没写,应加上
        Set Rec = Nothing '释放
    End If
   
Exit_cw:
    Set Rec = Nothing
    Exit Sub
Err_cw:
    MsgBox Err.Description
    Resume Exit_cw

End Sub



Bobo 发表于:2009-10-28 22:38:45

在竹笛老师的基础上补充

 

Private Sub Treeview_NodeClick(ByVal Node As Object)
    Dim Rec As New ADODB.Recordset'声明Rec为ADO记录集
    
    Dim intVal As Integer'声明intVal为长整型
   
    On Error GoTo Err_cw'出错处理
    Set Conn = CurrentProject.Connection'当前数据库连接
   
    If Node.Key Like "c*" Then'如果键值是以c为开头的
        intVal = (Right(Node.Key, Len(Node.Key) - 1))
        Me.FilterOn = True'应用筛选
        Me.Filter = "[ID]=" & intVal'筛选的条件
        Rec.Open "文章", CurrentProject.Connection, adOpenKeyset, adLockOptimistic '打开“文章”的记录集
        Rec.MoveFirst  '指针游标置于记录集第一个
        For k = 1 To Rec.RecordCount            '从第一条纪录循环到最后一条
            If Rec("ID") = intVal Then
                Me.AllowEdits = True            '不允许编辑
                Me.NameeText = Rec("Namee")
               
                Me.DanText = Rec("Dan")
                Me.AllowEdits = False           '不允许编辑
                Exit For
              End If
              Rec.MoveNext
         Next k
        Rec.close '这一句没写,应加上
        Set Rec = Nothing '释放
    End If
   
Exit_cw:
    Set Rec = Nothing
    Exit Sub
Err_cw:
    MsgBox Err.Description
    Resume Exit_cw

End Sub



总记录:2篇  页次:1/1 9 1 :