Propósito

✔ Programação GLOBAL® - Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog devem ser tratados como consultoria freelance. Queiram contatar-nos: brazilsalesforceeffectiveness@gmail.com | ESTE BLOG NÃO SE RESPONSABILIZA POR QUAISQUER DANOS PROVENIENTES DO USO DOS CÓDIGOS AQUI POSTADOS EM APLICAÇÕES PESSOAIS OU DE TERCEIROS.

.: Vitrine

Carregando artigos...

Views

VBA Access - Deletando objetos - How to Delete Objects Programmatically

VBA Access - Deletando objetos - How to Delete Objects Programmatically


Docmd.DeleteObject Method

O método DoCmd DeleteObject executa a deleção de objetos ativos no Visual Basic for Applications.


Este comando é usado várias vezes para remover objetos temporários criados durante a execução de certos processos nas nossas aplicações de banco de dados no MS Access database.


O texto abaixo mostra a syntaxe e as opções para o comando 'Delete Object'.


DoCmd.DeleteObject Opções para o parâmetro tipo de objeto - AcObjectType. acDataAccessPage acDefault (default) acDiagram acForm acFunction acMacro acModule acQuery acReport acServerView acStoredProcedure acTable


  15.01.2025 
Sub DeleteObjectExample(objectType As AcObjectType, objectName As String)
    ' Função para excluir objetos do Access com base no tipo e nome fornecidos.
    ' O parâmetro 'objectType' especifica o tipo do objeto (como acTable, acQuery, etc.)
    ' O parâmetro 'objectName' é o nome do objeto a ser excluído.

    On Error GoTo Err_Handler ' Trata erros caso ocorram durante a execução.

    ' Verifica se o nome do objeto foi fornecido corretamente.
    If Len(objectName) = 0 Then
        MsgBox "Nome do objeto não especificado.", vbExclamation, "Erro"
        Exit Sub
    End If

    ' Dependendo do tipo de objeto, chama a função DoCmd.DeleteObject com o tipo e nome especificados.
    Select Case objectType
        Case acTable
            ' Exclui uma tabela do banco de dados.
            DoCmd.DeleteObject acTable, objectName
            MsgBox "Tabela '" & objectName & "' excluída com sucesso!", vbInformation, "Sucesso"

        Case acQuery
            ' Exclui uma consulta (query) do banco de dados.
            DoCmd.DeleteObject acQuery, objectName
            MsgBox "Consulta '" & objectName & "' excluída com sucesso!", vbInformation, "Sucesso"

        Case acForm
            ' Exclui um formulário do banco de dados.
            DoCmd.DeleteObject acForm, objectName
            MsgBox "Formulário '" & objectName & "' excluído com sucesso!", vbInformation, "Sucesso"

        Case acReport
            ' Exclui um relatório do banco de dados.
            DoCmd.DeleteObject acReport, objectName
            MsgBox "Relatório '" & objectName & "' excluído com sucesso!", vbInformation, "Sucesso"

        Case acMacro
            ' Exclui uma macro do banco de dados.
            DoCmd.DeleteObject acMacro, objectName
            MsgBox "Macro '" & objectName & "' excluída com sucesso!", vbInformation, "Sucesso"

        Case acModule
            ' Exclui um módulo VBA do banco de dados.
            DoCmd.DeleteObject acModule, objectName
            MsgBox "Módulo '" & objectName & "' excluído com sucesso!", vbInformation, "Sucesso"

        Case acFunction
            ' Exclui uma função definida pelo usuário do banco de dados.
            DoCmd.DeleteObject acFunction, objectName
            MsgBox "Função '" & objectName & "' excluída com sucesso!", vbInformation, "Sucesso"

        Case acStoredProcedure
            ' Exclui uma Stored Procedure do banco de dados.
            DoCmd.DeleteObject acStoredProcedure, objectName
            MsgBox "Stored Procedure '" & objectName & "' excluída com sucesso!", vbInformation, "Sucesso"

        Case acDataAccessPage
            ' Exclui uma página de acesso de dados (se estiver usando o Access Services).
            DoCmd.DeleteObject acDataAccessPage, objectName
            MsgBox "Página de acesso de dados '" & objectName & "' excluída com sucesso!", vbInformation, "Sucesso"

        Case Else
            ' Caso o tipo de objeto fornecido não seja válido.
            MsgBox "Tipo de objeto inválido ou não suportado.", vbCritical, "Erro"
            Exit Sub
    End Select

