AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1840103
Accepted
questionto42
questionto42
Asked: 2024-04-23 23:36:47 +0800 CST2024-04-23 23:36:47 +0800 CST 2024-04-23 23:36:47 +0800 CST

"Você não pode modificar a estrutura da tabela "xyz", porque ela já está em uso por outra pessoa ou processo.", e a instância do Access não pode ser fechada

  • 772

Embora eu tenha alterado algum código VBA no MS Access para preencher novas colunas que adicionei a uma tabela do Access, tive dificuldades com uma instância travada que permaneceu aberta mesmo se eu clicasse em "Fechar"/ X.

Segui o primeiro hit de pesquisa [Acesso] Você não pode modificar a estrutura da tabela porque ela já está em uso por outra pessoa ou processo :

Tente reiniciar, se ainda não o fez. Se isso não funcionar, tente copiar o banco de dados e tente editar a cópia. Se funcionar, exclua o original e renomeie a cópia como era.

Eu queria evitar uma reinicialização completa para fazer uma cópia do arquivo e trabalhar nisso. O bom é que eu estava em uma nova instância em um novo arquivo, e também pude fechá-lo novamente. A instância estava funcionando. Mas quando adicionei uma nova coluna na tabela e tentei preenchê-la, me deparei com o erro:

Não é possível modificar a estrutura da tabela "xyz", pois ela já está em uso por outra pessoa ou processo.

insira a descrição da imagem aqui

E mais, o código fazia alguma coisa, mas não preenchia a tabela em questão, funcionava em outra tabela oculta, ao que parecia. Achei que isso viria da falha, de modo que a instância travada dominasse aquela em que eu estava trabalhando.

O código:

Option Compare Database

Sub DurchsucheAccessDatenbanken()
    Dim fso As Object
    Dim fld As Object
    Dim db As Object
    Dim rs As Object
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set fld = fso.GetFolder("K:\MS Access\my_folder")
    
    Dim targetDB As Object
    Dim Objekttyp As String
    Dim Objektart As String
    Set targetDB = Application.DBEngine.Workspaces(0).OpenDatabase("K:\MS Access\my_file.accdb")
    
    For Each file In fld.Files
        file_Name = file.Name
        If Right(file_Name, 4) = ".mdb" Or Right(file_Name, 6) = ".accdb" Then
            Set db = Application.DBEngine.Workspaces(0).OpenDatabase(file.Path)
            
            ' Hier kannst du den Code ergänzen, um die Objekten der Datenbank auszulesen
            For Each obj In db.TableDefs
                obj_Name = obj.Name
                If Left(obj_Name, 4) <> "MSys" And Left(obj_Name, 1) <> "~" Then
                    Set rs = targetDB.OpenRecordset("my_table")
                    rs.AddNew
                    rs("Database").Value = file_Name
                    rs("obj_Name").Value = obj_Name
                    rs("LastUpdated").Value = obj.LastUpdated
                    rs.Update
                End If
            Next obj
    Next file
    
    targetDB.Close
End Sub

O que deve ser feito se você se deparar com isso?

vba
  • 1 1 respostas
  • 18 Views

1 respostas

  • Voted
  1. Best Answer
    questionto42
    2024-04-23T23:36:47+08:002024-04-23T23:36:47+08:00

    O problema é que eu abri um novo arquivo "my_file2.accdb" durante a falha e esqueci de alterar o banco de dados de destino "my_file.accdb" no código para "my_file2.accdb":

    Set targetDB = Application.DBEngine.Workspaces(0).OpenDatabase("K:\MS Access\my_file2.accdb")
    

    Nesse ínterim, preenchi a tabela "my_table" em "my_file.accdb" com novas linhas. E quando reabri o "my_file.accdb", pude trabalhar naquele banco de dados novamente e também fechar a instância novamente.

    • 0

relate perguntas

  • Ao importar uma planilha para o Access, como você impede que o Excel atribua automaticamente um tipo de campo de dados?

  • VBA para colocar várias colunas com duas linhas no Excel em suas próprias linhas

  • Copie planilhas diferentes de pastas de trabalho diferentes vba

  • Contar o número de linhas que correspondem a vários critérios

  • VBA para renomear planilha com base no nome do arquivo

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Vickel O Firefox não permite mais colar no WhatsApp web? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve