Eu não sei muito sobre VisualBasic e não sei de um equivalente no mundo Linux.
Para Pascal, existe o gpc (GNU Pascal Compiler). Não usei, mas tenho certeza que é fácil para um programador Pascal fazer a transição. Casos semelhantes para muitas outras linguagens de programação, como C, C ++, FORTRAN, etc. Embora eu não sugira nenhum desses para um programador VisualBasic, existem várias opções para idiomas que residem em várias plataformas. Eu 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 você a escrever código de fácil leitura e é multi-plataforma por padrão. Se você deseja entregar aplicativos de código fechado, verá que existem algumas diferenças notáveis entre as plataformas. Mas, em geral, a maioria dos códigos que você escreve irá compilar em qualquer sistema. A parte complicada é manter a estrutura da pasta (por exemplo, C: / Program Files / vs / usr / share /). Mas existem parâmetros ambientais que você pode usar para evitar opções específicas de plataforma de codificação rígida. Abaixo você tem que aprender um novo idioma. O lado de cima é que você pode usar o mesmo código no Windows e Linux e MacOSX, etc.
Para manter uma interface gráfica para seus aplicativos, existem várias opções no Python. Muitos desenvolvedores do Ubuntu parecem usar o GTK3, que também está disponível para o Windows. Pessoalmente, eu prefiro muito mais o Qt4 (você pode usar o Qt4 para C / C ++ também, o pacote Python é chamado PyQt4 para o oficial e PySide para um projeto da comunidade). Você não terá um IDE da mesma maneira que no VisualBasic, mas usar o Qt Designer para criar a aparência da GUI facilita a implementação em um IDE somente de código (por exemplo, IDE do Wingware, Eclipse, IPython ...). Então você terá que alternar entre o aplicativo GUI-designer e o aplicativo IDE de codificação. O mesmo vale para o GTK3, onde você usa o Glade para criar uma GUI.
O Python tem um pacote de banco de dados padrão que implementa o SQLite3. Esse banco de dados é bastante capaz, mas não há GUI para construí-lo como no Access. Existem, no entanto, pacotes para acessar a maioria dos tipos de bancos de dados. Pessoalmente, eu 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. Você poderia também configurar seus bancos de dados antigos do Access em uma máquina Windows com ODBC e, em seguida, poderia chamá-los sem alternar o software de banco de dados.