powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA и SQL Server 2000
9 сообщений из 9, страница 1 из 1
VBA и SQL Server 2000
    #33305904
zvanya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята, следующая проблема. Подключаюсь к базе след. образом:
Код: plaintext
1.
2.
3.
4.
5.
6.
Dim wrk As Workspace, cnn As Connection, rst As Recordset
Dim fld As Field, strConnect As String, strSQL As String
strConnect = "ODBC;DSN=MyFLink;UID=sa; PWD=; DATABASE=FLINK"
Set wrk = DBEngine.CreateWorkspace("NewODBCDirect", "sa", "", dbUseODBC)
Set cnn = wrk.OpenConnection("MFLnk", dbDriverNoPrompt, False, strConnect)
' ?????????????
Set cnn = Nothing

Как мне прочитать из таблицы ALM базы FLINK зн-е трех столбцов ST1 , ST2 , ST3 типа string первой строки и сохранить их в массив либо в три переменные?
...
Рейтинг: 0 / 0
VBA и SQL Server 2000
    #33306247
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скорее всего надо сделать запрос

Код: plaintext
1.
strSQL = "SELECT TOP 1 FROM ALM"
rst.Open strSQL, cnn
если столбцы в таблице называются ST1, ST2, ST3 то их значения получешь так
Код: plaintext
1.
2.
A  = rst!ST1
B  = rst!ST2
C  = rst!ST3
...
Рейтинг: 0 / 0
VBA и SQL Server 2000
    #33306261
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HandKot
Код: plaintext
1.
strSQL = "SELECT TOP 1 FROM ALM"


SELECT TOP 1 чего?

Код: plaintext
SELECT TOP  1  ST1,ST2,ST3 FROM ALM
...
Рейтинг: 0 / 0
VBA и SQL Server 2000
    #33306278
zvanya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторrst.Open strSQL, cnn
Пишет нет такого метода .open
...
Рейтинг: 0 / 0
VBA и SQL Server 2000
    #33306477
Конечно нет. Пишешь под DAO, а тебе пример под ADO дали.

Код: 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.
    Dim wrk As Workspace
    Dim cnn As Connection
    Dim rst As Recordset
    Dim fld As Field
    Dim strConnect As String
    Dim strSQL As String
    
    strConnect = "ODBC;DSN=MyFLink;UID=sa;PWD=;DATABASE=FLINK"
    
    Set wrk = DBEngine.CreateWorkspace("NewODBCDirect", "sa", "", dbUseODBC)
    
    Set cnn = wrk.OpenConnection("MFLnk", dbDriverNoPrompt, False, strConnect)
    
    Set rst = cnn.OpenRecordset("SELECT TOP 1 ST1,ST2,ST3 FROM ALM", _
      dbOpenSnapshot)
    
    With rst
        Do While Not .EOF
           Debug.Print .Fields( 0 ) & " " & .Fields( 1 ) & " " & .Fields( 2 )
           .MoveNext
        Loop
    End With
    
    rst.Close
    cnn.Close

    Set cnn = Nothing
...
Рейтинг: 0 / 0
VBA и SQL Server 2000
    #33307872
Фотография HandKot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторКонечно нет. Пишешь под DAO, а тебе пример под ADO дали

надо просто в рефренсы добавить библиотеку ADO
...
Рейтинг: 0 / 0
VBA и SQL Server 2000
    #33310461
MMaxM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Private WSpace As Workspace
Private DBase As Database
Private RecSet As Recordset


Public Function ConnectSQLSrv(s_server, s_base, s_user, s_pass As String) As Boolean
Dim ConnStr As String
Set WSpace = CreateWorkspace("", s_user, s_pass, dbUseODBC) ' необязательное создание рабочей области
ConnStr = "ODBC;DSN=MQIS;UID=" + s_user + ";PWD=" + s_pass + ";SERVER=" + s_server + ";DATABASE=" + s_base
Set DBase = WSpace.OpenConnection(ConnStr)
ConnectSQLSrv = True
End Function

Public Function ReadRecSet() As String
Dim SQL_str As String
Dim glpCntEnterprise As String
Dim temptable As Recordset
If ConnectSQLSrv(s_server, s_base, s_user, s_pass) = True Then
SQL_str = ""
SQL_str = "SELECT * FROM dbo.TableName where TebleNameID=1236"
Set RecSet = DBase.OpenRecordset(SQL_str)

If Not IsNull(RecSet.Fields(1).VALUE) Then
glpCntEnterprise = RecSet.Fields(1).VALUE
Else
glpCntEnterprise = 0
End If
ReadRecSet = glpCntEnterprise
Else
ReadRecSet = " "
End If
End Function
...
Рейтинг: 0 / 0
VBA и SQL Server 2000
    #33310462
MMaxM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Надеюсь вы разберётесь в моих каракулях
...
Рейтинг: 0 / 0
VBA и SQL Server 2000
    #33310463
MMaxM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Самое главное используется DAO и ODBC
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA и SQL Server 2000
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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