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

Mostrando postagens com marcador ADO. Mostrar todas as postagens
Mostrando postagens com marcador ADO. Mostrar todas as postagens

MS Access | Aplicando Função Concatenação de Valores nos Campos das Consultas

MS Access | Aplicando Função Concatenação de Valores nos Campos das Consultas


No desenvolvimento de soluções VBA para bancos de dados, frequentemente há a necessidade de agrupar informações de diferentes registros em uma única linha. Isso é particularmente útil quando se deseja exibir múltiplos valores relacionados a uma chave primária de forma concatenada, como listar todos os membros de uma família em uma só célula de uma consulta. A função ConcatenateFieldValues permite exatamente isso.


 Aprenda: 17 Passos Essenciais para Melhorar seu Código VBA 


Essa função tem como base uma consulta SQL (Structured Query Language) que seleciona os valores de um campo específico. O código percorre todos os registros retornados e concatena os valores, separando-os por um delimitador definido pelo usuário — que, por padrão, é uma vírgula. Isso torna o uso da função flexível e aplicável a diversas situações em que diferentes separadores podem ser exigidos, como ponto-e-vírgula ou até mesmo uma quebra de linha.


Public Function ConcatenateFieldValues(pstrSQL As String, _

      Optional pstrDelim As String = ", ") As String


' Criado por Duane Hookom, 2003

' Este código pode ser incluído em qualquer aplicação, desde que

'      esta declaração seja mantida.

'

' Exemplo de uso:

'      tblFamily com FamID como chave primária numérica

'      tblFamMem com FamID, FirstName, DOB,...

' Retorna uma lista separada por vírgulas de FirstNames para um FamID

'                  Exemplo: John, Mary, Susan

' Em uma consulta:

'      SELECT FamID,

'      ConcatenateFieldValues("SELECT FirstName

'      FROM tblFamMem WHERE FamID =" & [FamID]) AS FirstNames

'      FROM tblFamily;

' ---------------------

' Modificado por Ken Snell 29 October 2005

'

' *** ESTA FUNÇÃO CONSTRÓI UMA STRING CONCATENADA QUE CONTÉM OS

' *** VALORES DE UM CAMPO PARA CADA REGISTRO EM UMA TABELA OU

' *** CONSULTA, SEPARADOS POR UM DELIMITADOR ESPECIFICADO.


Dim strConcat As String ' String que armazenará os valores concatenados


' Comentário sobre o uso de DAO

Dim db As DAO.Database

Dim rs As DAO.Recordset ' Objeto Recordset que será utilizado para armazenar os resultados da consulta


On Error Resume Next ' Ignora erros


strConcat = "" ' Inicializa a string concatenada


' Abre o banco de dados atual e executa a consulta passada como parâmetro (pstrSQL)

Set db = CurrentDb

Set rs = db.OpenRecordset(pstrSQL)


' Verifica se o Recordset não está vazio e processa os resultados

With rs

      If Not .EOF Then ' Se não estiver no final do Recordset

            .MoveFirst ' Move para o primeiro registro

            Do While Not .EOF ' Continua até o final dos registros

                  strConcat = strConcat & .Fields(0) & pstrDelim ' Concatena o valor do campo com o delimitador

                  .MoveNext ' Move para o próximo registro

            Loop

      End If

      .Close ' Fecha o Recordset

End With


Set rs = Nothing ' Libera a memória utilizada pelo Recordset


db.Close ' Fecha a conexão com o banco de dados

Set db = Nothing ' Libera a memória utilizada pelo objeto Database


' Remove o último delimitador da string concatenada

If Len(strConcat) > 0 Then strConcat = _

      Left(strConcat, Len(strConcat) - Len(pstrDelim))


' Retorna a string concatenada final

ConcatenateFieldValues = strConcat


Exit Function

End Function



Um dos grandes diferenciais desta função é sua aplicabilidade em consultas dentro do Microsoft Access. Um exemplo clássico seria uma tabela que armazena os nomes de membros de uma família, vinculada a outra tabela que armazena as informações da própria família. Utilizando a função ConcatenateFieldValues, é possível gerar uma consulta que retorne os nomes dos membros separados por vírgulas, tudo em um só campo, para cada família.


 Que tal aprender estes códigos também: 


