Открытие базы данных MS Access с помощью Powershell? - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь открыть форму в базе данных доступа с помощью powershell:

$application = New-Object -ComObject Access.Application
$Fullpath = "path.accdb"
$application.OpenCurrentDataBase($Fullpath)
$application.docmd.OpenForm("frm")

Я получаю следующее сообщение об ошибке:

Исключение, вызывающее "OpenCurrentDatabase" с аргументом (ами) "1": "Невозможно для приведения COM-объекта типа «Microsoft.Office.Interop.Access.ApplicationClass» для типа интерфейса 'Microsoft.Office.Interop.Access._Application. Эта операция не удалась потому что QueryInterface вызов COM-компонента для интерфейса с IID '{68CCE6C0-6129-101B-AF4E-00AA003F0F07}' не удалось из-за следующая ошибка: Ошибка загрузки библиотеки типов / DLL. (Исключение из HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)).

Кто-нибудь видел это раньше / решил эту проблему?

1 Ответ

0 голосов
/ 11 сентября 2018

Я хочу, чтобы вы попробовали это .. Я сделал этот код и он работает нормально

$Db = "sampledb.mdb"
$cursor = 3 
$lock = 3

$conn = New-Object -ComObject ADODB.Connection 
$recordset = New-Object -ComObject ADODB.Recordset
$conn.Open("Provider=Microsoft.Ace.OLEDB.12.0;Data Source=$Db")

$query = "Select * from LoginInfo"
$recordset.open($query,$conn,$cursor,$lock)

$recordset.Addnew() 
$recordset.Fields.Item("EmpID") = "1" 
$recordset.Fields.Item("UserName") = $username_txt.Text
$recordset.Fields.Item("PWord") = $password_txt.Text
$recordset.Fields.Item("EmpRole") = $userrole_combo.SelectedItem

$recordset.Update()
$recordset.close() 
$conn.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...