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.

VBA ACCESS - ShowToolbar - Inibindo o Menu - Switch off / Hide Toolbars & Menu Bar

VBA ACCESS - ShowToolbar - Inibindo o Menu - Switch off / Hide Toolbars & Menu Bar
#ProgramaçãoGlobal #Access #MSAccess #access #vba #accessvba #menubar #toolbars #indústrifarmacêutica #dadosinternos #automação #relatórios #dashboards #segurançadedados


DOE UM CAFÉ


 Compre OS LIVROS DESTA SÉRIE 




Você gosta de proteger bem as suas aplicações para que 'fuçadores' não fiquem bisbilhotando o que você desenvolveu?

Particularmente nunca tive muito receio quanto aos usuários que operam as aplicações que desenvolvo. Sempre faço questão de treinar os usuários quanto as suas responsabilidades, e sobre o que nunca devem fazer, como:

Pressionar o [CTRL] + [Scroll Lock]

Pressionar o [SHIFT] antes da aplicação carregar, e assim por diante. 

Por que faço questão de treinar antes? Para evitar problemas causados por eles mesmos. Alguns têm um conhecimento razoável sobre 'macros' e acreditam que isso os habilita a alterarem os códigos e/ou a bisbilhotá-los.

CRIO DASHBOARDS NO POWER BI


Entendamos que a curiosidade é inata ao ser humano, mas esta pode trazer danos à aplicação, bem como ao processo ao qual esta presta suporte. E nestes casos o usuário será responsabilizado diretamente.

Você que desenvolve como eu, sabe que a grande maioria dos usuários que criam 'macros' apenas o fazem para facilitar o seu dia-a-dia. Não dominam a teoria, sequer imaginam o que é OOP, Eventos, Objetos, Classes, etc...Isso afasta-os da compreensão dos nossos códigos quando deparam-se com eles.

Esta longa introdução serve apenas para apresentar uma possivel necessidade de desabilitar os menus de todas as aplicações MS Access que desenvolvemos. Isso, de certo modo, impedirá que 80% ou mais dos seus usuários causem problemas a eles mesmos. Como fazer isso?

DoCmd.Método ShowToolbar

 

O método ShowToolbar executa a ação ShowToolbar no Visual Basic for Applications.

Sintaxe:

expressão.ShowToolbar(ToolbarName, Show)
expressão   Uma variável que representa um objeto DoCmd.

Parâmetros:

ToolbarName - É obrigatório, sendo do tipo Variant. Uma expressão de cadeia de caracteres (expressão de seqüência de caracteres: uma expressão avaliada como uma seqüência de caracteres contíguos. Os elementos da expressão podem incluir: funções que retornam uma seqüência ou uma seqüência Variant (VarType 8); uma seqüência literal, constante, variável ou Variant.) que é o nome válido de uma barra de ferramentas personalizada (barra de ferramentas personalizada: uma barra de ferramentas que você cria para seu aplicativo. Por outro lado, uma barra de ferramentas interna é instalada com o Access em seu computador.) do Microsoft Access que você criou. Se você executar o código do Visual Basic que contém o método ShowToolbar em um banco de dados biblioteca (banco de dados biblioteca: uma coleção de procedimentos e objetos de banco de dados que podem ser chamados de qualquer aplicativo. Para usar os itens na biblioteca, é necessário estabelecer primeiro uma referência do banco de dados atual ao banco de dados da biblioteca.), o Microsoft Access procurará pela barra de ferramentas com esse nome primeiro no banco de dados biblioteca e, em seguida no banco de dados atual.

Show - É opcional, sendo do tipo 'AcShowToolbar'. Uma constante AcShowToolbar que especifica se será necessário exibir ou ocultar a barra de ferramentas e em qual modo de exibição exibi-la ou ocultá-la. O valor padrão é acToolbarYes.

É possível usar o método ShowToolbar para exibir ou ocultar uma barra de ferramentas personalizada. 

Se você deseja mostrar uma barra de ferramentas específica em apenas um formulário ou relatório, defina a propriedade OnActivate do formulário ou do relatório para o mesmo nome de uma macro que contém uma ação ShowToolbar para mostrar a barra de ferramentas. Depois defina a propriedade OnDeactivate do formulário ou do relatório do nome de uma macro que contenha a ação ShowToolbar para ocultar a barra de ferramentas.

Enumeração AcShowToolbar:

 

Usada com o método ShowToolbar para especificar se uma determinada barra de ferramentas personalizada deve ser exibida.

acToolbarNo - Correspondo ao valor 2 e oculta a barra de ferramentas.

 

acToolbarWhereApprop - Corresponde ao valor 1 e exibe a barra de ferramentas quando no modo de exibição apropriado.

acToolbarYes - Corresponde ao valor 0 e exibe a barra de ferramentas. 

Exemplo:

' Desativa o aparecimento.
DoCmd.ShowToolbar "Ribbon", acToolbarNo

' Ativa o aparecimento.
DoCmd.ShowToolbar "Ribbon", acToolbarYes