A função também é extremamente eficiente, aproveitando o mecanismo de objetos DAO (Data Access Objects) para trabalhar diretamente com os registros no banco de dados. Além disso, a função foi projetada para que possa ser facilmente modificada para trabalhar com ADO (ActiveX Data Objects), caso o desenvolvedor precise acessar dados de fontes externas ao Access. Essa flexibilidade permite que a função seja aplicada em diferentes contextos, desde bancos de dados locais até conexões remotas.


Outro ponto importante é o tratamento de erros. Embora o código original utilize a instrução On Error Resume Next, que ignora erros, é recomendável adicionar um tratamento de erros mais robusto em ambientes críticos. Isso ajudaria a capturar possíveis falhas de execução, como consultas malformadas ou falta de conexão com o banco de dados, proporcionando mais segurança e controle sobre o comportamento do aplicativo.


Em suma, a função ConcatenateFieldValues resolve um problema comum em bancos de dados relacionais e é uma excelente ferramenta para gerar relatórios dinâmicos. Sua flexibilidade, eficiência e simplicidade a tornam uma função valiosa para desenvolvedores que buscam agregar dados de forma elegante e intuitiva, sem a necessidade de recorrer a técnicas mais complexas de programação.


  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 Donut 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


 Clique nas capas abaixo e compre também: 

DONUT PROJECT: VBA - Projetos e Códigos de Visual Basic for Applications (Visual Basic For Apllication)


Série Top 10 Funções: Top 10 Funções VBA para o Microsoft Excel (Série Top 10 Funções - Microsoft Excel)


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

MS Access | Monitoramento de Conexões de Usuários

MS Access | Monitoramento de Conexões de Usuários


O Microsoft Access permite que múltiplos usuários acessem simultaneamente um banco de dados, gerando um arquivo de bloqueio (.ldb) que rastreia quais usuários estão conectados. A função WhoIsInTheDatabaseLockFile descrita acima permite identificar, de maneira eficiente, quem está conectado ao banco de dados, incluindo informações detalhadas sobre o nome do computador, o nome de login do usuário e o status da conexão.


 Aprenda: 17 Passos Essenciais para Melhorar seu Código VBA 


Esse tipo de monitoramento é extremamente útil em ambientes onde a colaboração é necessária, mas o controle de acesso e a auditoria de quem está utilizando os recursos são fundamentais para evitar conflitos, como a sobrescrição de dados ou bloqueios inesperados. O código acessa o esquema de usuários conectado ao Jet 4.0 OLE DB Provider, permitindo visualizar todas as conexões ativas ou que recentemente estiveram ativas, mesmo se a conexão do usuário foi encerrada abruptamente.


Public Function WhoIsInTheDatabaseLockFile() As String


' Esta função retorna uma lista de usuários que estão no arquivo de bloqueio (LDB) de um banco de dados Access.

' Informações fornecidas incluem:

' 1. Nome do computador

' 2. Nome de login do usuário

' 3. Se o usuário ainda está conectado

' 4. Estado suspeito da conexão do usuário (se foi desconectado de forma inesperada)


' Variáveis ADODB e DAO para manipulação de conexão e recordsets

Dim cn As New ADODB.Connection

Dim dbs As DAO.Database

Dim xlngLoop As Long

Dim rs As New ADODB.Recordset

Dim strNewDataSource As String, strCNString As String, xTT As String

Dim strCurrConnectString As String, xstrUserArray As String


' Constantes para nomes de tabelas e strings de conexão

Const strDummyTableName As String = "tbl__DummyTable_KeepRecordsetOpen"

Const strDatabaseString As String = "DATABASE="

Const strDataSourceText As String = "Data Source="

Const strPipeDelimiterChar As String = "|"


On Error GoTo Err_Msg ' Tratamento de erros


' Inicializa a variável para armazenar a lista de usuários

xstrUserArray = ""


' Obtém a string de conexão atual do projeto

strCurrConnectString = CurrentProject.Connection


' Extraindo o nome do arquivo do banco de dados da string de conexão

strCNString = Mid(strCurrConnectString, InStr(strCurrConnectString, strDataSourceText) + Len(strDataSourceText))

strCNString = Left(strCNString, InStr(strCNString, ";") - 1)


' Obtém o banco de dados atual e conecta-se a uma tabela "dummy"

Set dbs = CurrentDb

strNewDataSource = dbs.TableDefs(strDummyTableName).Connect

strNewDataSource = Mid(strNewDataSource, InStr(strNewDataSource, strDatabaseString) + Len(strDatabaseString))


Debug.Print "Arquivo contendo as tabelas de dados: " & strNewDataSource


' Atualiza a string de conexão para usar o caminho correto do arquivo de dados

cn.ConnectionString = Replace(strCurrConnectString, strCNString, strNewDataSource, 1, 1, vbTextCompare)

cn.Open ' Abre a conexão


' A função OpenSchema é usada para acessar o "User Roster", um esquema específico do Jet 4.0 OLE DB

Set rs = cn.OpenSchema(adSchemaProviderSpecific, , "{947bb102-5d43-11d1-bdbf-00c04fb92675}")


' Exibe os nomes dos campos da tabela que serão retornados

Debug.Print rs.Fields(0).Name, "", rs.Fields(1).Name, "", rs.Fields(2).Name, rs.Fields(3).Name


' Loop para iterar sobre todos os registros (usuários) retornados

While Not rs.EOF

    Debug.Print rs.Fields(0), rs.Fields(1), rs.Fields(2), rs.Fields(3)


    ' Para cada campo da linha atual, armazena o valor no array de usuários

    For xlngLoop = 0 To 3

        xTT = Trim(Nz(rs.Fields(xlngLoop), "")) ' Remove espaços e nulos

        If Len(xTT) > 1 Then

            ' Remove caracteres nulos no final da string, se houver

            If Right(xTT, 1) = Chr(0) Then xTT = Left(xTT, Len(xTT) - 1)

        End If

        ' Concatena os valores usando um delimitador

        xstrUserArray = xstrUserArray & xTT & strPipeDelimiterChar

    Next xlngLoop


    rs.MoveNext ' Avança para o próximo registro

Wend


' Remove o último delimitador se existir

If Len(xstrUserArray) > 0 Then xstrUserArray = Left(xstrUserArray, Len(xstrUserArray) - 1)


' Retorna a string com os usuários

WhoIsInTheDatabaseLockFile = xstrUserArray


Exit_Function:

    On Error Resume Next

    rs.Close ' Fecha o recordset

    Set rs = Nothing

    cn.Close ' Fecha a conexão

    Set cn = Nothing

    dbs.Close ' Fecha o banco de dados

    Set dbs = Nothing

    Exit Function


Err_Msg:

    ' Em caso de erro, exibe a mensagem de erro no console de depuração

    Debug.Print "Ocorreu um erro. Número do erro " & Err.Number & ": " & Err.Description

    Resume Exit_Function


End Function


Além de fornecer informações detalhadas sobre o status de cada conexão, a função garante que as informações sejam apresentadas em um formato delimitado, ideal para auditoria ou análise posterior. Ela também lida com as nuances de tratamento de erros de forma robusta, garantindo que a função não falhe inesperadamente, mesmo se houver problemas durante a execução.


 Que tal aprender estes códigos também: 

MS Access | Aplicando Função Concatenação de Valores nos Campos das Consultas
MS Access | Utilizando SendKeys de Forma Eficiente
MS Access | Automatizando a Compactação do Bancos de Dados
MS Access | Como Gerenciar Links das Tabelas
MS Access | Quebra de Texto em Linhas com Comprimento Máximo
MS Access | Monitoramento de Conexões de Usuários
MS Access | Mapeando 3.500 Erros com a Criação de Tabelas de Erros
MS Access | Código para Registro de Logs
MS Access | 17 Passos Essenciais para Melhorar seu Código VBA
MS Access | Código VBA para Backup de Todas as Tabelas Comentado


Uma aplicação prática desse código seria em cenários onde o administrador do banco de dados precisa saber quem está bloqueando o banco de dados ou quem pode ter causado uma interrupção. Isso é importante, especialmente quando múltiplos usuários precisam realizar alterações e o bloqueio do banco pode prejudicar o andamento dos processos.


