VBA Excel - Acrescentando registro em MS Access.

Para acrescentar um registro a uma base de dados MS Access, precisa assegurar-se de que o seu MS Excel está configurado com a referência a biblioteca DAO:
Microsoft ActiveX Data Objects 6.0 Library c:\Program Files\Common Files\System\ado\msado15.dll Microsoft DAO 3.6 Object Library c:\Program Files\Common Files\Microsoft Shared\DAO\dao360.dll
 
Em seguida execute uma inserção do usuário, com horário e demais dados relevantes (você mesmo deve definir o que acha ser mais apropriado):
Function InsertUserInapplication(nUser As String) ' Author:                          Date:                       Contact:                           URL: ' André Bernardes             22/03/2010 11:56     bernardess@gmail.com     http://al-bernardes.sites.uol.com.br/ ' Insere o nome do usuário, indicando que este está plugado a aplicação e ativo nela.     Dim nSQL As String     ' Sample:     'INSERT INTO tbl_Connected ( ID, [TimeStamp] )     'SELECT '01101304I' AS IDentification, #3/22/2010 14:32:0# AS nTime     'FROM tbl_Sys_Add;     Let nSQL = "INSERT INTO tbl_Connected (ID, [TimeStamp]) " & _                      "SELECT '" & nUser & "' AS IDentification, " & _                      "#" & nowUserTime & "# AS nTime " & _                      "FROM tbl_Sys_Add"     Call StatusUser_AccessData(pth_Base, dbs_Base, nSQL) End Function
Agora poderá efetuar consultas antes de abrir a planilha para saber se alguém está utilizando sua aplicação. Quando o usuário terminar de utilizar a planilha, deve deletar o usuário da tabela, e/ou apenas desabilitá-lo em um campo apropriado: Function DeleteUserInapplication(nUser As String) ' Author:                          Date:                        Contact:                          URL: ' André Bernardes             22/03/2010 14:06     bernardess@gmail.com     http://al-bernardes.sites.uol.com.br/ ' Deleta o nome do usuário ativo, que está plugado na aplicação.     Dim nSQL As String     Let nSQL = "UPDATE tbl_Connected " & _                      "SET tbl_Connected.TimesOut = #" & Now() & "#, " & _                      "tbl_Connected.Online = 0 " & _                      "WHERE (((tbl_Connected.ID)= '" & nUser & "' ))"     Call StatusUser_AccessData(pth_Base, dbs_Base, nSQL) End Function
 
Acessando a base de dados (esta configurado para a versão do Office 2007)

Sub StatusUser_AccessData (nPath As String, nDataBaseName As String, nSQL As String)     ' Author:                           Date:                     Contact:                           URL:     ' André Bernardes             22/03/2010 12:03    bernardess@gmail.com     http://al-bernardes.sites.uol.com.br/     ' Inserindo o usuário ativo na aplicação neste momento.

    Dim stDB As String     Dim cnt As New ADODB.Connection

    Let stDB = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & nPath & nDataBaseName

    cnt.Open stDB     cnt.Execute nSQL

    'Set stDB = Nothing     Set cnt = Nothing End Sub
 

InAnyPlace03.gif

VBA Tips - Tabela ASCII - American Standard Code for Information Interchange, EBCDIC, UNICODE



Consulte este link com os dados mais atualizados. 


Tags: ASCII, Tabela ASCII, American Standard Code for Information Interchange, 8 bits, 7 bits, EBCDIC, UNICODE



Veja outros códigos:

VBA Excel | Extraindo a Data de uma Célula com Data e Horário - Remove Date from Date and Time VBA Excel | Converta Tudo para Maiúscula - Convert to Upper CaseVBA Excel | Contando Palavras na Planilha - Word Count from Entire Worksheet VBA Excel | Removendo Decimais dos Números - Remove Decimals from Numbers

VBA Excel |  Multiplique todos os Valores por um Número - Multiply all the Values by a Number VBA Excel | Calculando a Raiz Cúbica - Calculate the Cube Root

VBA Excel | Adicionando Letras de A até Z - Add A-Z Alphabets in a Range VBA Excel | Convertendo Numerais Romanos em Arábicos - Convert Roman Numbers into Arabic Numbers

VBA Excel | Converta todos os Números Negativos em Positivos - Remove Negative Signs VBA Excel | Preencha com zeros as Células em Branco - Replace Blank Cells with Zeros

Leia também:

