Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / вопрос по работе с АДО / 5 сообщений из 5, страница 1 из 1
24.12.2004, 12:00:41
    #32843472
RuslanLisovenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по работе с АДО
Вопрос по работе с АДО..........
Есть ли есть у кого полный Хелп или примеры вышлите пожайлуста на адрес RuslanLN@ukr.net

Все таблицы прилинкованы в Access через ODBC ....мдб-ный проект
Вытягивать данные в рекордСет Адош-ный вроде как-бы..........если , что поправте
--------------------------------------------------
Public Function MakeLocalTableFromSQL_ADO(strSQL As String, _
strTarget As String, _
Optional bIsErrMsg As Boolean = True, _
Optional nDbId As Integer = 1) As Object
ActiveFormDirty
Dim cnn_Ado As Object 'ADODB.Connection
Dim qd As Object 'ADODB.Recordset 'DAO.QueryDef Object '
Dim sTempDB As String
Dim sDBname As String
Dim sServerName As String
Dim cnn_Str As String

Set MakeLocalTableFromSQL_ADO = Nothing

sDBname = GetSySParam("DB_Name")
sServerName = GetSySParam("Server")

On Error GoTo LError

Set qd = CreateObject("ADODB.Recordset.2.80")
Set cnn_Ado = CreateObject("ADODB.Connection.2.80")

With cnn_Ado
.Provider = "SQLOLEDB"
.Properties("Data Source") = sServerName
.Properties("Initial Catalog") = sDBname
.Properties("Integrated Security") = "SSPI"
.Open
Set qd = .Execute(strSQL)
.Close
End With
Set MakeLocalTableFromSQL_ADO = qd
Exit Function
LError:
If bIsErrMsg Then ErrMsg "MakeLocalTableFromSQL_ADO"
End Function
--------------------------------------------------
2.Как мне теперь полученные данные отдать форме?
Пытаюсь так .....ясно, что типы источников разные...........
Me.Form.RecordSource = MakeLocalTableFromSQL_ADO(sSql, "tbl" & Me.Form.Name & Active_DocID, True)
--------------------------------------------------
3.
--------------------------------------------------
С ув. к участникам форума, Руслан.
...
Рейтинг: 0 / 0
24.12.2004, 12:09:38
    #32843505
Shuhard
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по работе с АДО
в mdb Access XP для формы и отчета следует применять DAO.Recordset ,ADO -для adp
...
Рейтинг: 0 / 0
24.12.2004, 12:25:03
    #32843552
Talen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по работе с АДО
А таблички-то на MS SQL лежат?

Вот пример для привязки таблиц из другой MDB. Для MS SQL нужно только строку подключения изменить.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
'Подключение удаленной таблицы
Private Function LinkTable(ByVal strTableName As String) As Boolean
    On Error Resume Next
    Dim strDSN As String
    Dim tdfLinked As TableDef
    
    strDSN = ";DATABASE=" & Me.ServerPath
    
    Me.Status.Caption = "Подключение таблицы " & strTableName & " ..."
    Me.Repaint
    
    Set tdfLinked = CurrentDb.CreateTableDef(strTableName & " (new)")
    tdfLinked.Connect = strDSN
    tdfLinked.SourceTableName = strTableName
    
    Err.Clear
    CurrentDb.TableDefs.Append tdfLinked
    If Err.Number <>  0  Then
        'Agent.StopAnime
        'Agent.Play "Decline"
        MsgBox "Не удается подключить таблицу " & strTableName & "!", vbCritical + vbOKOnly, "Ошибка"
        LinkTable = False
    Else
        LinkTable = True
    End If
End Function

А дальше работаешь с ними, как с локальными. Все остальное Access'ка разрулит
...
Рейтинг: 0 / 0
24.12.2004, 12:57:57
    #32843640
RuslanLisovenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по работе с АДО
Shuhardв mdb Access XP для формы и отчета следует применять DAO.Recordset ,ADO -для adp

Аксесс использщую и 97 и XP,2003 ......2000 чего то не пошел

Солгласен, но а что никак нельзя совместить два проекта делать выборку и так и так.......?
...
Рейтинг: 0 / 0
24.12.2004, 13:05:06
    #32843663
RuslanLisovenko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
вопрос по работе с АДО
Предложение интереное.......
Линковать в мдб-ку другие файлы баз данных умел, а вот про изменение провайдера доступа не думал...........

Надо попробывать....у меня проект мдб-ный.......

А как быстро в таком случае будет происходить обновление данных таблицы в случае прямого инсерта на сиквел или авпдейта?

TalenА таблички-то на MS SQL лежат?

Вот пример для привязки таблиц из другой MDB. Для MS SQL нужно только строку подключения изменить.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
'Подключение удаленной таблицы
Private Function LinkTable(ByVal strTableName As String) As Boolean
    On Error Resume Next
    Dim strDSN As String
    Dim tdfLinked As TableDef
    
    strDSN = ";DATABASE=" & Me.ServerPath
    
    Me.Status.Caption = "Подключение таблицы " & strTableName & " ..."
    Me.Repaint
    
    Set tdfLinked = CurrentDb.CreateTableDef(strTableName & " (new)")
    tdfLinked.Connect = strDSN
    tdfLinked.SourceTableName = strTableName
    
    Err.Clear
    CurrentDb.TableDefs.Append tdfLinked
    If Err.Number <>  0  Then
        'Agent.StopAnime
        'Agent.Play "Decline"
        MsgBox "Не удается подключить таблицу " & strTableName & "!", vbCritical + vbOKOnly, "Ошибка"
        LinkTable = False
    Else
        LinkTable = True
    End If
End Function

А дальше работаешь с ними, как с локальными. Все остальное Access'ка разрулит
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / вопрос по работе с АДО / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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