Exit_Sub:
    Exit Sub

Err_Handler:
    ' Exibe a mensagem de erro caso algo dê errado durante a execução.
    MsgBox "Erro " & Err.Number & ": " & Err.Description, vbCritical, "Erro"
    Resume Exit_Sub
End Sub

 Clique aqui e nos contate via What's App para avaliarmos seus projetos 

Envie seus comentários e sugestões e compartilhe este artigo!
brazilsalesforceeffectiveness@gmail.com


 Série de Livros nut Project 

DONUT PROJECT: VBA - Projetos e Códigos de Visual Basic for Applications (Visual Basic For Apllication)eBook - DONUT PROJECT 2024 - Volume 03 - Funções Financeiras - André Luiz Bernardes eBook - DONUT PROJECT 2024 - Volume 02 - Conectando Banco de Dados - André Luiz Bernardes eBook - DONUT PROJECT 2024 - Volume 01 - André Luiz Bernardes


 PUDIM PROJECT 

eBook - PT - PUDIM PROJECT 2024 - Python Volume 01 - Funções Essenciais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 02 - Funções Essenciais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 03 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes


eBook - PT - PUDIM PROJECT 2024 - Python Volume 04 - Funções para Automatização - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 05 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 06 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes


eBook - PT - PUDIM PROJECT 2024 - Python Volume 07 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 08 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 09 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes


eBook - PT - PUDIM PROJECT 2024 - Python Volume 10 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 11 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes

VBA Access - Encontrando um registro...How to Find a Record Efficiently


VBA Access - Encontrando um registro...How to Find a Record Efficiently



Não existe atividade mais repetitiva num banco de dados MS Access quanto a de encontrar um registro específico. Existem diversas formas de fazer isso, abaixo segue uma delas. 

Divirtam-se!

Dim strSQL As String
Dim rst As ADODB.Recordset
Dim lngID As Long

   strSQL = "SELECT Det.ID, Det.EntryDate, Det.UserEntry FROM UserEntrys WHERE Det.ID=" & EID
  
   Set rst = New ADODB.Recordset

     With rst
       .Open strSQL, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly

       Do While Not rst.EOF
          Let idnumber = !ID
          Let recdate = !EntryDate
          Let recdata = !UserEntry

          rst.MoveNext
       Loop

       .Close
   End With

   Set rst = Nothing


  15.01.2025 
Sub GetUserEntryDetails(EID As Long)
    ' Declaração das variáveis
    Dim strSQL As String
    Dim rst As ADODB.Recordset
    Dim idnumber As Long
    Dim recdate As Date
    Dim recdata As String

    ' Monta a string SQL para consultar os dados baseados no EID
    strSQL = "SELECT Det.ID, Det.EntryDate, Det.UserEntry FROM UserEntrys Det WHERE Det.ID = " & EID

    ' Cria uma nova instância do Recordset
    Set rst = New ADODB.Recordset

    ' Abre o recordset com a consulta SQL
    With rst
        ' Abrindo o recordset com as opções adequadas
        .Open strSQL, CurrentProject.Connection, adOpenForwardOnly, adLockReadOnly

        ' Verifica se o recordset contém dados
        If Not .EOF Then
            ' Itera sobre os registros encontrados
            Do While Not .EOF
                ' Atribui os valores dos campos para as variáveis
                idnumber = !ID
                recdate = !EntryDate
                recdata = !UserEntry

                ' Aqui você pode fazer o processamento desejado com os dados
                ' Por exemplo, exibir ou armazenar os valores recuperados

                ' Move para o próximo registro no recordset
                .MoveNext
            Loop
        Else
            ' Caso não haja registros, pode-se adicionar uma mensagem ou outra ação
            Debug.Print "Nenhum registro encontrado para o ID especificado."
        End If

        ' Fecha o recordset após o uso
        .Close
    End With

    ' Libera os recursos alocados pelo recordset
    Set rst = Nothing
End Sub

 Clique aqui e nos contate via What's App para avaliarmos seus projetos 

Envie seus comentários e sugestões e compartilhe este artigo!
brazilsalesforceeffectiveness@gmail.com


 Série de Livros nut Project 

