Существуют ли эквиваленты ADODB.connection ADODB.recordset в Excel для Mac 2016?

... или вытащить записи из QueryTables.

ADODB недоступен для Mac. Большинство людей используют QueryTables, которые не так хороши, но, похоже, они справляются со своей задачей.

JNevill 26.10.2018 21:10

Теоретически вы можете написать библиотеку .NET Core, обертывающую ADO.NET, а затем сделать так, чтобы эта библиотека открывала API COM-видимый, а затем, вероятно, могла ссылаться на него из VBA, предполагая, что Mac-VBA позволяет ссылаться на такие библиотеки типов, и предполагая, что все выше работает .. ... но это в основном неизведанная территория. Тем не менее, стоит попробовать. Отказ от ответственности: у меня нет Mac, и я собираю .NET на Windows ... но .NET Core работает на Mac, так что ..

Mathieu Guindon 26.10.2018 21:47
stackoverflow.com/questions/9707256/…
Tim Williams 26.10.2018 23:54
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
1
3
745
1

Ответы 1

попробуйте этот srting:

  1. SQLDatabase_VBA.bas подключить базу данных SQL из ADODB или системы с VBA в Excel

sconnect = "Provider=MSDASQL.1;DSN=your ODBC connection name; " & _ "UID=your user;PWD=your password;DBQ=your database" & DBPath & ";HDR=Yes';"

Строка подключения для IBM / AS400: (без ADODB, возможно, работает на Mac, но только с сервером IBM)

sconnect = "PROVIDER=IBMDA400;Data Source=servername; " & _ "DEFAULT COLLECTION=optional;USER ID=Username ;PASSWORD=KENNWORT"

SQLDatabase_VBA.bas:

Sub SQLDatabase_VBA()



On Error Resume Next



'Step 1: Create the Connection String with Provider and Data Source options

Public sSQLQry As String

Public ReturnArray



Public Conn As New ADODB.Connection

Public mrs As New ADODB.Recordset

Public DBPath As String, sconnect As String





'Step 2: Create the Connection String with Provider and Data Source options

ActiveSheet.Activate



DBPath = ThisWorkbook.FullName 'Refering the sameworkbook as Data Source



'You can provide the full path of your external file as shown below

'DBPath  = "C:\InputData.xlsx"



sconnect = "Provider=MSDASQL.1;DSN=Connect_fromODBC;UID=your user name;PWD=your password;DBQ=database name" & DBPath & ";HDR=Yes';"

'If any issue with MSDASQL Provider, Try the Microsoft.Jet.OLEDB:

'sconnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " & DBPath _

    & ";Extended Properties = ""Excel 8.0;HDR=Yes;IMEX=1"";"



'Step 3: set connection timeout Open the Connection to data source

Conn.ConnectionTimeout = 30

Conn.Open sconnect



'Step 4: Create SQL Command String MRFIRM, MRIDEN, MRSART,MRSRN,MRSRRF,MRDTB,MRUSER, MRSRNA as Serien_NR_Zugriff

 sSQLSting = "SELECT * From your database " & _

            " WHERE ------ " & _

            " Group by ----- "







'Step 5: Get the records by Opening this Query with in the Connected data source

 mrs.Open sSQLSting, Conn



 'Step 6: Copy the reords into our worksheet

 'Import Headers

    For i = 0 To mrs.Fields.Count - 1

        ActiveSheet.Range("B15").Offset(0, i) = mrs.Fields(i).Name

    Next i



'Import data to destination cell

ActiveSheet.Range("B15").Offset(1, 0).CopyFromRecordset mrs



 'Step 7: Close the Record Set and Connection

  'Close Recordset

  mrs.Close



  'Close Connection

  Conn.Close

  Set mrs = Nothing

  Set Conn = Nothing



End Sub

Другие вопросы по теме

Excel 2013 VBA: формулы копирования-вставки копирует значение из скопированной ячейки (в дополнение к формуле) вместо повторного вычисления
Как подсчитать количество нечисловых слов в Excel с помощью функции VBA
Необходимо проанализировать ячейку в Excel для определенного текста и скопировать текст рядом с ним
Формула Excel для возврата значения из другого столбца, если в другом столбце есть совпадающие ячейки
Алгоритм: найти два положительных целых числа, разность которых минимизирована и произведение которых известно
Сценарий VBA, который преобразует HTML в форматированный текст и вставляет несколько строк данных в буфер обмена в одну ячейку
Множественные критерии Excel
Сортировать по одному столбцу как с вопросами, так и с ответами
Почему код VBA открывает файл R вместо запуска кода
Обнаружение изменений в элементах управления в пользовательской форме