eBook: Série DONUT PROJECT 2015: Projetos e Códigos de Visual Basic for Applications - Autor: André Luiz Bernardes  eBook: Série Top 10 Funções: Top 10 Funções VBA para o Microsoft Excel - Autor: André Luiz Bernardes

eBook: Série Funções Poderosas: 13 Funções Poderosas no MS Excel - Autor: André Luiz Bernardes  eBook: Série Visual Basic For Application: Criando Logs de acesso: Dicas e Códigos de Visual Basic for Applications - Autor: André Luiz Bernardes

eBook: Série VBA Tips: Rastrei seus Dashboards, Scorecards, Reports, Relatórios, Planilhas e Aplicações - Dicas e Códigos - Autor: André Luiz Bernardes  eBook: Série Data Science: Big Data, Como? - Autor: André Luiz Bernardes

eBook: Série Smarter Analytic: 5 Previsões de Big Data - Autor: André Luiz Bernardes


Conheça também:

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 Piece of Cake

Séries Donut


Comente e compartilhe este artigo!


brazilsalesforceeffectiveness@gmail.com

ODBC - O que é ? What´s ODBC ?

Veja também:| Blog Office VBA | Blog Excel | Blog Access    |
 
Introdução
O ODBC (Open Database Connectivity) é um padrão aberto de API (Application Programming Interface) para acesso a Banco de Dados.

Em 1992, a Microsoft contratou a Simba para construir o primeiro driver ODBC do mundo; SIMBA.DLL, e então os acessos padronizados à bases de dados comuns nasceu.

Ao usar declarações (statements) ODBC numa aplicação ou sistema, poderá acessar arquivos em diferentes bases de dados. Além do software ODBC, um módulo separado ou driver é necessário para cada banco de dados acessado, geralmente este é distribuido pelos desenvolvedores do Banco de Dados (Oracle, DB2, Informix, SQL Server, My SQL, Paradox, etc).

História
A Microsoft introduziu este padrão 1992. O ODBC foi um padrão desenvolvido com o propósito de unificar o acesso às bases de dados SQL.

Seguindo o sucesso do ODBC, A Microsoft introduziu o OLE DB que era um padrão mais amplo de acesso aos dados. Este ia além dos bancos de dados SQL, estendendo-se a qualquer fonte de dados que fornecesse dados em formato tabular.

O plano da Microsoft era o de que o OLE DB suplantaria o ODBC como o padrão mais comum de acesso a dados. Mais recentemente, a Microsoft introduziu o padrão de acesso a dados ADO.

O ADO deveria ir ainda mais longe do que o OLE DB. devido ao ADO ser orientado a objeto, no entanto, mesmo com as exaustivas tentativas  da Microsoft para substituir o padrão ODBC com o que considerava "melhores" alternativas, o ODBC continua a ser o padrão de acesso a dados de fontes  SQL.

De fato, hoje o padrão ODBC é mais comum do que o OLE DB e do que o ADO porque o ODBC é mais amplamente suportado (incluindo suporte da Oracle e IBM), interpolando plataformas padrões de acesso a dados.


Visão Geral
O ODBC, de fato, tornou-se o padrão para bases de dados relacionais e não relacionais (SGBD). A Simba trabalhou em estreita colaboração com a Microsoft para co-desenvolver o padrão ODBC no início dos anos 90. O padrão ODBC permite o máximo de interoperabilidade propiciando assim que os desenvolvedores de aplicativos escrevamr um único pedido de acesso a fontes de dados para diferentes fornecedores. ODBC é baseado no Call-Level Interface (CLI) especificações do Open Group e ISO / IEC para APIs de banco de dados e usa Structured Query Language (SQL) como sua linguagem de acesso a banco de dados.
Arquitetura ODBC odbcjdbcst.gif
Ativando aplicação ODBC Trata-se de qualquer aplicação compatível com ODBC, como o Microsoft Excel, o Crystal Reports, Microsoft Access, ou algo semelhante (planilha, processador de texto, acesso a dados e Retrievable Tool, etc.) O aplicativo ODBC habilitado executa o processamento, passando instruções SQL recebendo os do driver gerenciador de ODBC. ODBC Driver Manager O gerenciador de Drivers ODBC carrega e descarrega drivers ODBC no nome de um aplicativo. A plataforma Windows vem com um gerenciador de driver padrão, enquanto plataformas não-Windows têm a opção de usar um open source ODBC Driver Manager como o unixODBC e iODBC ou um gestor de controladores ODBC comercial. O gerenciador de de Drivers ODBC processa chamadas de função ODBC, ou passa-as para um driver ODBC resolvendo quaisquer conflitos de versão do ODBC. Driver ODBC
O driver ODBC processa as chamadas de função ao ODBC, submete pedidos SQL para uma fonte de dados específica e retorna resultados para a aplicação. O driver ODBC pode também modificar uma solicitação  da aplicação para que o pedido respeita a sintaxe suportada pelo banco de dados associado. Comercial drivers ODBC, ou uma estrutura para criar facilmente um driver ODBC, estão disponíveis de fabricantes como Simba Technologies.

