У меня проблема с одним проектом в моей работе. У меня есть база данных по Sharepoint. Он подключен к файлу .accdb (Access 2007/2010). До сих пор я использовал ADODB Connection со стандартным ConnectionString (только Provider - ACEDB 12.0).ADODB Recordset не может получить целое многозначное поле из Access
Когда я пытаюсь получить данные из одного из многозначного поля из базы данных, набор записей пуст для этого столбца. Пример:
Мне нужно получить несколько столбцов: ID, местоположение, имя, люди (MVF), тренеры (MVF).
Когда одна запись в столбце Люди имеет более чем 3-4 значения - набор записей для этого столбца пуст. Если значение меньше 3-4, я получаю значения, разделенные точкой с запятой (даже оператор LEFT JOIN для получения исходных данных MVF не имеет значения)
Я работаю над Excel - пользователь использует ТОЛЬКО Excel.
Когда я смотрю набор Recordset - он имеет пустые значения, когда должны быть установлены значения людей. Основываясь на этом, я думаю, что проблема вызвана типом подключения или чем-то еще. Я пробовал также подключение DAO - никаких положительных результатов.
Я также пытался создать временную базу данных в файле .accdb только для выполнения SQL (INSERT INTO tmpDB SELECT People FROM inputDB; -это псевдокод, синтаксис хорош) И затем я получаю «Не удается выполнить INSERT INTO для многозначного поля ".
Я знаю, что MVF не рекомендуется использовать, но это БД SharePoint, и моя роль - только получить данные из db в Excel.
Update
Я пытался использовать драйвер ODBC ...
objConn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=" & myconn & ";Uid=Admin;Pwd=;"
... вместо того, чтобы поставщик OLEDB ...
objConn.Provider = "Microsoft.ACE.OLEDB.12.0"
objConn.Open myconn
... но теперь MVF всегда пустые.
Вы пытались использовать драйвер ODBC Access вместо драйвера OLEDB, чтобы убедиться, что это работает лучше? –
Это может помочь. Я проверю это завтра. – Krukosz