powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Не работает метод Find в Recordset'е (Microsft Access 2007)
3 сообщений из 3, страница 1 из 1
Не работает метод Find в Recordset'е (Microsft Access 2007)
    #38121948
Emmelman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще раз здравствуйте, уважаемые форумчане!
Опять прошу совета!
Дали установку реализовать удаление записей из базы данных, открыл свой старый проект и взял оттуда код,предварительно его проверив,что он там работает, вот он:
Код: 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
Не работает метод Find в Recordset'е (Microsft Access 2007)
    #38122395
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Emmelman,

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

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

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


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