DONUT PROJECT: VBA - Projetos e Códigos de Visual Basic for Applications (Visual Basic For Apllication)eBook - DONUT PROJECT 2024 - Volume 03 - Funções Financeiras - André Luiz Bernardes eBook - DONUT PROJECT 2024 - Volume 02 - Conectando Banco de Dados - André Luiz Bernardes eBook - DONUT PROJECT 2024 - Volume 01 - André Luiz Bernardes


 PUDIM PROJECT 

eBook - PT - PUDIM PROJECT 2024 - Python Volume 01 - Funções Essenciais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 02 - Funções Essenciais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 03 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes


eBook - PT - PUDIM PROJECT 2024 - Python Volume 04 - Funções para Automatização - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 05 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 06 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes


eBook - PT - PUDIM PROJECT 2024 - Python Volume 07 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 08 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 09 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes


eBook - PT - PUDIM PROJECT 2024 - Python Volume 10 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 11 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes

VBA Access - Nome do usuário na rede (Network User Name) - How to Get the Network User Name

Em alguns casos pode ser necessário que registremos os nomes dos usuários que estão acessando as nossas aplicações. Ou talvez desejemos desenvolver um modo de Login que utilize esses nomes de usuários na rede. 


  15.01.2025 
Function NetUName() As String
    ' Tratamento de erros: Se ocorrer erro, o código irá para o rótulo "Err_Handler"
    On Error GoTo Err_Handler

    ' Declaração de variáveis
    Dim lngLen As Long
    Dim strUserName As String

    ' Constantes
    Const lngcMaxFieldSize As Long = 64 ' Define o tamanho máximo do nome de usuário

    ' Inicialização das variáveis
    strUserName = String$(254, vbNullChar) ' Cria uma string de 254 caracteres nulos
    lngLen = 255 ' Inicializa o tamanho máximo de caracteres a serem lidos

    ' Chama a API para obter o nome de usuário
    ' Se o retorno da API for diferente de zero, significa que a operação foi bem-sucedida
    If apiGetUserName(strUserName, lngLen) <> 0 Then

        ' Ajusta o comprimento do nome de usuário retornado
        lngLen = lngLen - 1 ' Ajusta para remover o caractere nulo extra no final da string

        ' Verifica se o comprimento excede o tamanho máximo definido
        If lngLen > lngcMaxFieldSize Then
            lngLen = lngcMaxFieldSize ' Limita o comprimento do nome de usuário ao tamanho máximo
        End If

        ' Atribui o nome de usuário à variável de retorno, com o comprimento ajustado
        NetUName = Left$(strUserName, lngLen)
    End If

    ' Rótulo de saída, usado para finalizar a função
Exit_Handler:
    Exit Function

    ' Rótulo de erro: Caso ocorra algum erro, a função será direcionada aqui
Err_Handler:
    ' Chama a função de log de erros passando informações sobre o erro ocorrido
    Call LogError(Err.Number, Err.Description, conMod & ".NetworkUserName", , False)

    ' Retorna ao ponto de saída da função
    Resume Exit_Handler
End Function


 Clique aqui e nos contate via What's App para avaliarmos seus projetos 

Envie seus comentários e sugestões e compartilhe este artigo!
brazilsalesforceeffectiveness@gmail.com


 Série de Livros nut Project 

DONUT PROJECT: VBA - Projetos e Códigos de Visual Basic for Applications (Visual Basic For Apllication)eBook - DONUT PROJECT 2024 - Volume 03 - Funções Financeiras - André Luiz Bernardes eBook - DONUT PROJECT 2024 - Volume 02 - Conectando Banco de Dados - André Luiz Bernardes eBook - DONUT PROJECT 2024 - Volume 01 - André Luiz Bernardes


 PUDIM PROJECT 

eBook - PT - PUDIM PROJECT 2024 - Python Volume 01 - Funções Essenciais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 02 - Funções Essenciais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 03 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes


eBook - PT - PUDIM PROJECT 2024 - Python Volume 04 - Funções para Automatização - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 05 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 06 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes


eBook - PT - PUDIM PROJECT 2024 - Python Volume 07 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 08 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 09 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes


eBook - PT - PUDIM PROJECT 2024 - Python Volume 10 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes eBook - PT - PUDIM PROJECT 2024 - Python Volume 11 - Automatizando Postagens em Redes e Plataformas Sociais - Série PUDIM PROJECT — André Luiz Bernardes

diHITT - Notícias