Ответить на сообщение
Вернуться к теме
Вы отвечаете на сообщение:
ник: Силыч я пошел немного другим путем :) просто на обработчике проверяю 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
Ваше имя:
Пароль:
Сообщение:
Прикрепить:
Для вставки смайлов в текст щелкните по значку.