# PS script to export selected columns from Access DB to CSV

**URL:** <https://forums.powershell.org/t/ps-script-to-export-selected-columns-from-access-db-to-csv/8254>\
**Category:** PowerShell Help\
**Created:** [March 20, 2017, 12:57am UTC](https://forums.powershell.org/t/ps-script-to-export-selected-columns-from-access-db-to-csv/8254 "2017-03-20T00:57:54Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![rishabh-a](https://avatars.discourse-cdn.com/v4/letter/r/f0a364/32.png) [@rishabh-a](https://forums.powershell.org/u/rishabh-a)\
**Post date:** [March 20, 2017, 12:57am UTC](https://forums.powershell.org/t/ps-script-to-export-selected-columns-from-access-db-to-csv/8254/1 "2017-03-20T00:57:54Z")

</div>

I am having multiple columns in Access DB. I want 2 columns from there exported to CSV. I can see them in console screen but unable to output them as CSV. Code i am using is :

```
$adOpenStatic = 3
$adLockOptimistic = 3
$conn=New-Object -com "ADODB.Connection"
$rs = New-Object -com "ADODB.Recordset"
$conn.Open('Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\risha\Desktop\PowerShell DataBase\dba.mdb;Persist Security Info=True;')
$rs.Open("SELECT * FROM inclearing",$conn,$adOpenStatic,$adLockOptimistic)
$rs.MoveFirst();
do
{ 
$rs.Fields.Item("Column1").value
$rs.Fields.Item("Column9").value
$rs.MoveNext();
}until($rs.EOF -eq $true)
$conn.Close
$rs.Close
```

I tried this also :

```
$rs.Open("SELECT Column1,Column9 FROM inclearing",$conn,$adOpenStatic,$adLockOptimistic) | Export-Csv -Path C:\Users\risha\Desktop\test1.csv -Encoding "UTF8" -NoT
```

---

<div class="post-metadata">

**Author:** ![sam-boutros](https://sea1.discourse-cdn.com/flex019/user_avatar/forums.powershell.org/sam-boutros/32/5_2.png) [@sam-boutros](https://forums.powershell.org/u/sam-boutros)\
**Post date:** [March 20, 2017, 2:46am UTC](https://forums.powershell.org/t/ps-script-to-export-selected-columns-from-access-db-to-csv/8254/2 "2017-03-20T02:46:23Z")

</div>

```
# Requires PS x86 or ISE x86 NOT x64

$DBFilePath = 'C:\Users\risha\Desktop\PowerShell DataBase\dba.mdb'
$adOpenStatic = 3
$adLockOptimistic = 3

$conn=New-Object -com "ADODB.Connection"
$rs = New-Object -com "ADODB.Recordset"
$conn.Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=$DBFilePath;Persist Security Info=True;")
$rs.Open('SELECT * FROM inclearing',$conn,$adOpenStatic,$adLockOptimistic)
$rs.MoveFirst()
$myOuput = While ( ! $rs.EOF ) {
    New-Object -TypeName PSObject -Property @{
        column1 = $rs.Fields.Item('column1').Value
        column9 = $rs.Fields.Item('column9').Value
    }
    $rs.MoveNext()
}
$conn.Close
$rs.Close

$myOuput | FT -a 
$myOuput | Out-GridView
$myOuput | Export-Csv .\inclearing.csv -notype
```

---

<div class="post-metadata">

**Author:** ![rishabh-a](https://avatars.discourse-cdn.com/v4/letter/r/f0a364/32.png) [@rishabh-a](https://forums.powershell.org/u/rishabh-a)\
**Post date:** [March 20, 2017, 3:32am UTC](https://forums.powershell.org/t/ps-script-to-export-selected-columns-from-access-db-to-csv/8254/3 "2017-03-20T03:32:58Z")

</div>

Thank you so much Sir. It worked as expected.  
But it worked with PowerShell x64 as mine MS-office is also x64. The x86 ISE was giving errors.

---

<div class="post-metadata">

**Author:** ![dotnVo](https://avatars.discourse-cdn.com/v4/letter/d/4af34b/32.png) [@dotnVo](https://forums.powershell.org/u/dotnVo)\
**Post date:** [May 16, 2024, 8:39pm UTC](https://forums.powershell.org/t/ps-script-to-export-selected-columns-from-access-db-to-csv/8254/4 "2024-05-16T20:39:26Z")

</div>


