Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 а как сделать чтобы можно было редактировать?  [new]
TatianaT
Member

Откуда:
Сообщений: 1356
Всем привет!
Access2000(mdb)+ SQL Server2000
форме как источник подсовываю стор процедуру:
Private Sub Form_Open(Cancel As Integer)
Dim DB As DAO.Database
Dim qdf As QueryDef

Set DB = CurrentDb()
Set qdf = DB.QueryDefs("Q_SourceSupProd"
qdf.Connect = "ODBC;DSN=ITURAN;UID=" & UserName() & ";DATABASE=ITURAN;Network=DBMSSOCN;Trusted_Connection=Yes"
qdf.SQL = " "
qdf.SQL = " exec up_sourceF_SupplProdSub @PlanNum=" & Nz([Forms]![f_amain]![PlanID], 0) & _
" , @JobCode=" & Nz([Forms]![f_amain]![Job_Place_Code], 0) & " , @SupID=" & Nz([Forms]![F_SupplProduct1]![cmbSuppliers], 0)

qdf.Close
Set qdf = Nothing
Set DB = Nothing
Me.RecordSource = "Q_SourceSupProd"
записи форма получает , но редактировать нельзя а как сделать чтобы можно было редактировать?

заранее благодарна
1 апр 03, 09:44    [161097]     Ответить | Цитировать Сообщить модератору
 Re: а как сделать чтобы можно было редактировать?  [new]
gringo
Member

Откуда: Nizny Novgorod
Сообщений: 76
Насколько я понимаю, recordset из хран. процедуры нельзя сделать редактируемым в ADO
Я обходил это конструкцией вида:

sql = "Create Table #t (...)
Insert Into #t (...) exec mysp ...
Select ... From #t
Drop Table #t"
1 апр 03, 10:40    [161144]     Ответить | Цитировать Сообщить модератору
 Re: а как сделать чтобы можно было редактировать?  [new]
netfrog
Member

Откуда: Проект закрыт
Сообщений: 684
2 gringo ADO рекордсет редактировать как раз можно:
rsSprav - рекордсет


Set rsSprav = New ADODB.Recordset
With rsSprav
.LockType = adLockOptimistic
.CursorType = adOpenStatics
.CursorLocation = adUseClient
.Open cmdSprav 'command-объект с рез. ХП
End With
1 апр 03, 11:30    [161234]     Ответить | Цитировать Сообщить модератору
 Re: а как сделать чтобы можно было редактировать?  [new]
TatianaT
Member

Откуда:
Сообщений: 1356
а что по поводу DAO ?
1 апр 03, 11:46    [161262]     Ответить | Цитировать Сообщить модератору
 Re: а как сделать чтобы можно было редактировать?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
2 TatianaT

>Access2000(mdb)+ SQL Server2000

А почему не Access2000(adp)? Пора с DAO на ADO переходить.
1 апр 03, 11:48    [161267]     Ответить | Цитировать Сообщить модератору
 Re: а как сделать чтобы можно было редактировать?  [new]
gringo
Member

Откуда: Nizny Novgorod
Сообщений: 76
2 netfrog
а ты проверял?
у меня recordset, полученный из хп сделать редактируемым не получилось
(ADO не понимает, куда ему нужно делать Insert, Update и Delete в этом случае, даже когда я его делал отсоединенным)
Если это не так - пришлите примерчики, очень интересно
1 апр 03, 11:54    [161275]     Ответить | Цитировать Сообщить модератору
 Re: а как сделать чтобы можно было редактировать?  [new]
TatianaT
Member

Откуда:
Сообщений: 1356
>Access2000(mdb)+ SQL Server2000

>А почему не Access2000(adp)? Пора с DAO на ADO переходить.

потому что на самом деле сейчас вообще проэкт на Access97
и таблицы тоже. я перевожу сейчас на Access2000(mdb)+ SQL Server2000
и на всё про всё неделю дали
а чтоб на Access2000(adp) перейти надо весь проэкт заново написать
1 апр 03, 12:20    [161312]     Ответить | Цитировать Сообщить модератору
 Re: а как сделать чтобы можно было редактировать?  [new]
netfrog
Member

Откуда: Проект закрыт
Сообщений: 684
В принципе вот оно и есть, это прокатывает не только с гридами, но и с любыми элементами которые умеют связываться с данными через ADO или ADO-контролы. .Update или смувиться по записям и все :)

Private rsSprav As ADODB.Recordset
Private cmdSprav As New ADODB.Command
Private prmSprav As ADODB.Parameter

Private Sub allRec()
'Выборка записей в соответствии со значением переменной
Set cmdSprav.ActiveConnection = frmLogon.cn
cmdSprav.CommandText = "procSpravAllRec"
cmdSprav.CommandType = adCmdStoredProc
Set prm = cmdSprav.CreateParameter("spravIndex", adInteger, adParamInput, , frmMain.spravIndex)
cmdSprav.Parameters.Append prm

cmdSprav.Prepared = True
cmdSprav.Execute

Set rsSprav = New ADODB.Recordset
With rsSprav
.LockType = adLockOptimistic
.CursorType = adOpenStatics
.CursorLocation = adUseClient
.Open cmdSprav
End With
Set grid.DataSource = rsSprav

End Sub
1 апр 03, 12:33    [161330]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить