powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / вопрос по работе с АДО
5 сообщений из 5, страница 1 из 1
вопрос по работе с АДО
    #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
вопрос по работе с АДО
    #32843505
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в mdb Access XP для формы и отчета следует применять DAO.Recordset ,ADO -для adp
...
Рейтинг: 0 / 0
вопрос по работе с АДО
    #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
вопрос по работе с АДО
    #32843640
Фотография RuslanLisovenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shuhardв mdb Access XP для формы и отчета следует применять DAO.Recordset ,ADO -для adp

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

Солгласен, но а что никак нельзя совместить два проекта делать выборку и так и так.......?
...
Рейтинг: 0 / 0
вопрос по работе с АДО
    #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
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / вопрос по работе с АДО
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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