|
|
|
| Переход на запись "N" в подчиненной форме при использовании:
Docmd.findrecord N, работает если не скрыто ключевое поле.
Что сделать, чтобы работало при скрытом ключевом поле? | |
|
| |
|
|
|
|
|
| А что вы подразумеваете под скрытым полем?
Если сделать width ключевого поля = 0 или 1,то на подчиненной форме оно видно не будет, и этот метод должен работать. | |
|
| |
|
|
|
| Ребят , а можно вопрос в тему ? Где то вкралась ошибка и не работает:( Мне нужно что бы наложенный фильтр копировался из текущей формы (она подчиненная) в другую подчиненную форму (подчиненная_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
|
| |
|
| |
|
|
|
| Forms.[главная].[подчиненная_1].form.Filter = "ID_поля =" & IdRec
.......
или если код выполняется в главной форме
me.[подчиненная_1].form.Filter = "ID_поля =" & IdRec | |
|
| |
|
|
|
| фильтр не переносится :( Osmor или кто еще может быть может помочь, в чем еще может быть причина / ошибка ? | |
|
| |
|
|
|
| On Error Resume Next уберите и посмотрите какие сообщения выдает | |
|
| |
|
|
|
|
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
|
| |
|
| |
|
|
|
| предложенный мной вариант тоже рабочий, только синтаксис другой.
Forms.[главная].[подчиненная_1].form.Filter = "ID_поля =" & IdRec
Вы при переносе потеряли form
Forms.Form_Главная.Подчиненная.Filter = "Id_поля=" & IdRec 'Ошибка! | |
|
| |
|
|
|
| ясно, виноват ... буду более внимательным в след раз | |
|
| |
|
|
|
| Возвращаемся к началу.
При использовании gotorecord ошибка: подчиненная форма не открыта.
Меняя ширину столбца ключевого поля (подчиненная форма имеет табличный вид) , его можно почти скрыть, пока он не скрылся полностью проблем нет. | |
|
| |
|
|
|
| Возвращаемся к началу.
При использовании gotorecord ошибка: подчиненная форма не открыта.
Меняя ширину столбца ключевого поля (подчиненная форма имеет табличный вид) , его можно почти скрыть, пока он не скрылся полностью проблем нет. | |
|
| |
|
|
|
| Попробуйте использовать рекордсет. Мне сложно протелепатировать, что вы там сделали, поэтому точно не могу сказать какой именно рекордсет. Ваританта всего два - рекордсет рекордсоурса подчиненной формы или же рекордсетклон самой подчиненной формы. | |
|
| |
|
|
|
| В подчиненной форме (табличный вид) после обновления одного из полей обновляется источник (recordsourse) для подчиненной формы, после этого фокус на первойм записи. Перед обновлением поля сохранено ключевое поле обновляемой строки. Теперь нудно вернуться на эту запись. | |
|
| |
|
|
|
| Можно использовать рекордсет подчиненной формы. Вот примеп из хэлпа
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 обращение к подчиненной форме ) | |
|
| |