👉 Siga André Bernardes no LinkedinClique aqui e contate-me via What's App.

Comente e compartilhe este artigo!

brazilsalesforceeffectiveness@gmail.com


VBA - Convertendo o número do mês no nome por extenso - Convertendo o nome por extenso do mês no número








Blog Office VBA | Blog Excel | Blog Access | 

Hello folks!

Ao lidar com periodicidades móveis como MAT (Moving Annual Total), YTD (Year to Date), QTD (Quarter-To-Date), MTD (Month-To-Date), Year-ending, etc... Talvez necessitemos ajustar os nossos meses movendo-os dinamicamente.
How to convert month number to month name
Convert numbers to month names
Convert Month Name To Number
Convert Month Number to Month Name in Report based on query

A movimentação dos meses ajustada nas apresentações dos gráficos e das tabelas dos nossos Dashboards e Scorecards, invariavelmente requererão que os meses sejam manipulados internamente por somá-los ou subtraí-los, adequando as apresentações dos mesmos. Para que este feito fosse facilmente implementado precisaríamos transformar Novembro em 11 11 em Novembro, por exemplo. Como ?

Para o vosso regalo, seguem funções abaixo:

Function ABL_Convert_Number2MonthName (ByVal lngMonth As Long) As String

    ' Author:                     Date:               Contact:                 URL:

    ' André Bernardes             28/06/2011 13:58    bernardess@gmail.com     http://inanyplace.blogspot.com/

    ' Application: ®

    ' Converte o número do mês no respectivo nome (11 em Novembro).

    ' Listening: 20 - Flynn Lives - Daft Punk - TRON Legacy Soundtrack [Complete Edition](MP3@320Kbps)  

    On Error GoTo Err_GetMonthName

    Dim dteTemp As Date

    If lngMonthName < 1 And lngMonthName > 12 Then

        Let ABL_Convert_Number2MonthName = vbNullString    

        Exit Function

    End If

    Let dteTemp = DateSerial(Year(Date), lngMonth, 1)

    Let ABL_Convert_Number2MonthName = Format(dteTemp, "mmmm")

    Exit Function

Err_GetMonthName:

    Let ABL_Convert_Number2MonthName = vbNullString

End Function

Function ABL_Convert_MonthName2Number (monthName As String) As Integer
    ' Author:                     Date:               Contact:                 URL:

    ' André Bernardes             28/06/2011 14:01    bernardess@gmail.com     http://inanyplace.blogspot.com/

    ' Application: ®

    ' Converte o nome de um mês em número (Novembro em 11).

    ' Listening: 20 - Flynn Lives - Daft Punk - TRON Legacy Soundtrack [Complete Edition](MP3@320Kbps)

    ' try to convert month name to actual date type

    Dim dtestr As String

    Let dtestr = monthName & "/1/2011"

    Dim dte As Date

    On Error Resume Next

    Let dte = CDate(dtestr)

If Err.Number <> 0 Then

  Let ABL_Convert_MonthName2Number = -999

  Exit Function

End If

    On Error GoTo 0

    Let ABL_Convert_MonthName2Number = Month(dte)

End Function

Vocabulário:

YTDYear to Date

QTD = É um período iniciado no começo do trimestre em curso, terminando na data atual.

MAT = Moving Annual Total.

MTD = Month-To-Date


Tags: VBA, Office, Month, Mês, converter

VBA Access - Como apagar arquivos - Delete, Kill, Erase

images?q=tbn:ANd9GcSZ-Cq8_QecEo2KqZMuthWjgD0YoogjLImgdFwR-fGGcmOO1_mA Não é rara a necessidade de precisarmos apagar arquivos temporários que utilizamos para importação, exportação, consolidação, geração de relatórios externos, etc...

Como posso excluir a tais?

A instrução Kill exclui os arquivos de um disco.

Sintaxe: Kill pathname

O argumento pathname é uma expressão de seqüência de caracteres que especifica um ou mais nomes de arquivo a serem excluídos. O pathname pode incluir o diretório ou pasta e a unidade.

No Microsoft Windows, Kill aceita o uso de curingas de múltiplos caracteres (*) e de um único caractere (?) para especificar múltiplos arquivos. Entretanto, no Macintosh, esses caracteres são tratados como caracteres de nomes de arquivo válidos e não podem ser usados como curingas para especificar múltiplos arquivos.

Como o Macintosh não aceita os curingas, use o tipo de arquivo para identificar grupos de arquivos a excluir. Você pode usar a função MacID para especificar o tipo de arquivo em vez de repetir o comando com nomes de arquivo separados. Por exemplo, a instrução a seguir exclui todos os arquivos TEXT da pasta atual.


Kill MacID ("TEXT")


Se você usar a função MacID com Kill no Microsoft Windows, ocorrerá um erro. Se você tentar usar Kill para excluir um arquivo aberto, ocorrerá um erro.

Você pode deletar vários arquivos em um diretório

