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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Переход на запись в подчиненной форме?
 
 автор: никк   (26.11.2008 в 11:07)   личное сообщение
 
 

Переход на запись "N" в подчиненной форме при использовании:
Docmd.findrecord N, работает если не скрыто ключевое поле.
Что сделать, чтобы работало при скрытом ключевом поле?

  Ответить  
 
 автор: osmor   (26.11.2008 в 11:31)   личное сообщение
 
 

docmd.GoToRecord

  Ответить  
 
 автор: Мюллер   (26.11.2008 в 11:34)   личное сообщение
 
 


Точно. Начинаю стареть. Надо взять у шефа какую-нибудь задачку на аксе, а то начинаю его забывать потиху.
Хотя самому смешно - забываю то, что никогда толком и не знал

  Ответить  
 
 автор: Мюллер   (26.11.2008 в 11:31)   личное сообщение
 
 

А что вы подразумеваете под скрытым полем?
Если сделать width ключевого поля = 0 или 1,то на подчиненной форме оно видно не будет, и этот метод должен работать.

  Ответить  
 
 автор: SergeyKV   (26.11.2008 в 12:38)   личное сообщение
 
 

Ребят , а можно вопрос в тему ? Где то вкралась ошибка и не работает:( Мне нужно что бы наложенный фильтр копировался из текущей формы (она подчиненная) в другую подчиненную форму (подчиненная_1) при этом передавая полю "ID_поля" значение поля "IdRec". Что то где то не так делаю. Подскажите где



Private Sub ShowResult(IdRec As Long, IdTable As String)
    
    On Error Resume Next
 
   Select Case IdTable
        Case "название_поля"
                        
            Forms("подчиненная_1").Filter = "ID_поля =" & IdRec
            Forms("подчиненная_1").FilterOn = True
            Forms("подчиненная_1").Requery
                            
    End Select
End Sub

  Ответить  
 
 автор: osmor   (26.11.2008 в 12:52)   личное сообщение
 
 

Forms.[главная].[подчиненная_1].form.Filter = "ID_поля =" & IdRec
.......

или если код выполняется в главной форме
me.[подчиненная_1].form.Filter = "ID_поля =" & IdRec

  Ответить  
 
 автор: SergeyKV   (26.11.2008 в 13:10)   личное сообщение
 
 

фильтр не переносится :( Osmor или кто еще может быть может помочь, в чем еще может быть причина / ошибка ?

  Ответить  
 
 автор: osmor   (26.11.2008 в 13:22)   личное сообщение
 
 

On Error Resume Next уберите и посмотрите какие сообщения выдает

  Ответить  
 
 автор: SergeyKV   (26.11.2008 в 14:16)   личное сообщение
 
 


Private Sub ShowResult(IdRec As Long, IdTable As String)
    
    'On Error Resume Next
    
    
    Select Case IdTable
               
        Case "поле"
            Forms.Form_Главная.Подчиненная.Filter = "Id_поля=" & IdRec  'Ошибка! Объект не поддерживает данное свойство или метод
            Forms. .. .FilterOn = True
            Forms. .. .Requery
                
        
            
    End Select
    
    
End Sub



Разобрался СПАСИБО osmor за идею!

Рабочее обращение выглядело так
Form_Главная.Подчиненная.Form.Filter = "Id_поля=" & IdRec

  Ответить  
 
 автор: osmor   (26.11.2008 в 15:25)   личное сообщение
 
 

предложенный мной вариант тоже рабочий, только синтаксис другой.
Forms.[главная].[подчиненная_1].form.Filter = "ID_поля =" & IdRec
Вы при переносе потеряли form
Forms.Form_Главная.Подчиненная.Filter = "Id_поля=" & IdRec 'Ошибка!

  Ответить  
 
 автор: SergeyKV   (26.11.2008 в 16:16)   личное сообщение
 
 

ясно, виноват ... буду более внимательным в след раз

  Ответить  
 
 автор: никк   (26.11.2008 в 16:30)   личное сообщение
 
 

Возвращаемся к началу.
При использовании gotorecord ошибка: подчиненная форма не открыта.
Меняя ширину столбца ключевого поля (подчиненная форма имеет табличный вид) , его можно почти скрыть, пока он не скрылся полностью проблем нет.

  Ответить  
 
 автор: никк   (26.11.2008 в 16:32)   личное сообщение
 
 

Возвращаемся к началу.
При использовании gotorecord ошибка: подчиненная форма не открыта.
Меняя ширину столбца ключевого поля (подчиненная форма имеет табличный вид) , его можно почти скрыть, пока он не скрылся полностью проблем нет.

  Ответить  
 
 автор: Мюллер   (26.11.2008 в 17:04)   личное сообщение
 
 

Попробуйте использовать рекордсет. Мне сложно протелепатировать, что вы там сделали, поэтому точно не могу сказать какой именно рекордсет. Ваританта всего два - рекордсет рекордсоурса подчиненной формы или же рекордсетклон самой подчиненной формы.

  Ответить  
 
 автор: никк   (26.11.2008 в 18:13)   личное сообщение
 
 

В подчиненной форме (табличный вид) после обновления одного из полей обновляется источник (recordsourse) для подчиненной формы, после этого фокус на первойм записи. Перед обновлением поля сохранено ключевое поле обновляемой строки. Теперь нудно вернуться на эту запись.

  Ответить  
 
 автор: Мюллер   (26.11.2008 в 18:37)   личное сообщение
 
 

Можно использовать рекордсет подчиненной формы. Вот примеп из хэлпа

Sub SupplierID_AfterUpdate()
Dim rst As DAO.Recordset
Dim strSearchName As String

Set rst = Me.Recordset

strSearchName = CStr(Me!SupplierID)
rst.FindFirst "SupplierID = " & strSearchName
If rst.NoMatch Then
MsgBox "Record not found"
End If
rst.Close
End Sub

Только у вас будет не me.recordset, а рекордсет подчиненной формы ( вместо me обращение к подчиненной форме )

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