Não sei muito sobre o VisualBasic e não conheço um equivalente no mundo Linux.
Para Pascal, existe o gpc (GNU Pascal Compiler). Não usei, mas tenho certeza de que é bastante fácil para um programador de Pascal fazer a transição. Casos semelhantes para muitas outras linguagens de programação como C, C ++, FORTRAN, etc. Embora eu não sugira nenhuma delas para um programador VisualBasic, existem várias opções para linguagens que residem em várias plataformas. Acho que sua escolha de idioma pode depender um pouco da política da sua empresa etc.
Python seria minha principal recomendação. É fácil de aprender, obriga a escrever um código fácil de ler e, por padrão, é multiplataforma. Se você deseja entregar aplicativos de código fechado, verá que existem algumas diferenças visíveis entre plataformas. Mas, em geral, a maioria dos códigos que você escreve compila em qualquer sistema. A parte complicada é manter a estrutura da pasta (por exemplo, C: / Arquivos de Programas / vs / usr / share /). Mas existem parâmetros ambientais que você pode usar para evitar opções específicas da plataforma de codificação. O lado negativo é que você precisa aprender um novo idioma. O lado positivo é que você pode usar o mesmo código no Windows e Linux e MacOSX, etc.
Para manter uma GUI para seus aplicativos, existem várias opções no Python. Muitos desenvolvedores do Ubuntu parecem optar pelo GTK3, que também está disponível para Windows. Pessoalmente, eu prefiro o Qt4 (você também pode usar o Qt4 para C / C ++, o pacote Python é chamado PyQt4 para o oficial e PySide para um projeto comunitário). Você não terá um IDE da mesma maneira que no VisualBasic, mas o uso do Qt Designer para criar a aparência da GUI facilita a implementação em um IDE somente de código (por exemplo, IDE Wingware, Eclipse, IPython ...). Portanto, você terá que alternar entre o aplicativo designer de GUI e o aplicativo IDE de codificação. O mesmo vale para o GTK3, onde você usaria o Glade para criar uma GUI.
O Python possui um pacote de banco de dados padrão implementando o SQLite3. Esse banco de dados é bastante capaz, mas não há GUI para construí-lo como no Access. No entanto, existem pacotes para acessar a maioria dos tipos de bancos de dados. Pessoalmente, prefiro ficar com o PostgreSQL para todas as minhas coisas, pois é muito escalável. O PyQT4 possui classes para todos os principais bancos de dados no módulo QtSql, mas existem muitas outras opções. Obviamente, você também pode configurar seus bancos de dados antigos do Access em uma máquina Windows com ODBC e, em seguida, chamá-los sem mudar o software do banco de dados.