Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: DSN перечень доступных баз
 
 автор: zanuda   (26.12.2006 в 09:44)   личное сообщение
 
 

База mdb подключается к серверу через DSN. На сервере несколько баз, доступ к ним периодически меняется. Как из акса через ВБ получить список достпных баз на сервере?если можно с примером кода.

  Ответить  
 
 автор: osmor   (26.12.2006 в 09:57)   личное сообщение
 
 

это не поможет?
http://ssy.mccinet.ru/odbc_1.html
Если нет, то поищу у себя где-то была функция....

  Ответить  
 
 автор: zanuda   (26.12.2006 в 10:04)   личное сообщение
 
 

Может и помогло бы, да с IP проблема у меня. А проще это никак не можно сделать? ну очень надо

  Ответить  
 
 автор: osmor   (26.12.2006 в 10:17)   личное сообщение
 
 

где-то содрал


Declare Function SQLDataSources Lib "odbc32.dll" (ByVal HENV As Long, _
                                                  ByVal Direction As Long, _
                                                  ByVal DSN As String, _
                                                  ByVal DSNMax As Integer, _
                                                  ByRef DSNLen As Integer, _
                                                  ByVal Description As String, _
                                                  ByVal DescriptionMax As Integer, _
                                                  ByRef DescriptionLen As Integer) As Integer

Declare Function SQLAllocEnv Lib "odbc32.dll" (ByRef HENV As Long) As Integer

Const SQL_SUCCESS As Long = 0
Const SQL_FETCH_NEXT As Long = 1
'
Function ODBC_GetListDSN()
    Dim i As Integer
    Dim sDSNItem As String * 1024
    Dim sDRVItem As String * 1024
    Dim sDSN As String
    Dim sDRV As String
    Dim iDSNLen As Integer
    Dim iDRVLen As Integer
    Dim lHenv As Long

    On Error Resume Next
    'получаем DSN's
    If SQLAllocEnv(lHenv) <> -1 Then
        Do Until i <> SQL_SUCCESS
            sDSNItem = Space$(1024)
            sDRVItem = Space$(1024)
            i = SQLDataSources(lHenv, SQL_FETCH_NEXT, sDSNItem, 1024, _
                iDSNLen, sDRVItem, 1024, iDRVLen)
            sDSN = Left$(sDSNItem, iDSNLen)
            sDRV = Left$(sDRVItem, iDRVLen)
                
            If sDSN <> Space(iDSNLen) Then
               Debug.Print sDSN, sDRV
            End If
        Loop
    End If
End Function

  Ответить  
 
 автор: zanuda   (26.12.2006 в 10:20)   личное сообщение
 
 

Спасибо Олег, в который раз выручаете! Буду пробовать ...

  Ответить  
 
 автор: KrukVN   (26.12.2006 в 11:22)   личное сообщение
 
 

а так можно виндовую формочку ODBC посмотреть:
Call Shell("ODBCAD32.EXE", vbNormalFocus)

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList