Подключение к SQL - PullRequest
       9

Подключение к SQL

0 голосов
/ 14 июля 2010

Я хочу добавить соединение к листу, чтобы при каждом обновлении ячейки значение передавалось из SQL.Я хочу, чтобы он ссылался на текстовое поле на одном из других листов, где ID =

. Как настроить подключение для обновления с этим значением.Что я помещаю в строку подключения?Я могу заставить его работать статически.

Ответы [ 2 ]

0 голосов
/ 14 июля 2010

Что заставляет клетку обновляться? Строка подключения будет зависеть от того, какую базу данных вы используете. В приведенном ниже примере используется Access и требуется ссылка на объекты данных Microsoft ActiveX 2.8

Данные помещаются в ячейку (1,1) на листе 1. Предложение where взято из textbox1 на sheet2:

Private Sub CommandButton1_Click() 

Dim sqlQuery As String

sqlQuery = "SELECT * FROM myTable WHERE " & Worksheets("sheet2").TextBox1.Text
fetchData "C:\file_databases\myDatabase.accdb", Worksheets("sheet1").Cells(1, 1), sqlQuery

End Sub

Private Function fetchData(databaseName As String, targetRange As Range, sqlQuery As String)

Dim connection As New ADODB.connection
Dim records As New ADODB.Recordset
Dim connectionString As String
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & databaseName & ";"

connection.Open connectionString
records.Open sqlQuery, connection
targetRange.CopyFromRecordset records

records.Close
connection.Close

End Function
0 голосов
/ 14 июля 2010

В Excel есть небольшая удобная функция, которая называется «Импорт внешних данных».Вот что я хотел бы сделать:

  1. В вашем файле Excel перейдите Данные -> Импорт внешних данных -> Новый запрос к базе данных (В вашем случае вариант импорта данных не будет лучшим методом)

  2. Пройдите через мастера.Выберите источник данных и т. Д. За исключением последнего варианта, выберите Просмотр данных или изменение запроса в Microsoft Query

  3. MS Query - это, по сути, небольшой конструктор запросов.Выберите значок Показать / скрыть критерии (выглядит как очки + воронка).

  4. Этот интерфейс для ввода критериев во многом похож на Access.Выберите поле и вместо значений жесткого кодирования используйте [Критерии] (или что-то еще).

  5. Закройте MS Query и вернитесь к файлу Excel.

  6. В новом диапазоне данных щелкните правой кнопкой мыши по Параметры .-> Получите значение из следующей ячейки

  7. Не забывайте Обновлять автоматически при изменении значения ячейки

Подводя итог, вы импортируете внешние данные, используя параметр, и объявляетезначение этого параметра, чтобы быть ячейкой в ​​вашем файле.Ну, это был хороший маленький перерыв в моей работе.Надеюсь, это поможет.

...