Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подскажите, где ошибка в Recordset'е? / 25 сообщений из 32, страница 1 из 2
02.12.2004, 09:06:15
    #32808782
Подскажите, где ошибка в Recordset'е?
Выполнятся следующее событие.

Код: 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
02.12.2004, 09:11:24
    #32808787
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, где ошибка в Recordset'е?
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
02.12.2004, 09:39:45
    #32808830
Подскажите, где ошибка в Recordset'е?
ОС: WinXP, Access 2000.
...
Рейтинг: 0 / 0
02.12.2004, 09:47:02
    #32808849
Подскажите, где ошибка в Recordset'е?
Вставляю код:

Код: plaintext
Me.Recordset = D

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

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

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

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

Код: plaintext
Set Me.Recordset = D

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

Код: 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
02.12.2004, 12:01:53
    #32809220
Подскажите, где ошибка в Recordset'е?
reo, спасибо. Ты уже заранее ответил на мой вопрос. :)

Надо

Код: plaintext
D.Close

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

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

Код: 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
02.12.2004, 16:28:39
    #32810097
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, где ошибка в Recordset'е?
Поставить поля контролсаурсом на D и убрать D.Close
...
Рейтинг: 0 / 0
02.12.2004, 16:33:25
    #32810112
Подскажите, где ошибка в Recordset'е?
А допустим я создам кнопку "Сохранить изменения".

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

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

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

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

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

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

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

И читать что-нибудь фундаментальное про аксесс. После практическогоковыряния теория Ааатлично ложится!
...
Рейтинг: 0 / 0
03.12.2004, 09:21:22
    #32810936
Подскажите, где ошибка в Recordset'е?
Код: 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
03.12.2004, 11:04:08
    #32811211
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, где ошибка в Recordset'е?
А можно сделать еще меньше, если в конструкторе задать пресловутые контролсоурсы.
...
Рейтинг: 0 / 0
03.12.2004, 12:03:22
    #32811468
Подскажите, где ошибка в Recordset'е?
Подскажи, как именно в конструкторе импользовать ControlSource?
...
Рейтинг: 0 / 0
03.12.2004, 20:40:02
    #32812782
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, где ошибка в Recordset'е?
Пора читать книжку по аксессу...
...
Рейтинг: 0 / 0
04.12.2004, 09:46:01
    #32812943
Vsevolod V
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, где ошибка в Recordset'е?
На самом деле тут явно что-то не так. То есть я не кижу смысла назначать ControlSource через рекордсет. Почему не задать вычисляемые поля в рекордсурсе всей формы и по клику обновлять всю форму???? Это первое.
Второе. Ну а рекордсеты в основном используют только для изменения значения контрола (где Conrol.ControlSource = "").
...
Рейтинг: 0 / 0
06.12.2004, 12:07:18
    #32814113
Подскажите, где ошибка в Recordset'е?
Программист, какую книжку ты мог бы посоветовать?
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подскажите, где ошибка в Recordset'е? / 25 сообщений из 32, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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