Estou tentando apagar arquivos temporários que o MS Word às vezes deixa para trás, quando não os consegue limpar corretamente. 

Digamos os arquivos como ~$lename.dot. Utilizar apenas o comando Kill, não funciona para arquivos ocultos como estes. mas, se eu mudar seus atributos ele funciona perfeitamente. 

Existe uma comando que pode matar arquivos ocultos também? Se não, como posso contornar uma situação como este problema que impede alguns modelos mailmerge de serem excluídos? 

Como quero executar o comando fora de um botão. Estou pegando o caminho de um DLookup, pois varia de local para local.


Function KillTempFiles()



If Dir(DLookup("[Path]", "tblMailmerge", "mID=1") & "~*.dot") > "" Then

Kill (DLookup("[Path]", "tblMailmerge", "mID=1") & "~*.dot")

End If


On Error Resume Next


End Function

No entanto, a declaração Kill não pode excluir arquivos somente leitura, por isso, a menos que não exista chance de que o arquivo possa ser marcado como readonly, deve-se primeiro remover o atributo readonly do arquivo. Pode fazer isso da seguinte forma:


Dim KillFile As String

Let KillFile = "c:\bernardes\inanyplace.doc"

' Checa se o arquivo existe
If Len(Dir$(KillFile)) > 0 Then

    ' Primeiro remove o atributo de readonly, caso esteja assim configurado
    SetAttr KillFile, vbNormal

    ' Deleta o aqruivo.
     Kill KillFile
End If

Para deletar todos os arquivos em um diretório:

' Faz um Loop através de todos os arquivos em um diretório por usar a função Dir$

Dim MyFile As String


Let MyFile = Dir$ ("c:\Bernardes\*.*")


Do While MyFile <> ""

    KillProperly "c:\Bernardes\" & MyFile


    ' É necessário especificar o caminho novamente, porque o arquivo foi deletado.

    Let MyFile = Dir$ ("c:\Bernardes\*.*")

Loop


Alternativamente, você pode ler todos os valores em uma matriz, e excluir todos os arquivos usando um loop. Esse será um processo mais rápido se o diretório for muito grande, caso contrário não notará qualquer diferença.


Referências: StackoverFlow
               Bytes
               MVPS




Tags

Access, Kill, Delete, Del, Excluir, deletar, apagar, arquivo, file, archive


André Luiz Bernardes
A&A® - Work smart, not hard.

       







ACCESS - Usando Gauges em Dashboards - Usando Dashboard Gráfico no Access





Ahhh, os Dashboards e os Scorecards...São um desafio para desenvolvê-los diante dos inúmeros softwares comerciais criados com essa finalidade. 

Será que a nossa tão conhecida e amplamente utilizada suíte do MS Office consegue nos atender nos nossos anseios por belos Dashboards 
 ou mesmo a elaboração de Cockpits?




Talvez deseje ler adicionalmente o artigo: 

Bem, agora é o momento de olharmos o modo como podemos fazer uso da visualização de KPI,  com medidores e/ou mostradores,  em Dashboards no MS Access. Sim, você realmente pode usar o MS Access para criar alguns Dashboards executivos visualmente interessantes.

Dê uma olhada abaixo no screenshot de um Dashboards desenvolvido em MS Access:

Dashboard_Andre_Luiz_Bernardes_01.png

Ou algo parecido com isso:

Dashboard_Andre_Luiz_Bernardes_02.png

Muito legal, não é mesmo? Quer saber como criar seu próprio painel de acesso com estes gráficos para Dashboards?


Bem o MS Access não é tipicamente uma ferramenta na qual pensaria quando se considera desenvolver uma plataforma de Dashboards. As ferramentas de relatório no MS Access, ainda não têm tais funcionalidades facilitadoras. Ou seja, o MS Access não oferece uma série com Dashboards gráficos. Claro que ele tem gráficos e formatação condicional, mas nada como no MS Excel.


No próximo artigo, mostro um hack, algumas pequenas dicas, para que possa adicionar características profissionais aos seus relatórios MS Access para Dashboards.





Referências: DataPigTechnologies


Tags: Access, Dashboard, gauge, medidor, mostrador, bmp, bitmap, chart, gráfico



EXCEL - Dica para otimizar velocidade de cálculos no Excel 2007







Dica para otimizar velocidade de cálculos no Excel 2007

Se utiliza o MS Excel 2007 em uma máquina com processador de dois (ou mais) núcleos você pode aumentar a velocidade de cálculo habilitando a opção "multithread": Clique no botão OFFICE/OPÇÕES DO EXCEL/AVANÇADO/PERMITIR CÁLCULOS MULTITHREAD


Com isso o MS Excel 2007 passa a fazer operações simultâneas de forma independente usando os núcleos separadamente. Isso significa uma sensível melhora de performance em planilhas parrudas, mas imperceptível no arroz-com-feijão do dia-a-dia.


Referência: Pasta1xls



Tags: VBA, Office, Excel, velocidade, otimizar, velocity, speed

Inspiration: 

diHITT - Notícias