Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: опять Tree
 
 автор: seluvan   (16.05.2012 в 18:48)   личное сообщение
 
 

Вилавливаю из подчинённой формы записи по коду:

Private Sub TreeView0_NodeClick(ByVal Node As Object)
Set Tree = Me.TreeView0.Object
If Node.Key Like "1OS*" Then
Me.подчиненная_форма_КонстантаСрезОсновныхПОСЛЕДНИЙ.SetFocus
With Me.подчиненная_форма_КонстантаСрезОсновныхПОСЛЕДНИЙ.Form
.Filter = "КодСклада=" & Node.Key
.FilterOn = True
End With
Else
End If
End Sub
==========================
ругается на ".Filter = "КодСклада=" & Node.Key"

при этом код обрабативается до уровня 1OS*" т.е. родителя узла, а самих детей не ловит.
кто поможет спс.
борюсь с этим злим змеем Tree

.Filter = "КодСклада=" & Node.Key
акс не понимает что такое КодСклада, как правильно обратиться? (походу туплю уже, но всё же)

  Ответить  
 
 автор: kot_k_k   (17.05.2012 в 09:01)   личное сообщение
 
 

Node.Key - по ходу стринг попробуй
.Filter = "КодСклада=" & Chr(34) & Node.Key & Chr(34)

Chr(34) это " - вставил для наглядности.

  Ответить  
 
 автор: seluvan   (17.05.2012 в 12:31)   личное сообщение
 
 

переделал на

===========================================

Public Sub TreeView0_NodeClick(ByVal Node As Object)
Set Tree = Me.TreeView0.Object
Me.IdUzel.Value = Mid(Node.Key, 2, 3)
'Me.IdUzel.Value = Node.Key
Me.IdUzel.Requery
With Me.подчиненная_форма_КонстантаСрезОсновныхПОСЛЕДНИЙ.Form
If Node.Key = "1OS" Then
Me.IdUzel.Value = Null
.FilterOn = False
Else
If Node.Key Like "s*" Then
.Filter = "подчиненная_форма_КонстантаСрезОсновныхПОСЛЕДНИЙ!КодСклада=" & Chr(34) & Mid(Node.Key, 2, 3) & Chr(34)
'MsgBox подчиненная_форма_КонстантаСрезОсновныхПОСЛЕДНИЙ!КодСклада
.FilterOn = True
End If
End If
End With
End Sub

======================================

фильтр срабативает НО данние не отражает....хотя Mid(Node.Key, 2, 3) имеет необходимое значение
ключ идёт к примеру S57 мидом убираю S, остаётся 57 (КодСклада), но не отбирает падло.
народ помогайте. с ума схожу

  Ответить  
 
 автор: Дядя Федор   (17.05.2012 в 12:54)   личное сообщение
 
 

подч форму прорекверить м.б.
.FilterOn = True
.requery

  Ответить  
 
 автор: kot_k_k   (17.05.2012 в 13:58)   личное сообщение
 
 

поле [КодС клада] - какой формат имеет?

вот это - для строкового элемента


!КодС клада=" & Chr(34) & Mid(Node.Key, 2, 3) & Chr(34)


если [КодС клада] - число то как воспримет Акс 57="57" в форме хз.
попробуй

!КодС клада=" & Val( Mid(Node.Key, 2, 3) )

  Ответить  
 
 автор: seluvan   (17.05.2012 в 14:02)   личное сообщение
 
 

он не понимает чтот такое код склада, хотя стоит цикл обращения по форме With
перепроверяю на MsgBox "![КодСклада] =" & Val(Mid(Node.Key, 2, 3)) пишет

![КодСклада] =57 к примеру (т.е. узел читает а форма нет)
форма ленточная, на каждой записи есть КодСклада. пока не получается отфильровать

  Ответить  
 
 автор: seluvan   (17.05.2012 в 14:07)   личное сообщение
 
 

kot_k_k :СПАСИБО
всё пошло МЛЯ.
помолго вот это конечно Val( Mid(Node.Key, 2, 3) ) + поменял непосредственную ссилку на КодСклада

код
==================
Public Sub TreeView0_NodeClick(ByVal Node As Object)
Set Tree = Me.TreeView0.Object
Me.IdUzel.Value = Mid(Node.Key, 2, 3)
'Me.IdUzel.Value = Node.Key
Me.IdUzel.Requery
With Me.подчиненная_форма_КонстантаСрезОсновныхПОСЛЕДНИЙ.Form
If Node.Key = "1OS" Then
Me.IdUzel.Value = Null
.FilterOn = False
Else
If Node.Key Like "s*" Then
.Filter = "КодСклада =" & Val(Mid(Node.Key, 2, 3))
.FilterOn = True
'Mid(Node.Key, 2, 3)
'MsgBox "КодСклада =" & Val(Mid(Node.Key, 2, 3))
.FilterOn = True
End If
End If
End With
End Sub

===========================

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList