Important:

Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog podem ser tratados como consultoria freelance.

Views

VBA Access - Usando o Sistema de Cores do Windows(R) nas suas aplicações.

Hello Folks!

Quando estamos desenvolvendo aplicações que serão utilizadas em um departamento ou numa empresa, deparamo-nos com os 'gostos' personalizáveis dos usuários e apesar de desejarmos ignorá-los, devemos levá-los em consideração.

Também pode ser possível que o nosso cliente utilize a nossa aplicação em diversos locais diferentes e nestes casos o gosto das inúmeras pessoas que utilizarão nossa aplicação serão multiplicados ao excesso.

AndreLuizBernardes_VBA_Interface_01_Sistema_de_Cores_Windows_Aplicacao.png


Nos casos acima e ainda em outros pode ser interessante permitir que a interface da aplicação possa adequar-se ao conjunto de cores padrão do Windows® que estiver configurado na máquina do usuário que a rodará.

Esse aparente detalhe pode ser a diferença entre fazer sua aplicação ser melhor aceita pelos usuários ou ser prontamente rejeitada por ter uma cor que não se harmoniza com o gosto deles.

Abaixo transcrevo uma solução muito interessante de Peter´s Software, sei que gostará, pelo menos como fonte de estudos e inspiração.

Abaixo segue o sistema de cores:

ID da Cor        Descrição da Cor
---------------        ----------------------------

-2147483648 Scroll bar
-2147483647 Desktop
-2147483646 Active window title bar
-2147483645 Inactive window title bar
-2147483644 Menu bar
-2147483643 Window
-2147483642 Window frame
-2147483641 Menu Text
-2147483640 Window Text (*)
-2147483639 Title bar text
-2147483638 Active window border
-2147483637 Inactive window border
-2147483636 Application background
-2147483635 Highlight
-2147483634 Highlight Text
-2147483633 3-D face (**)
-2147483632 3-D shadow
-2147483631 Dimmed (disabled) text
-2147483630 Button Text
-2147483629 Inactive window title bar text
-2147483628 3-D highlight (***)
-2147483627 3-D dark shadow
-2147483626 3-D light
-2147483625 ToolTip Text
-2147483624 ToolTip background
-2147483621 Active window title bar color2

  * - Cor das fontes.
 ** - Detalhes no backcolor do FORM, desabilitando a caixa de texto.
*** - Texto do Label.

Ei, talvez queira a aplicação pronta. Para importar este FORM na sua aplicação e beneficiar-se da interface acima, baixe-a aqui.

Para manter as cores de todos os FORMs da sua aplicação identificados com a mesma cor do esquema de cores do Windows®, o usuário poderá ir ao Painel de Controle > Vídeo > Aparência.


Aplicável emMS Access 97, MS Access 2000, MS Access 2002, MS Access XP, MS Access 2007, MS Access 2010


TagsAndré Luiz Bernardes, VBA, Office, Access, Windows, automation, color, colors, background, text, bar, cor



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

VBA Access - Manipulando importações salvas



Para nos beneficiarmos da rapidez do MS Office 2007, podemos [e devemos] gravar as importações que efetuamos 'na mão'. E posteriormente quando precisarmos dessas, 
podemos evocá-las das entranhas do MS Access.


Using a Saved Import in Access 2007 via a macro or VBA
Saved Import Access 2007


Não envergonhece-se de utilizar o comando banal, mas útil, abaixo:

DoCmd.RunSavedImportExport "imp_bernardes_Invoices"

E que tal ampliar os seus conhecimentos sobre as entranhas do MS Access, fuçando em:

Office button

Access Options

Current Database

Navigation Options

Show System Objects

É interessante ver que o MS Access grava internamente um nome diferente do que utilizamos externamente.


Até a próxima!


Tags: André Luiz Bernardes, VBA, macro, automation, automação, MS, Microsoft, MS Office, Office 2007, import, runsavedimportexport, 

André Luiz Bernardes


Aberta a temporada de Conexões - VBA to link CSV File, TXT File.


         



Pois é, em inúmeras ocasiões na nossa vida, como bravos desenvolvedores, precisaremos conectar dados externos às nossas aplicações MS Access.

Isso pode ser feito:
Outras bases 
Outros SGBDS do mercado,
Ligações ODBC,
Planilhas eletrônicas,
Dados disponíveis em sites.

E, neste caso, conectando-se a dados 
.CSV

Bem, tanto no caso do CSV, quanto do Texto, o modo é praticamente igual. Excetuando-se o fato 
de que os dados dentro do CSV estejam delimitados por ponto-e-vírgula.

Ahh, não seria nada apropriado continuar escrevendo este artigo sem explicar o que significa a extensão CSV, pois então, segue:

CSV
Comma-separated values
É um formato de arquivo que armazena dados tabelados, cujo grande uso vem da época dos mainframes. Por serem bastante simples, arquivos .csv são comuns em todas as plataformas de computador.

