in reply to Obtaining List of tables from ms access database

not tested, just principles
my $dao = Win32::OLE->new('DAO.DBEngine.36'); my $db = $dao->OpenDatabase("access_database.mdb"); my $tables = $db->TableDefs; for (my $i = 0; $i < $tables->{Count}; $i++) { print $tables->Item($i)->{Name}, "\n"; } ......... see c:\Program Files\Common Files\Microsoft Shared\OFFICE11\1049\DAO360.CH +M my $ado = Win32::OLE->new('ADODB.Connection'); $ado->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=access_databa +se.mdb"); my $recordset = $ado->OpenSchema(20); # 20 is adSchemaTables until ($recordset->{EOF}) { print $recordset->{Fields}->Item('TABLE_NAME'), "\n"; $recordset->MoveNext; } ......... $recordset = $ado->Execute("SELECT ... FROM ... WHERE ...")->GetRows() +; print $recordset->[0]->[0], "\n"; ......... see c:\Program Files\Common Files\Microsoft Shared\OFFICE11\1049\ADO210.CH +M and c:\Program Files\Common Files\Microsoft Shared\OFFICE11\1049\JETSQL40. +CHM and also see MS Access application objects model c:\Program Files\Microsoft Office\OFFICE11\1049\VBAAC10.CHM
  • Comment on You can also try Win32::OLE + native DAO and/or ADO objects and methods
  • Download Code