Por fim, a função demonstra uma abordagem sofisticada de uso do ADO e DAO no Access, combinando a manipulação de strings de conexão com o acesso a esquemas específicos do provedor OLE DB. Esse tipo de solução oferece uma visão clara e eficaz da infraestrutura de conectividade do banco de dados, permitindo ao administrador tomar ações mais informadas e garantir a disponibilidade contínua do sistema para todos os usuários.


  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 Donut 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


 Clique nas capas abaixo e compre também: 

DONUT PROJECT: VBA - Projetos e Códigos de Visual Basic for Applications (Visual Basic For Apllication)


Série Top 10 Funções: Top 10 Funções VBA para o Microsoft Excel (Série Top 10 Funções - Microsoft Excel)


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

VBA Outlook - Usando o VBA no Outlook - Using Visual Basic for Applications in Outlook - Conectando ao Banco de Dados usando ADO (Connecting to the Database using ADO)

VBA Outlook - Usando o VBA no Outlook - Using Visual Basic for Applications in Outlook - Conectando ao Banco de Dados usando ADO (Connecting to the Database using ADO)

Aqui está um exemplo de como você pode usar o VBA do Outlook para acessar bancos de dados externos.


 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

eBook - PT - Série DONUT PROJECT - Volume 07 - VBA TOP 50 Códigos Mais Importantes - Access — André Luiz BernardeseBook - PT - Série DONUT PROJECT - Volume 07 - VBA TOP 50 Códigos Mais Importantes - Excel — André Luiz Bernardes eBook - PT - Série DONUT PROJECT - Volume 07 - VBA TOP 50 Códigos Mais Importantes - Outlook — André Luiz Bernardes eBook - PT - Série DONUT PROJECT - Volume 08 - VBA TOP 50 Códigos Mais Importantes - Project — André Luiz Bernardes


 Série VBA Outlook: 

VBA Outlook - Usando o VBA no Outlook - Using Visual Basic for Applications in Outlook - Usando o DAO em vez do ADO (Using DAO instead of ADO) VBA Outlook - Usando o VBA no Outlook - Using Visual Basic for Applications in Outlook - Usando um Recordset Desconectado (Using a Disconnected Recordset) VBA Outlook - Usando o VBA no Outlook - Using Visual Basic for Applications in Outlook - Usando Transações (Using Transactions)

VBA Outlook - Usando o VBA no Outlook - Using Visual Basic for Applications in Outlook - Usando Parâmetros em Consultas SQL (Using Parameters in SQL Queries) VBA Outlook - Usando o VBA no Outlook - Using Visual Basic for Applications in Outlook - Tratando Erros (Handling Errors) VBA Outlook - Usando o VBA no Outlook - Using Visual Basic for Applications in Outlook - Fechando a Conexão (Closing the Connection)

VBA Outlook - Usando o VBA no Outlook - Using Visual Basic for Applications in Outlook - Enviando um e-Mail para cada Cliente (Sending an email to each Customer) VBA Outlook - Usando o VBA no Outlook - Using Visual Basic for Applications in Outlook - Lendo Dados do Conjunto de Registros (Reading Recordset Data) VBA Outlook - Usando o VBA no Outlook - Using Visual Basic for Applications in Outlook - Executando uma Consulta SQL (Executing an SQL Query)

VBA Outlook - Usando o VBA no Outlook - Using Visual Basic for Applications in Outlook - Conectando ao Banco de Dados usando ADO (Connecting to the Database using ADO)


O exemplo está comentado para ajudá-lo a entender o que cada parte do código está fazendo:


Conectando ao banco de dados usando ADO


Sub ConnectToDatabase()

    Dim conn As Object

    Set conn = CreateObject("ADODB.Connection")

    conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\database.accdb;"

    ' Agora você está conectado ao banco de dados

End Sub



 Série DONUT PROJECT 2024 

DONUT PROJECT 2024 - VBA - Retorna o Valor do Conteúdo da Área de Transferência do Sistema DONUT PROJECT 2024 - VBA - Retorna a Versão do Sistema Operacional em que o Excel está sendo Executado DONUT PROJECT 2024 - VBA - Desenvolvimento de Ferramentas de Análise de Riscos

