VB&SQL
От: Sunnncho  
Дата: 23.04.05 13:28
Оценка:
Взываю к помощи, тех кто писал клиентские программы на VB для работы с БД MS SQL SERVER
Встала такая задача — создать иерархический набор строк(таблица в таблице). В книге MS SQL SERVER 2000 про это написано мало и
я никак не могу разобраться

Код в такой:

Set oCn = New ADODB.Connection
Set oRs = New ADODB.Recordset

oCn.Provider = "MSDataShape"

oCn.ConnectionString = "File Name=" & App.Path & "\\BD_SQL.udl"
oCn.Open "DATA PROVIDER=SQLOLEDB" & _
'";SERVER=" & sServer & _
'";UID=" & sLoginID & _
'";PWD=" & sPassword & _
'";DATABASE=Sunnncho"


oRs.StayInSync = False
oRs.Open "SHAPE {select * from R1_Organizacia} " & _
"APPEND ({select * from R7_Region} " & "RELATE Kod_R TO Kod_R)", oCn


Set Hflx_Org.DataSource = oRs

'Release all of the resources used
oRs.Close
oCn.Close

В книге написано, что Shape — определяет родительский объект, Append — дочерний, а Relate — связь по ID.
Запарывается на строке, где APPEND ... говорит нет прав, хотя если открывать просто таблицу например

oRs.Open "Select * From R1_Organizacia", oCn

Но мне нужна именно таблица в таблице.

Если мой код лажа или можно его сильно упростить, то прошу не поленится написать. Благодарность будет безмерной.
Re: VB&SQL
От: Sunnncho  
Дата: 23.04.05 19:32
Оценка:
Помогите! Очень как надо. Диплом делаю... хочу чтобы все было путью. И вот в таком месте встрял.
Re: VB&SQL
От: moodwin  
Дата: 24.04.05 04:43
Оценка:
Здравствуйте, Sunnncho, Вы писали:

S>В книге написано, что Shape — определяет родительский объект, Append — дочерний, а Relate — связь по ID.

S>Запарывается на строке, где APPEND ... говорит нет прав, хотя если открывать просто таблицу например

S>oRs.Open "Select * From R1_Organizacia", oCn


У соответствующей учетной записи сервера должны быть права на модификацию структуры этой таблицы.
Re[2]: VB&SQL
От: Sunnncho  
Дата: 24.04.05 14:05
Оценка:
Я подключаюсь к серверу через UDL файл. На основе учетных записей под админом.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.