Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADP Recordset формы / 17 сообщений из 17, страница 1 из 1
09.11.2004, 15:56:19
    #32773890
dans
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP Recordset формы
На открытие формы пишу код:
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
09.11.2004, 16:17:45
    #32773952
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP Recordset формы
Первичный ключ в Rab_user_fin имеется?
...
Рейтинг: 0 / 0
09.11.2004, 17:15:45
    #32774131
dans
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP Recordset формы
ВиталПервичный ключ в Rab_user_fin имеется?
нет....но ведь это обязательное условие для для добавления в таблицу sql-ой базы, а мне нужно добавлять в запись в mdb-ную таблицу.
...
Рейтинг: 0 / 0
09.11.2004, 17:17:21
    #32774134
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP Recordset формы
нет ключа, нет добавления :)
...
Рейтинг: 0 / 0
09.11.2004, 17:51:36
    #32774235
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP Recordset формы
Попробуй DAO.Recordset, если так надо без ключа.
...
Рейтинг: 0 / 0
09.11.2004, 18:10:46
    #32774268
dans
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP Recordset формы
сделал PrimaryKey на поле s_nomber.Толку пока никакого((
...
Рейтинг: 0 / 0
09.11.2004, 18:14:13
    #32774276
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP Recordset формы
AllowAditions = true?
...
Рейтинг: 0 / 0
09.11.2004, 18:17:46
    #32774280
dans
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP Recordset формы
KelmeAllowAditions = true?
да.
...
Рейтинг: 0 / 0
10.11.2004, 09:25:59
    #32774705
Витал
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP Recordset формы
Для проверки добавь поле - счетчик и сделай его первичным ключем.
...
Рейтинг: 0 / 0
10.11.2004, 09:28:16
    #32774712
АлексейК
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP Recordset формы
Аксесс 2000 или XP ?
...
Рейтинг: 0 / 0
10.11.2004, 10:01:21
    #32774780
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP Recordset формы
По моему, присобаченный на форму адо рекордсет на основе джета всегда получается только для чтения. Я из за этого на дао перешел. Присобачте дао рекордсет и будет вам счастье
...
Рейтинг: 0 / 0
10.11.2004, 13:18:59
    #32775371
dans
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP Recordset формы
2.Витал
Добавил.Ничего.((
2.АлексейК
ХР
2.Shark
А можно пример кода кинуть пож-тьа,а то я DAO никогда не пользовался.
...
Рейтинг: 0 / 0
10.11.2004, 13:41:51
    #32775431
dans
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP Recordset формы
2.Витал
Добавил.Ничего.((
2.АлексейК
ХР
2.Shark
А можно пример кода кинуть пож-тьа,а то я DAO никогда не пользовался.
...
Рейтинг: 0 / 0
10.11.2004, 13:52:14
    #32775451
Shark
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP Recordset формы
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
10.11.2004, 14:07:12
    #32775486
dans
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP Recordset формы
2.Shark
Все вери гуд.Спасиба.
Толька пришлось убрать
Private dbJet As DAO.Database
Private lWS As DAO.Workspace
На них при компиляции дает ошибку "Invalid attribute in Sub or Function"
но и без них схавало))
...
Рейтинг: 0 / 0
10.11.2004, 14:10:40
    #32775503
Kelme
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP Recordset формы
dans2.Shark
Все вери гуд.Спасиба.
Толька пришлось убрать
Private dbJet As DAO.Database
Private lWS As DAO.Workspace
На них при компиляции дает ошибку "Invalid attribute in Sub or Function"
но и без них схавало))

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

Private - это когда глобальную переменную объявляешь.
...
Рейтинг: 0 / 0
10.11.2004, 15:22:36
    #32775701
dans
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ADP Recordset формы
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
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADP Recordset формы / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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