For reporting, the recommended way is likely to use Views integration. If your tables have primary keys, it's a simple matter of defining them to Views by implementing:
hook_views_api()
to declare Views integration
hook_views_data()
to declare the tables and their fields, assuming they use only simple data types
You can take the integration examples in views/modules/node.views.inc
and views/modules/node/*
. Module TableWizard can help you with this.
This still won't provide you with editability, though. For this, you could either build the module on your own using Form API, or import the content of these tables as nodes, and use drupal builtin editing on the nodes, assuming you do not mind the data being in node format after that.