Редактирование отдельных табличек - это слишком просто и практически редко бывает нужно. Обычно интересна более сложная работа, с запросами.
Мне кажется, несложно сделать.
В качестве источника данных использовать базу со словарем. "Словарь" - это совокупность служебных таблиц, описывающих редактирующие запросы.
"Запрос" - именованная абстракция, содержащая метаданные, необходимые для интерактивной работы с БД.
Например, запрос "Документ" включает в себя 4 текстовых поля:
selectSQL
insertSQL
updateSQL
deleteSQL
Поле selectSQL создается либо руками, либо каким-либо построителем запросов, либо генерируется автоматически (для простых случаев типа "одна табличка"), потом парсится средствами используемой СУБД, при это проверяется его корректность (для используемой СУБД) и вытягиваются список возвращаемых полей (и их типы). Проектировщик дополняет список полей вспомогательными данными типа displayLabel, isEditable и т.п.
На основе таких данных генерируются изменяющие запросы (insertSQL, updateSQL, deletSQL), которые при необходимости правятся ручками.
Все, что получилось - обрабатывается специальной утилиткой и создается заготовка, интерфейсный .ui файлик и оболочка к нему на .cpp.
Потом это развить до более сложных случаев - например, до документов типа мастер-деталь, иерархия, а также работа с "вычисляемыми полями" (типа выпадающий список значений FK - таблички для идентификаторов FK - связей)...
...
Можно развить идею ещё дальше - генерировать готовые плагины, содержащие подобные интерфейсные элементы и загружаемые из (базы данных) по мере необходимости в соответствии с правами пользователей... конструктор, ага.
...
Видел готовое на Delphi, когда изучал. Ни разу не пользовался: имхо, быстрее сразу сделать руками то, что нужно, чем править нагенерированное.