Você pode fazer isso com o VBA e um atalho de teclado atribuído ao seu código.
Public Function swapFieldNames(table, name1, name2)
'## Close & save the table in case its open or else you can't rename fields
DoCmd.Close acTable, CurrentDb().TableDefs(table).Name, acSaveYes
'## Save all touched field names to temporarily variables for later use
temp1 = CurrentDb().TableDefs(table).Fields(name1).Name
temp2 = CurrentDb().TableDefs(table).Fields(name2).Name
'## Rename them to unique names because duplicate names are not allowed
CurrentDb().TableDefs(table).Fields(name1).Name = "#$%temp1%$#"
CurrentDb().TableDefs(table).Fields(name2).Name = "#$%temp2%$#"
'## Rename them again and do the switch
CurrentDb().TableDefs(table).Fields("#$%temp1%$#").Name = temp2
CurrentDb().TableDefs(table).Fields("#$%temp2%$#").Name = temp1
'## Open the table to view the result
DoCmd.OpenTable CurrentDb().TableDefs(table).Name
End Function
Enviei um banco de dados demo , onde você pode pressionar F3 para trocar os nomes dos campos " campo5 "e" campo7 "
Passoapasso
- AbraobancodedadosdoAccessepressioneALT+F11paraabriroeditordoVBA
- Nopainelesquerdo,cliquecomobotãodireitodomousenonomedoseubancodedadoseinsiraummódulo
- Nopaineldadireita,coleocódigoacimaesalve-ocomo,porexemplo,
VBAswapmodule
Siga
Guia da Microsoft sobre como usar as AutoKeys para uma maneira rápida de executar seu código - Na guia Criar, clique em Macro (ou na seta abaixo de Módulo e, em seguida, em Macro)
- Na guia Design, no grupo Mostrar / ocultar, clique em Nomes de macro para exibir a coluna Nome da macro
-
Na coluna Nome da Macro, insira a chave à qual você deseja atribuir a ação
Macro Name Key or keyboard shortcut ^A or ^4 CTRL+A or CTRL+4 {F1} F1 ^{F1} CTRL+F1 +{F1} SHIFT+F1
- Na coluna Ação, adicione a ação RunCode que é executada quando sua chave é pressionada
-
Na coluna Argumentos, insira
swapFieldNames("table1", "field5", "field7")
ou o que você nomeou seu módulo. Aqui você também define qual tabela deve ser usada para renomear e quais nomes de campos devem ser trocados CliqueemSalvaroupressioneCTRL+Senomeieamacro"AutoKeys". Apenas com este nome, o Access saberá que deve atribuir um atalho quando for reaberto
Dica: Não confunda os termos "macro" e "módulo". Para o Access, uma macro não tem nada a ver com o VBA, como você pode pensar. As funções e sub-rotinas do VBA são chamadas de "módulos" e as macros são um container onde você pode definir múltiplas ações como "abra esta tabela, filtre pelo valor XY e delete todas as entradas"