O CSV é uma implementação particular de arquivos de texto separados por um delimitador, que usa a vírgula e a quebra de linha para separar os valores. O formato também usa as aspas em campos no qual são usados os caracteres reservados (vírgula e quebra de linha). Essa robustez no formato torna o CSV mais amplo que outros formatos digitais do mesmo segmento.

Embora não exista uma especificação formal do formato CSV, o RFC 4180 descreve um formato comum e estabelece text/csv como um tipo MIME registrado na IANA. Formalmente, o CSV é um formato de dados delimitado que possui campos (colunas) separados por caracteres de vírgula e registros (linhas) separados por caracteres de quebra de linha. Campos que contêm caracteres especiais (vírgula, quebra de linha ou aspas) devem ser envolvidos em aspas. Entretanto, se uma linha contiver uma única entrada que seja uma cadeia vazia, ela também pode ser envolvida por aspas. Se um campo contiver um caractere de aspas, ele é discernido posicionando outro caractere igual logo em seguida. O formato CSV não requisita uma codificação de caracteres, uma ordenação de bytes ou um formato de terminador de linha.

Bem, vamos ao que interessa. Como podemos conectar, através do VBA, um arquivo texto ou CSV?

Criei duas funções que fazem este papel para nós, livrando-nos de parte da dor de cabeça:
Nesta função abaixo não só conectamos um arquivo externo, mas fazemos ainda mais do
que isso por exportá-lo para outro banco de dados. Ou seja, numa aplicação desenvolvida
com o MS Access, geralmente um deles contém as interface (Formulários, Relatórios) e maioria
das queries. Deixamos as tabelas e respectivas conexões em outro banco a parte.

Neste banco a parte efetuamos backups mais intensamente. Este banco a parte também fica
disponível para outras camadas de dados, como por exemplo, para a criação da base indexada:


Function ConecAction
    ' Author:                            Date:                       Contact:                             URL:
    ' André Bernardes             12/04/2011 11:39    bernardess@gmail.com     http://al-bernardes.sites.uol.com.br/
    ' Conecta arquivos texto disponíveis no Path.

    Dim nPath As String
    Dim nPath2 As String
    Dim nArchive As String
    Dim nFile As String
    Dim dbSource As String
    Dim dbTarget As String

    ' O nome do arquivo e o caminho (Path) vem de um formulário.
    Let nPath = Left(CurrentDb().Name, InStr(1, CurrentDb().Name, "Bernardess") - 2) & [Form_frm_Avisos].CxPath2.Value
    Let nPath2 = Left(CurrentDb().Name, InStr(1, CurrentDb().Name, "
Bernardess
") - 1)
    Let nArchive = [Form_frm_Avisos].CxFile2
    Let nFile = nPath & nArchive
    Let dbSource = Left(nArchive, Len(nArchive) - 4)    '"Cnn_" & nArchive
    Let dbTarget = nPath2 & "OtherBernardesBase.accdb"

    If IsNull(nPath) Or IsNull(nArchive) Then
        Beep
        MsgBox "Providencie o Path onde está o arquivo, bem como o nome do mesmo!", vbExclamation, ".: Bernardes Message"
    Else
        Call ConectTXTFile(1, "<
Nome da especificação de importação
>", dbSource, nPath & nArchive)  ' Conecta arquivo texto.
        'Call ExportTextFileConected(dbTarget, dbSource)             ' Exporta arquivo texto para Base de Dados.
    End If

    ' Atualiza o Form.
    [Form_frm_Avisos].listConnectedFiles.Requery
End 

Function ConectTXTFile
    ' Author:                            Date:                       Contact:                 URL:
    ' André Bernardes             11/04/2010 15:49    bernardess@gmail.com     http://al-bernardes.sites.uol.com.br/
    ' Conecta todos os arquivos textos..
    ' Listening: .

    ' Checa a existência da tabela neste banco e a apaga.
    If ObjectExists("Table", TableName) Then
        DoCmd.DeleteObject acTable, TableName     ' Se a tabela existir apaga-a.
    End If
    
    If nType = 0 Then
        DoCmd.TransferText acLinkFixed, nLayout, TableName, nFile, False
    ElseIf nType = 1 Then
        DoCmd.TransferText acLinkDelim, nLayout, TableName, nFile, False
    End If
End Function

As demais funções que percebe no código podem ser obtidas, caso deseje, por enviar-me um e-mail solicitando-as.

Boa diversão....Ehhh, em ocasião posterior abordaremos como conectar as demais bases de dados citadas.




Fontes: Wiki,
            GMAIL - Criando arquivo CSV


Tag:
André Luiz Bernardes, Connection, conect. .CSV, .TXT, RFC 4180, IANA, MIME, 
TransferText, acLinkFixed, 



Atenciosamente / Mit freundlichem Gruß / Kind regards

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

  


LinkWithinBrazilVBAAccessSpecialist

Related Posts Plugin for WordPress, Blogger...

Vitrine