Fonte de Dados
A fonte de dados consiste em dados que o usuário deseja acessar e seu sistema de gerenciamento de banco de dados. InAnyPlace03.gif

VBA Excel - Formatação de Data e Hora - Format Date and Time in MS Excel.

Quase todos os projetos e aplicações que utilizam o MS Excel envolvem Datas e Horários de alguma forma. Um projeto talvez precise determinar o número de dias entre duas datas, ou determinar em que dia da semana cai lá no futuro; uma planilha de projetos talvez necessite determinar o tempo decorrido entre o início e o final das etapas, ou determinar quantas horas são horas extras.

Antes de poder tirar partido do poder de algumas funções de Data e Hora, precisa entender como o MS Excel armazena datas e horas. Independentemente de como tenha formatado uma célula para exibir uma data ou hora, o MS Excel sempre as armazenará da mesma forma.

Como o MS Excel armazena as Datas e Horas:

O MS Excel armazena datas e horas, como um número que representa o número de dias desde 0-Jan-1900, mais uma parte fracionária de um dia de 24 horas: ddddd.tttttt. Isso é chamado de Serial Date (data de série) ou de Serial Date-Time (Série de Data-Tempo).

Datas
A porção inteira do número, ddddd, representa o número de dias desde 0-Jan-1900. Por exemplo, a data 19-Jan-2000 é armazenado como 36.544, 36.544 dias já se passaram desde 0-Jan-1900. O número 1 representa 1-Jan-1900. Entenda-se que o número 0 não representa 31-Dez-1899. Se usar a função mês com a data 0, retornará Janeiro e não Dezembro. Além disso, a função retornará ANO como 1900 e não como 1899.

Na verdade, esse número é maior do que o número real de dias. Isso ocorre porque o  MS Excel comporta-se como se a data de 29-Fev-1900 tivesse existido. O ano de 1900 não foi um ano bissexto (ano de 2000 é um ano bissexto). No  MS Excel, um dia após 28-Fev-1900 é 29-Fev-1900. Na realidade, o dia depois de 28-Fev-1900 é 01-Mar-1900. Isso não é um Bug (erro), na verdade, foi desenhado assim. O  MS Excel funciona dessa maneira porque este realmente era um erro no Lotus 123. Quando o  MS Excel foi desenvolvido e introduzido no mercado, o Lotus 123 tinha quase todo o mercado de software de planilha eletrônica. A Microsoft decidiu continuar com o bug do Lotus, a fim de torná-lo totalmente compatível. Os usuários que passaram do Lotus 123 para o  MS Excel não tiveram de fazer quaisquer ajustes e/ou alterações em seus dados. Enquanto todas as datas forem até 01-Mar-1900, esta não deve ser de nenhuma preocupação.


No MS Excel temos uma função que retorna um valor formatado...Veremos aqui algumas formas para retornar a formatação de Datas:

        Format ( expressão, [ formato, [ firstdayofweek, [firstweekofyear] ] ] )
expressão é o valor para o formato.


