powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подскажите, где ошибка в Recordset'е?
25 сообщений из 32, страница 1 из 2
Подскажите, где ошибка в Recordset'е?
    #32808782
Выполнятся следующее событие.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Private Sub Кнопка1_Click()

    Dim strNewRecord As String
    Dim D As DAO.Recordset
    strNewRecord = "SELECT [Таблица1].Поле1 As 1, " & _
        "[Таблица1].Поле2 As 2 FROM [Таблица1] " & _
        "WHERE КОД = " & Me!Поле1.Value & ""
    Set D = CurrentDb.OpenRecordset(strNewRecord)
    If Not D.EOF Then
        Me.Поле3.ControlSource = "1"
        Me.Поле5.ControlSource = "2"
    End If
    D.Close

End Sub

При нажатии кнопки в полях формы: Поле3 и Поле5, вместо результата получается значение "#Имя". Подскажите где закралась ошибка. Спасибо.
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32808787
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Access какой?
Надо либо в рекордсет формы положить D, либо в Поле3/5 записывать не имена полей, а их содержимое:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Me.Recordset = D ' Работает не во всех акцессах, 
     ' и в данном случае только в MDB

или

Me.Поле3.Value = D.Fields("1")
Me.Поле5.Value = D.Fields("2")
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32808830
ОС: WinXP, Access 2000.
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32808849
Вставляю код:

Код: plaintext
Me.Recordset = D

Появляется сообщение: "Операция не поддерживается для объктов данного типа" . По-видимому Access 2000 не поддерживает?

Вставляю код:

Код: plaintext
1.
Me.Поле3.Value = D.Fields("1")
Me.Поле5.Value = D.Fields("2")

Все работает. В полях появляются необходимые результаты.
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32809063
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Set забыли. Set Me.Recordset = D
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32809072
Гео
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
позор на мою лысую голову :(
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32809121
Подскажите. В какое место кода добавит строку:

Код: plaintext
Set Me.Recordset = D

Спасибо.
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32809125
А то, что-то не работает.
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32809175
Гео
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
после
Set D = CurrentDb.OpenRecordset(strNewRecord)
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32809204
Гео
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и надо
Код: plaintext
    D.Close
убрать
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32809212
Я впринципе так и пробовал:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Dim strNewRecord As String
    Dim D As DAO.Recordset
    strNewRecord = "SELECT [Таблица1].Поле1 As 1, " & _
        "[Таблица1].Поле2 As 2 FROM [Таблица] " & _
        "WHERE Код = " & Me!Поле0.Value & ""
    Set D = CurrentDb.OpenRecordset(strNewRecord)
    Set Me.Recordset = D
    If Not D.EOF Then
        Me.Поле3.ControlSource = "1"
        Me.Поле5.ControlSource = "2"
    End If
    D.Close

Но, все равно в результирующих полях: "#Имя" . И еще одно, если несколь раз нажать на кнопку, то промелкивает результат, но в итоге все равно "#Имя" . В чем может быть ошибка?
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32809220
reo, спасибо. Ты уже заранее ответил на мой вопрос. :)

Надо

Код: plaintext
D.Close

убрать, и тогда все результаты отображаются.

Спасибо за помощь.
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32810090
Есть форма, поля в которой выбираются следующим образом:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Dim strNewRecord As String
Dim D As DAO.Recordset
strNewRecord = "SELECT [Таблица1].Поле1 As A, " & _ 
"[Таблица1].Поле As B FROM [Таблица1] " & _ 
"WHERE Код = " & Me!Поле0.Value & ""
Set D = CurrentDb.OpenRecordset(strNewRecord)
If Not D.EOF Then
    Me.Поле3.Value = D.Fields("A")
    Me.Поле5.Value = D.Fields("B")
End If
D.Close

Результат выбирается. Данные могу редактировать. Но они не сохраняются в таблице.
Подскажите как это можно осуществить. Спасибо.
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32810097
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставить поля контролсаурсом на D и убрать D.Close
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32810112
А допустим я создам кнопку "Сохранить изменения".

Там как осуществить сохранение изменений?
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32810124
Контролсоурс так использовать?

Код: plaintext
1.
Me.Поле15.ControlSource = D.Fields("ADR")
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32810128
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CurrentProject.Connection.Execute "UPDATE [Таблица1] SET Поле1=" & CStr(Me.Поле3) & ", Поле2=" & CStr(Me.Поле5) & " WHERE КОД = " & Me!Поле1.Value

Руки оторвать тому, кто не ползуется венгерской нотацией, называет поля кириллицей и дает полям в форе и в таблицах разные имена!
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32810383
С кнопкой все впорядке, а вот с

авторПоставить поля контролсаурсом на D

что-то не работает.
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32810484
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Recordset - объект, данные всей формы, на которой поля Control1 и Control2.

Controlsource - имя полей "Field1" и "Field2" в пределах рекордсета для привязки контрола.

Control1.Controlsource = "Field1"
Control2.Controlsource = "Field2"

И читать что-нибудь фундаментальное про аксесс. После практическогоковыряния теория Ааатлично ложится!
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32810936
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dim strNewRecord As String
Dim D As DAO.Recordset
strNewRecord = "SELECT [Таблица1].Поле1 As A, " & _ 
"[Таблица1].Поле2 As B FROM [Таблица1] " & _
"WHERE Код = " & Me!Поле0.Value & ""
Set D = CurrentDb.OpenRecordset(strNewRecord)
Set Me.Recordset = D
If Not D.EOF Then
    Forms!Форма1!Поле3.ControlSource = "A"
    Forms!Форма1!Поле5.ControlSource = "B"
End If

Так все работает и все меняет. Спасибо.

Можно еще так сделать без RecordSet :

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Dim strNewRecord As String
Dim strNewRecord As String
strNewRecord = "SELECT [Таблица1].Поле1 As A, " & _
"[Таблица1].Поле As B FROM [Таблица1] " & _ 
"WHERE Код = " & Me!Поле0.Value & ""
Me.RecordSource = strNewRecord
Me.Поле3.ControlSource = "A"
Me.Поле5.ControlSource = "B"
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32811211
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно сделать еще меньше, если в конструкторе задать пресловутые контролсоурсы.
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32811468
Подскажи, как именно в конструкторе импользовать ControlSource?
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32812782
Фотография Программист-Любитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пора читать книжку по аксессу...
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32812943
Фотография Vsevolod V
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На самом деле тут явно что-то не так. То есть я не кижу смысла назначать ControlSource через рекордсет. Почему не задать вычисляемые поля в рекордсурсе всей формы и по клику обновлять всю форму???? Это первое.
Второе. Ну а рекордсеты в основном используют только для изменения значения контрола (где Conrol.ControlSource = "").
...
Рейтинг: 0 / 0
Подскажите, где ошибка в Recordset'е?
    #32814113
Программист, какую книжку ты мог бы посоветовать?
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подскажите, где ошибка в Recordset'е?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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