DONUT PROJECT 2024 - VBA - Desenvolvimento Obter Informações sobre a Versão do Sistema Operacional DONUT PROJECT 2024 - VBA - Automatizando Tarefas de Engenharia e Design DONUT PROJECT 2024 - VBA - Automatização de Processos de Medir Distâncias no Google Maps

DONUT PROJECT 2024 - VBA - Automatização de Processos de Marketing Mail com o GMail DONUT PROJECT 2024 - VBA - Automatização de Processos de Marketing Mail DONUT PROJECT 2024 - VBA - Como proteger e ocultar fórmulas em uma planilha do Excel usando VBA

DONUT PROJECT 2024 - VBA - Código Exporta os dados e Atualiza as Quantidades em Estoque de um Determinado Produto na Planilha "Estoque" Crie Funções Personalizadas com Visual Basic for Applications (VBA) para Análise de Dados nos Negócios Saber programar em Visual Basic for Applications (VBA)



 Série DONUT PROJECT 2021 


DONUT PROJECT 2021 - VBA Function: Sabe como enviar dados para o Google Sheet, através do MS Excel, usando VBA, no MacBook?

DONUT PROJECT 2021 - VBA Function:  Como Rastrear o Google Maps (Coordenadas Geográficas) no VBA Excel? DONUT PROJECT 2021 - VBA Function:  Crie Acrônimos a partir de Strings de Texto DONUT PROJECT 2021 - VBA Function:  Convertendo uma Matrix num Vetor - Convert Matrix to a Vector

DONUT PROJECT 2021 - VBA Function:  Como tornar o Formulário Transparente no MS Excel? DONUT PROJECT 2021 - VBA Function:  Faça Buscas no Google a Partir da Célula do MS Excel - Search Google From a Cell DONUT PROJECT 2021 - VBA Function:  Decompondo um Nome nas Dimensões de uma Matriz


DONUT PROJECT 2021 - VBA Function: Extraindo o Último Sobrenome de um Nome Completo ou a Última Palavra de uma Frase DONUT PROJECT 2021 - VBA Function:  Extraindo o Segundo Nome de um Nome Completo ou a Segunda Palavra de uma Frase DONUT PROJECT 2021 - VBA Function: Extraindo o Primeiro Nome ou  a Primeira Palavra de uma Frase



 Série DONUT PROJECT 2018 

DONUT PROJECT 2018 - VBA - 12 - Aumente sua Produtividade DONUT PROJECT 2018 - VBA - 10 - Loop For-Each DONUT PROJECT 2018 - VBA - 08 - Referenciando Ranges


DONUT PROJECT 2018 - VBA - 07 - Amostra de Macro  DONUT PROJECT 2018 - VBA - 06 - Recursos Adicionais DONUT PROJECT 2018 - VBA - 05 - Gravando a Primeira Macro

DONUT PROJECT 2018 - VBA - 04 - Opções de Solução DONUT PROJECT 2018 - VBA - 03 - Requisitos e Preparação DONUT PROJECT 2018 - VBA - 02 - Continua Cético

DONUT PROJECT 2018 - VBA - 01 - Maximizando Sua Eficiência DONUT PROJECT 2018 - Excel - Ao Gravar Macro Altere o Método SELECT por RANGE 


 DONUT PROJECT 2018 - Excel - Acelerando as Macros - Desativando os Recursos de Atualização



 Série DONUT PROJECT 2015 

DONUT PROJECT 2015 - Excel - Formatting A Pivot Field's Data - Formatando os Campos de uma Tabela Dinâmica DONUT PROJECT 2015 - Excel - Formatting A Pivot Table's Data - Formatando os Dados de um Tabela Dinâmica DONUT PROJECT 2015 - Excel - Expand/Collapse Entire Field Detail - Ampliando Detalhadamente os Campos da Tabela Dinâmica

DONUT PROJECT 2015 - Extraindo e-Mails - Extracting An Email Address From Text   DONUT PROJECT 2015 - Função - Extraindo Quaisquer Elementos de uma String a Partir do Limitador DONUT PROJECT 2015 - Função - Retorna o número de ocorrências de um caracter numa string

