Я пытаюсь получить данные с сервера SQL для использования в некоторых макросах Excel 2003. Я хотел бы избежать использования QueryTables, так как мне не нужен этот промежуточный этап записи и чтения с реальных листов. Это кажется долгим и бессмысленным.
Мне удалось получить набор записей, но он содержит пустые данные с типом данных «memo» на сервере.
Кроме того, программа аварийно завершает работу при попытке сохранить данные в диапазоне. Кажется, он доходит до первого «пустого» поля, а затем выдает мне код ошибки 1004.
Очевидно, что поле для заметок меня огорчает. Может ли кто-нибудь сделать предложение о том, как обойти это, или что я должен делать по-другому?
objMyConn.connectionString = "ODBC;" _
& "Provider=SQLOLEDB;DRIVER={SQL Server};SERVER=VANDB;" _
& "APP=Microsoft Office 2003;DATABASE=WPDB_BE;Trusted_Connection=Yes;"
objMyConn.Open
Я искал в Интернете целую вечность, но этот материал Access/ADO/Excel чрезвычайно болезненный. Пожалуйста помоги.
Редактировать 1: позже я изменил SQL-запрос с помощью «TOP 1» (SQL-версия «LIMIT 1») и обнаружил, что с этим набором записей поля памятки были возвращены правильно. Точно так же я мог бы выбрать одно проблемное поле и получить больше строк, например. "ВЫБЕРИТЕ ТОП 52 bad_field ИЗ..."
Итак, я подозреваю, что проблема связана с ограничением размера данных соединения ADO? Похоже, что тип «памятки» Access похож на тип MySQL «MEDIUMTEXT», так как же мне обойти такое ограничение? Тогда это отдельный вопрос, а какие есть альтернативы подключениям ADO?