Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: Силыч
я пошел немного другим путем :)
просто на обработчике проверяю Tag и если он тот, что нужен, то выполняю соответсвующие действия с данными, иначе - просто игнорирую его :) хотя можно и сообщение было бы вывести :)


Private Sub tv_NodeCheck(ByVal Node As MSComctlLib.Node)
    Dim rs2 As Recordset
    Dim I As Long
    
    Select Case Node.Tag
    Case "root":
        Node.Checked = False '-- как выяснилось не работает в этом месте, но и деструктивного ничего не делает тоже :)
    Case "regions":
        Set rs = db.OpenRecordset(TBLoc, dbOpenTable)
        With rs
            .Index = "PrimaryKey"
            .Seek "=", Trim(Node.Text)
            If Not .NoMatch Then
                .Edit
            Else
                .AddNew
            End If
            .Fields("LOCAT") = Nz(Trim(Node.Text), "- nothing -")
            .Fields("STATUS") = Nz(Node.Checked, False)
            .Update
        End With
            Set rs2 = db.OpenRecordset("SELECT dbo_vw_analyze01_locations.ÃÎÐÎÄ, " & _
                      "dbo_vw_analyze01_locations.ÑÊËÀÄ, dbo_vw_analyze01_locations.ENBL " & _
                      "FROM dbo_vw_analyze01_locations WHERE Trim([ÃÎÐÎÄ])='" & Trim(Node.Text) & _
                      "' GROUP BY dbo_vw_analyze01_locations.ÃÎÐÎÄ, dbo_vw_analyze01_locations.ÑÊËÀÄ, " & _
                      "dbo_vw_analyze01_locations.ENBL;")
            With rs2
                Do While Not .EOF
                     rs.Seek "=", Trim(.Fields("ÑÊËÀÄ"))
                     If rs.NoMatch Then
                         rs.AddNew
                     Else
                         rs.Edit
                     End If
                     rs.Fields("LOCAT") = Nz(Trim(.Fields("ÑÊËÀÄ")), "- nothing -")
                     rs.Fields("STATUS") = Nz(Node.Checked, False)
                     rs.Update
                    .MoveNext
                Loop
                .Close
            End With
            Node.Expanded = True
            For I = 0 To Node.Children - 1
                tv.Nodes(Node.Child.Index + I).Checked = Nz(Node.Checked, False)
            Next I
        rs.Close
    Case "locations":
        Set rs = db.OpenRecordset(TBLoc, dbOpenTable)
        With rs
            .Index = "PrimaryKey"
            .Seek "=", Trim(Node.Text)
            If Not .NoMatch Then
                .Edit
            Else
                .AddNew
            End If
            .Fields("LOCAT") = Nz(Trim(Node.Text), "- nothing -")
            .Fields("STATUS") = Nz(Node.Checked, False)
            .Update
            .Close
        End With
    End Select
    
End Sub


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.