DONUT PROJECT 2015 - Função - Retorna Qualquer Conteúdo Delimitado por 2 Caracteres  DONUT PROJECT 2015 - Função - Retorna Apenas o Conteúdo Entre Parênteses DONUT PROJECT 2015 - Função - Extrai Conteúdo entre Parênteses

DONUT PROJECT 2015 - Excel - Report Layout DONUT PROJECT 2015 - Excel - Grand Totals - Inserindo Totais para todas as Colunas e Linhas na Tabela Dinâmica DONUT PROJECT 2015 - Excel - Change Pivot Table Data Source Range - Mudando a Fonte de Dados da Tabela Dinâmica

DONUT PROJECT 2015 - Excel - Refresh Pivot Tables - Aplicando Refresh em Tabelas Dinâmicas DONUT PROJECT 2015 - How To Create Partially Anonymous Data - Como Manter Informações parcialmente Anônimas  DONUT PROJECT 2015 - Excel - Clear Report Filter - Limpando o Filtro da Tabela Dinâmica

DONUT PROJECT 2015 - Excel - Report Filter On Multiple Items - Criando Filtros Múltiplos na Tabela Dinâmica DONUT PROJECT 2015 - Excel - Report Filter On A Single Item - Criando Filtro de Relatório na Tabela Dinâmica DONUT PROJECT 2015 - Excel - Remove Calculated Pivot Fields - Removendo Campos Calculados da Tabela Dinâmica

DONUT PROJECT 2015 - Excel - Remove Pivot Fields - Removendo Campos da Tabela Dinâmica  DONUT PROJECT 2015 - Excel - Add A Values Field - Adicionando Campos Calculados na Tabela Dinâmica DONUT PROJECT 2015 - Excel - Add Calculated Pivot Fields - Adicionando Campos Calculados na Tabela Dinâmica

DONUT PROJECT 2015 - Excel - Add Pivot Fields - Adicionado Campos na Tabela Dinâmica DONUT PROJECT 2015 - Excel - Delete All Pivot Tables - Apagando todas as Tabelas Dinâmicas DONUT PROJECT 2015 - Excel - Delete A Specific Pivot Table - Apague um Tabela Dinâmica Específica


DONUT PROJECT 2015 - VBA To Add A Confidentiality Footer Statement In Excel, Word, or PowerPoint - Adicionando um Rodapé com Status de Confidencialidade no Excel, Word ou PowerPoint DONUT PROJECT 2015 - Excel - Create A Pivot Table - Criando uma Tabela Dinâmica


 Série DONUT PROJECT 2014 

DONUT PROJECT 2014 - Use os add-ins do MS Excel e dê um salto em sua performance DONUT PROJECT 2014 - VBA - Automatizando o Outlook para enviar um e-mail com anexo  DONUT PROJECT 2014 - VBA - Outlook - Salvando todos os arquivos anexados nos e-mails


DONUT PROJECT 2014 - VBA - Criando uma Matriz de Datas MAT - Moving Annual Total  DONUT PROJECT 2014 - VBA - Excel - Atualizando Tabelas Dinâmicas - Refresh Pivot Table via VBA DONUT PROJECT 2014 - VBA - Excel - Removendo os Caracteres Alfabéticos e Especiais


DONUT PROJECT 2014 - VBA - Access - Criando uma Query com Parâmetros DONUT PROJECT 2014 - VBA - Access - Atualizando o conteúdo de uma Query DONUT PROJECT 2014 - VBA - Access - Saiba o Número de Registro de cada tabela


DONUT PROJECT 2014 - VBA - Access - Extraia Blocos de Dados do Banco de Dados - Sem Problemas de TIMEOUT DONUT PROJECT 2014 - VBA - Access - Lista o Tamanho de Todas as Tabelas DONUT PROJECT 2014 - VBA - Excel - Populando um ListBox no seu Formulário

DONUT PROJECT 2014 - VBA - Excel - Importando arquivos CSV  DONUT PROJECT 2014 - VBA - Excel - Deletando Conexões de Dados  DONUT PROJECT 2014 - VBA - Excel - Obtendo o Nome da Planilha sem a Extensão - Get name of workbook without extension


DONUT PROJECT 2014 - VBA - WORD - Exportação Automatizada - De *.docx Para *.pdf - Otimizando o tamanho


  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
diHITT - Notícias