powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADP Recordset формы
17 сообщений из 17, страница 1 из 1
ADP Recordset формы
    #32773890
dans
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На открытие формы пишу код:
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset

rst.Open "SELECT Rab_user_fin.s_nomber, Rab_user_fin.sm_limit, Rab_user_fin.sm_fin, Rab_user_fin.sm_fakt, Rab_user_fin.sm_limit1, Rab_user_fin.sm_fin1, Rab_user_fin.sm_fakt1 FROM Rab_user_fin ;", "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=" & CurrentProject.Path & "\budget.mdb", adOpenKeyset, adLockOptimistic
Set Me.Recordset = rst

Все данные отображает в форме.Но добавить новую запись в форме я не могу.
Подскажите пож-та что нужно сделать.
...
Рейтинг: 0 / 0
ADP Recordset формы
    #32773952
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первичный ключ в Rab_user_fin имеется?
...
Рейтинг: 0 / 0
ADP Recordset формы
    #32774131
dans
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВиталПервичный ключ в Rab_user_fin имеется?
нет....но ведь это обязательное условие для для добавления в таблицу sql-ой базы, а мне нужно добавлять в запись в mdb-ную таблицу.
...
Рейтинг: 0 / 0
ADP Recordset формы
    #32774134
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет ключа, нет добавления :)
...
Рейтинг: 0 / 0
ADP Recordset формы
    #32774235
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй DAO.Recordset, если так надо без ключа.
...
Рейтинг: 0 / 0
ADP Recordset формы
    #32774268
dans
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделал PrimaryKey на поле s_nomber.Толку пока никакого((
...
Рейтинг: 0 / 0
ADP Recordset формы
    #32774276
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AllowAditions = true?
...
Рейтинг: 0 / 0
ADP Recordset формы
    #32774280
dans
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KelmeAllowAditions = true?
да.
...
Рейтинг: 0 / 0
ADP Recordset формы
    #32774705
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для проверки добавь поле - счетчик и сделай его первичным ключем.
...
Рейтинг: 0 / 0
ADP Recordset формы
    #32774712
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аксесс 2000 или XP ?
...
Рейтинг: 0 / 0
ADP Recordset формы
    #32774780
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По моему, присобаченный на форму адо рекордсет на основе джета всегда получается только для чтения. Я из за этого на дао перешел. Присобачте дао рекордсет и будет вам счастье
...
Рейтинг: 0 / 0
ADP Recordset формы
    #32775371
dans
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2.Витал
Добавил.Ничего.((
2.АлексейК
ХР
2.Shark
А можно пример кода кинуть пож-тьа,а то я DAO никогда не пользовался.
...
Рейтинг: 0 / 0
ADP Recordset формы
    #32775431
dans
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2.Витал
Добавил.Ничего.((
2.АлексейК
ХР
2.Shark
А можно пример кода кинуть пож-тьа,а то я DAO никогда не пользовался.
...
Рейтинг: 0 / 0
ADP Recordset формы
    #32775451
Фотография Shark
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Private dbJet As DAO.Database
Private lWS As DAO.Workspace

Set lWS = CreateWorkspace("", "admin", "", dbUseJet)
Set dbJet = lWS.OpenDatabase(ПутьКБазюке)


Dim rst1 As DAO.Recordset
Set rst1 = dbJet.OpenRecordset("Select * From table1")
rst1.Requery
Set Me.Recordset = rst1

'Зачем мне реквери понадобилось-хз, не помню
...
Рейтинг: 0 / 0
ADP Recordset формы
    #32775486
dans
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2.Shark
Все вери гуд.Спасиба.
Толька пришлось убрать
Private dbJet As DAO.Database
Private lWS As DAO.Workspace
На них при компиляции дает ошибку "Invalid attribute in Sub or Function"
но и без них схавало))
...
Рейтинг: 0 / 0
ADP Recordset формы
    #32775503
Kelme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dans2.Shark
Все вери гуд.Спасиба.
Толька пришлось убрать
Private dbJet As DAO.Database
Private lWS As DAO.Workspace
На них при компиляции дает ошибку "Invalid attribute in Sub or Function"
но и без них схавало))

надо писать не Private, а Dim

Private - это когда глобальную переменную объявляешь.
...
Рейтинг: 0 / 0
ADP Recordset формы
    #32775701
dans
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2.Kelme
понял.спасибо))
Но теперь у меня задача усложнилась.К тем данным, которые беруться из mdb-ной базы(Rab_user_fin), добавляются данные из таблицы на sql-ом сервере(dbo.Klass_objekt).задача добавления на форме не стоит,только изменение.
Ничего другого не придумал как этот код на "Открытие формы":
Dim rst As ADODB.Recordset
Set rst = New ADODB.Recordset
Dim rst1 As ADODB.Recordset
Set rst1 = New ADODB.Recordset
Dim rst2 As ADODB.Recordset
Set rst2 = New ADODB.Recordset
Dim ss As Integer
With rst.Fields
.Append "name_short", adChar, 15
.Append "kpol", adInteger
.Append "s_nomber", adInteger
.Append "sm_limit", adVariant
.Append "sm_fin", adVariant
.Append "sm_fakt", adVariant
.Append "sm_limit1", adVariant
.Append "sm_fin1", adVariant
.Append "sm_fakt1", adVariant
End With
rst.Open
rst1.Open "SELECT Rab_user_fin.s_nomber, Rab_user_fin.sm_limit, Rab_user_fin.sm_fin,Rab_user_fin.sm_fakt, Rab_user_fin.sm_limit1, Rab_user_fin.sm_fin1, Rab_user_fin.sm_fakt1 FROM Rab_user_fin ;", "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=" & CurrentProject.Path & "\budget.mdb", adOpenKeyset, adLockOptimistic
rst1.MoveFirst
Do While Not rst1.EOF
ss = rst1.Fields("s_nomber")
rst2.Open "SELECT kpol, s_nomber, name_short FROM dbo.Klass_objekt WHERE (s_nomber =" & ss & " );", CurrentProject.Connection, adOpenStatic, adLockOptimistic
With rst
.AddNew
.Fields("name_short") = rst2.Fields("name_short")
.Fields("kpol") = rst2.Fields("kpol")
.Fields("s_nomber") = rst1.Fields("s_nomber")
.Fields("sm_limit") = rst1.Fields("sm_limit")
.Fields("sm_fin") = rst1.Fields("sm_fin")
.Fields("sm_fakt") = rst1.Fields("sm_fakt")
.Fields("sm_limit1") = rst1.Fields("sm_limit1")
.Fields("sm_fin1") = rst1.Fields("sm_fin1")
.Fields("sm_fakt1") = rst1.Fields("sm_fakt1")
.Update
End With
rst2.Close
rst1.MoveNext
Loop
Set Me.Recordset = rst
Но даже в нем выдает ошибку на строке ".Fields("name_short") = rst2.Fields("name_short")".Говорит "Multiple-step operation generated errors.Check each status value".
Подскажите пож-та в чем может здесь проблема или может есть другое решение задачи.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADP Recordset формы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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