formato é opcional. É o formato para aplicar a expressão. Podemos definir nosso próprio formato ou usar um dos formatos nomeados que o MS Excel tem pré-definido, tais como: General Date   Exibe a data com base nas configurações do seu sistema. Long Date       Mostra a data com base no Long Date configurado no sistema Medium Date  Exibe a data com base no Medium Date configurado no sistema Short Date     Mostra a data com base no Short Date configurado no sistema Long Time     Exibe a data com base no Long Time configurado no sistema Medium Time  Mostra a data com base no Medium Time configurado no sistema Short Time     Exibe a data com base no Short Time configurado no sistema firstdayofweek [primeirodiadasemana] é opcional. É um valor que especifica o primeiro dia da semana. Se este parâmetro for omitido, a função Format assume que o Domingo é o primeiro dia da semana. Este parâmetro pode ser um dos seguintes valores: Constante      Valor     Explanação vbUseSystem     0        Usa a configuração da API NLS. VbSunday          1        Domingo (É o default, se o parâmetro for omitido). vbMonday           2        Segunda-feira. vbTuesday          3        Terça-feira. vbWednesday     4        Quarta-feira. vbThursday         5        Quinta-feira. vbFriday             6        Sexta-feira. vbSaturday         7        Sábado. firstweekofyear [primeirasemanadoano] é opcional. É um valor que especifica a primeira semana do ano. Se este parâmetro for omitido, a função Format assume que a semana que contém 1 de janeiro é a primeira semana do ano. Este parâmetro pode ser um dos seguintes valores: Constante      Valor     Explanação vbUseSystem     0        Usa a configuração da API NLS. vbFirstJan1         1        A semana que contém 1º de Janeiro. vbFirstFourDays  2        A primeira semana que contiver 4 dias no Ano. vbFirstFullWeek  3        A primeira semana cheia do Ano. Aplica-se ao: MS Office Excel 2007 MS Office Excel 2003 MS Office Excel XP MS Office Excel 2000 Exemplo: Format (#05/02/2007#, "Short Date") Retornará: '05/02/2007' Format (#05/02/2007#, "Long Date") Retornará: 'Februry 05, 2007' Format (#05/02/2007#, "yyyy/mm/dd") Retornará: '2007/05/02' Codificação VBA: Function TitleCaption()         ' Author:                            Date:                       Contact:                             URL:         ' André Bernardes             23/03/2010 09:17    bernardess@gmail.com     http://al-bernardes.sites.uol.com.br/         ' Atualiza o título no FORM.         ' Listening: GreensLeeves - Mozart         Let Me.Caption = ":. " & Format (Now(), "Long Date") & " - " & Right (Now(), 8) End Function Algumas Funções com Datas e Horas: Overtime Hours In Timesheets Quarter, Determining From Date Rounding Times Thanksgiving, Calculation Of Date Times, Adding And Subtracting Times And Working Hours, Between Two Dates Times, Quick Entry Times, Rounding Timesheets, Working With Regular And Overtime Hours Time Zones

Week, First Monday Of

Week Numbers, Excel and ISO Weekday, Counting Between Dates

Weekday, First And Last Of Month Weekday, Nth Day Of Month (VBA) Weekday, Nth Day Of Month (Formula) Weekdays, Creating Series Of Weeks, Difference Between Dates Year, First Monday Of Years, Entering Two Digit Years

Date Intervals, Formulas For Dates, Adding And Subtracting Dates,  Differences Between  Dates, Distributing Across Months Or Years Dates, Excel Serial Format Dates, Finding With VBA .Find Method Dates, Quick Entry Dates, Two Digit Years Day Of Week, Nth Day Of Week (VBA) Day Of Week, Nth Day Of Week In A Month (Formula) 

Day Of Week, Returning Nth Day Of Week In A Year (Formula)

Days In Month, First And Last Days In Month DATEDIF Function Degrees, Minutes, And Seconds Easter, Calculation Of Date Holidays, Calculation Of Dates Julian Dates

Last Weekday Of Month Leap Year, Determining

Age, Calculating Birthdays And Age

Holidays

Julian Dates

Latitude And Longitude 

Overtime Hours And Timesheets

Time Zones In VBA

VBA Procedures For Dates And Times

Week Numbers

Worksheet Functions For Dates And Times

Adding Months And Years

The DATEDIF Function

Date Intervals

Dates And Times

Date And Time Entry

Date And Time Arithmetic

Distributing Dates Over Intervals

VBA: Função que retorna idade.

|Blog Office VBA |Blog Excel |Blog Access |
 
Dashboards & Scorecards
 

Como retornar a idade a partir da data do Nascimento?
Public Function AnosdeIdade(ByVal datBirthDate As Date) As Integer
On Error GoTo PROC_ERR

Dim intYears As Integer

Let intYears = Year (Now) - Year (datBirthDate)

If DateSerial(Year(Now), Month(datBirthDate), Day(datBirthDate)) > Now Then Let intYears = intYears - 1 ' Subtract a year if birthday hasn't arrived this year
End If

Let AnosdeIdade = intYears

PROC_EXIT:
Exit Function

PROC_ERR:
MsgBox "Erro: Nº" & Err.Number & ". " & Err.Description, , "AnosdeIdade"

Resume PROC_EXIT End Function
Dash-006.jpg  Dash-018.jpg  Dash-028.jpg
diHITT - Notícias