Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Не работает метод Find в Recordset'е (Microsft Access 2007) / 3 сообщений из 3, страница 1 из 1
23.01.2013, 17:26
    #38121948
Emmelman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает метод Find в Recordset'е (Microsft Access 2007)
Еще раз здравствуйте, уважаемые форумчане!
Опять прошу совета!
Дали установку реализовать удаление записей из базы данных, открыл свой старый проект и взял оттуда код,предварительно его проверив,что он там работает, вот он:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
Private Sub Удалить_Click()
On Error GoTo Err_Удалить_Click

MyS = Trim$(DLookup("ОКУД", "t1", "[Use]=True"))
Dim MyN As ADODB.Recordset
Set MyN = New ADODB.Recordset
Dim Msg As Integer
MyN.Open "Select * From t3_" & MyS & "_" & MyR, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
With MyN
  .Find ("[Дата редакции]='" & Me.[Дата редакции] & "'")
  
    If .EOF = True Then
        MsgBox "Не существует записей в таблице", vbOKOnly + vbCritical, "Удаление записи"
    Else
        Msg = MsgBox("Вы действительно хотите удалить текущую запись?", vbYesNo + vbCritical, "Удаление записи")
        If Msg = vbYes Then
            .Delete
        End If
    End If
End With
MyN.Close
Set MyN = Nothing
        
[Forms]![t3_info].Requery

Exit_Удалить_Click:
    Exit Sub
Err_Удалить_Click:
    MsgBox Err.Description
    Resume Exit_Удалить_Click
End Sub


Не мудрствуя лукаво, вставил этот код себе в проект,заменив несколько фраз
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
Private Sub Удалить_Click()
On Error GoTo Err_Удалить_Click
Dim MyE As ADODB.Recordset
Set MyE = New ADODB.Recordset
Dim Msg As Integer
MyE.Open "Select * From Table2", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
With MyE
  'ВОТ ТУТ ВОЗНИКАЕТ ОШИБКА =================================
.Find ("[OPERATIONDATE]='" & Me.[Table1 subform].[OPERATIONDATE] & "'")
  '========================================================
    If .EOF = True Then
        MsgBox "Не существует записей в таблице", vbOKOnly + vbCritical, "Удаление записи"
    Else
        Msg = MsgBox("Вы действительно хотите удалить текущую запись?", vbYesNo + vbCritical, "Удаление записи")
        If Msg = vbYes Then
            .Delete
        End If
    End If
End With
MyE.Close
Set MyE = Nothing
        
Exit_Удалить_Click:
    Exit Sub
Err_Удалить_Click:
    MsgBox Err.Description
    Resume Exit_Удалить_Click
End Sub


Вот и все изменения! Прога вылетает в том месте, которое я выделил знаками равно ('=='), проверял по breakpoint' у. Вылетает ошибка такая - object doesn't support this property or method

В чем может быть причина?В старом проекте все работает...
Заранее спасибо!
...
Рейтинг: 0 / 0
23.01.2013, 23:12
    #38122395
mds_world
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает метод Find в Recordset'е (Microsft Access 2007)
Emmelman,

в ссылке на поле формы Me.[Table1 subform]![OPERATIONDATE] , вместо точки должен быть восклицательный знак, так как поле подформы является пользовательской коллекцией
...
Рейтинг: 0 / 0
24.01.2013, 10:06
    #38122725
Emmelman
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает метод Find в Recordset'е (Microsft Access 2007)
mds_world,
Спасибо, решил проблему немного по-другому,вот так -

.Find ("[OPERATIONDATE] = " & Me.[Table1 subform].form.[OPERATIONDATE] & "")

вставил .form. и все заработало ;)
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Не работает метод Find в Recordset'е (Microsft Access 2007) / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]