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

PIECE OF CAKE - Criando Tabelas no SQL Server a partir do MS Excel - Create SQL Server Tables from Excel Data – Free Tool

https://goo.gl/e3uj3J

Bem, tenho algum tempo livre e vou aproveitar para compartilhar uma ferramenta que me ajuda muito em meus compromissos com clientes.

Os trabalhos que desenvolvo, muitas vezes me obriga a lidar com base de dados existentes dentro de aplicações desenvolvidas com o MS Excel. Isso significa manipular dados em tabelas pré-existentes do Excel, os quais, ficam melhor gerenciáveis no SQL Server.

Se já teve que fazer isso antes, sabe que é uma dor de fazer. Por isso, gostaria de compartilhar uma ferramenta para ajudar a criar tabelas SQL Server a partir de dados no Excel.

Primeiro de tudo, precisa baixar essa ferramenta aqui.

O código é aberto por isso, se quiser olhar e torná-lo melhor, fique à vontade. A ferramenta em si é bastante fácil de usar.

1. Cole seus dados na primeira folha.

2. Pressione o botão Data Capture



Isso ativará uma nova folha de dados, mostrando os campos capturados convertidos para a nomenclatura SQL válida com os tipos de dados válidos do SQL Server. Essa ferramenta fará o seu melhor para prever os tipos de dados mais corretos, bem como evitar erros comuns, como caracteres inválidos e nomes de campos duplicados.

3. Na nova folha, poderá editar os nomes dos campos sugeridos, bem como os tipos de dados. Também poderá selecionar as chaves primárias e adicionar quaisquer valores padrão que desejar.

4. Pressione o botão Gerar SQL.



Uma nova caixa de diálogo será ativada.

5. Digite um nome para a nova tabela e, em seguida, clique no botão Gerar SQL.


6. Neste ponto, verá a instrução CREATE TABLE:



Se tudo o que precisar for uma estrutura da tabela do Excel, poderá usar simplesmente este código no SQL Server para criar sua tabela.

Se for um usuário avançado com direitos de CREATE no servidor, poderá usar outras opções mais avançadas.

7. Se deseja que a ferramenta para crie a tabela e enviar os dados, bem como, digitar a string de conexão com o servidor.

8. Selecione as opções apropriadas.

9. Clique no botão Executar:



Aqui está um vídeo rápido no YouTube mostrando a ferramenta em ação.

Esta ferramenta, certamente pode ajudá-lo a poupar toneladas de tempo.

#A&A #PIECEOFCAKE #POC #VBA #Tabelas #SQLServer #SQL #MS #MSExcel #Tables #Excel #Data

Consulte-nos
⬛◼◾▪ Social Media ▪◾◼⬛
• FACEBOOK • TWITTER • INSTAGRAM • TUMBLR • GOOGLE+ • LINKEDIN • PINTEREST

⬛◼◾▪ Blogs ▪◾◼⬛ 


⬛◼◾▪ CONTATO ▪

PIECE OF CAKE - Notação Húngara

https://goo.gl/fwpdjL

A Notação Húngara é uma convenção de codificação que muitos programadores usam para (presumivelmente) tornar seu código mais compreensível.

Trata-se do uso de prefixos nos nomes das variáveis ​​com um tipo de código que descreve o “tipo” de variável que está usando no código.

Por exemplo, se a variável for um objeto Range, você teria o nome de variável rngSomeName.

Prefixar o nome da variável com RNG permite que o leitor do código saiba imediatamente que o tipo de variável é um intervalo.

Abaixo colocamos uma tabela de alguns objetos do Excel e sua respectiva notação comumente usada ​​num acordado universalmente aceito de Notação Húngara.



Pessoalmente passei por períodos em que realmente tentei usar a notação húngara. Mas inevitavelmente abandonei este esforço. Por quê?

Principalmente porque eu simplesmente não gosto de ser incomodado. Quero dizer, não estou construindo o próximo PayPal aqui. A maior parte do que escrevo em meus códigos são para eu mesmo descobrir o que fiz.

Além disso, minhas declarações de variáveis ​​estão razoavelmente perto do ponto onde vou usá-las, então posso rapidamente olhar para a declaração, se for preciso.


E

Até certo ponto, como um comentarista escreveu sobre estouro de pilha: VUsing adjHungarian nNotation vMakes nReading nCode adjDifficult


Também pensei que seria divertido listar meu sistema pessoal e surpreendente de variáveis ​​de nomeação. Tente não desmaiar ofuscado.

Sou um velho cansado de ​​45 anos de idade (e esta tabela realmente mostra isso).

Talvez, um dia, chegue a uma convenção de nomenclatura séria que vá mudar a face da programação. Embora, isso não seja provável.

Sinta-se livre para compartilhar qualquer pensamento sobre quaisquer convenções de nomenclatura que use.



#A&A #PIECEOFCAKE #POC #VBA #NotaçãoHúngara #Notação #variáveis #Variável #Convenção #Excel #Nomenclatura



Comente e compartilhe este artigo!
⬛◼◾▪ Social Media ▪◾◼⬛
• FACEBOOK • TWITTER • INSTAGRAM • TUMBLR • GOOGLE+ • LINKEDIN • PINTEREST

⬛◼◾▪ Blogs ▪◾◼⬛ 

⬛◼◾▪ CONTATO ▪

PIECE OF CAKE - A&A - Dados ou Informações?



As empresas em todo o mundo estão completamente permeadas de Dados oriundos de diversas fontes distintas, muitos destes consolidados em enormes bases de dados Big Data em Cloud. E apesar do fácil acesso a estes, têm dificuldades em obter as necessárias Informações para tornar as suas decisões mais relevantes.


Não é menos verdade, nem tão pouco raro, o fato de que em muitas reuniões parte dos presentes estejam munidos de Dados e não de Informações relevantes. Sim, muitos têm acesso aos seus próprios Dados de A a Z, mas estes encontram-se completamente desprovidos de conteúdo, pois não contém nem a abrangência necessária e tão pouco a diversificação apropriada, que lhes propiciem a dinamicidade na análise, que os levem a ter insights.


    Em alguns casos as empresas têm acesso a um grande amontoado de dados distribuídos em seus servidores. Geralmente estão reunidos em acrônimos como BIMISData Warehouse ou cubos OLAP. Mas quem tem medindo sua utilização e eficácia?

    Pergunte-se: Como as ferramentas podem ser úteis em si mesmas, se não houver quem as melhore, se não houver quem as submetam a avaliações regulares?

    Informação, algo que agrega, aponta e antecipa, é preciosa e deve ser obtida de forma rápida e exata.

    Geralmente encontraremos KPIs (Indicadores de Performance) totalmente desalinhados com as estratégias da empresa. Quando a questão é reunir diferentes informações, traduzindo-as nas estratégias e targets esperados, torna-se um desafio para a grande maioria dos executivos realinhar um amontoado de Dados.

    Nosso compromisso é o de desvelar seus objetivos estratégicos e táticos em Informações, através de uma clara visão compartilhada. Queremos trazer à tona informações enterradas em seus sistemas legados e aplicações desatualizadas.

    A diversidade das bases de dados nas quais as informações encontram-se são variáveis. O verdadeiro desafio ocorre no momento de consolidá-los em Dashboards e Scorecards. Tudo precisa ser reunido e consolidado de modo coerente e sucinto.


    Os BSCs - Balanced Scorecards - traduzem a missão e a estratégia da empresa num conjunto abrangente de medidas de desempenho que servem como base para o sistema de medição e gestão estratégica, perseguindo os objetivos financeiros, incluindo os vetores de desempenho desses objetivos. O BSC oferece aos executivos uma poderosa ferramenta para a obtenção de informações extremamente relevantes às tomadas de decisões.


    O grande dilema é: Mesmo cercado por Dados de todas as origens, como posso obter Informações relevantes para minhas decisões?


    #A&A #Balanced Scorecards #BSCs #Dados #Dashboards #Datawarehouse #dinamicidade na análise #informações #insights #OLAP #PIECE OF CAKE #POC #Scorecards



    Defina a Latitude e a Longitude - Find Latitude and Longitude of any address using Google Map API and VBA


    VBA Excel - Traduzindo Planilhas - MS Excel VBA Script to Translate worksheets using the Google Translate API
    VBA Excel - Traduzindo Planilhas - MS Excel VBA Script to Translate worksheets using the Google Translate API

    Excel - Manipule o Google Maps em sua Planilha - Put a Google Map in your Spreadsheet
    Excel - Manipule o Google Maps em sua Planilha - Put a Google Map in your Spreadsheet

    Convertendo Texto em Imagem - Convert Text to an Image using the VBA Windows API
    Convertendo Texto em Imagem - Convert Text to an Image using the VBA Windows API

    Correção de Métricas - For Subscripts, Superscripts and Common Typos
    Correção de Métricas - For Subscripts, Superscripts and Common Typos

    MS Access - Cinco Formas Manuais de Reparo
    MS Access - Cinco Formas Manuais de Reparo

    MS Access e MS Word - Técnica de Automação
    MS Access e MS Word - Técnica de Automação

    Microsoft Access - Removendo Prefixo das Tabelas
    Microsoft Access - Removendo Prefixo das Tabelas

    Sempre Use Stored Procedures - Always Use Stored Procedures
    Sempre Use Stored Procedures - Always Use Stored Procedures

    A&A - Dados ou Informações?
    A&A - Dados ou Informações?


    ⬛◼◾▪ Social Media ▪◾◼⬛
    • FACEBOOK • TWITTER • INSTAGRAM • TUMBLR • GOOGLE+ • LINKEDIN • PINTEREST

    ⬛◼◾▪ Blogs ▪◾◼⬛ 


    ⬛◼◾▪ CONTATO ▪

    PIECE OF CAKE - Sempre Use Stored Procedures - Always Use Stored Procedures


    Todos temos muitos dados no MS Excel que queremos guardar em nossas tabelas do banco de dados SQL Server, por exemplo. Faço muito isso, e a maneira CORRETA de fazê-lo é criando uma Proc - Stored Procedure - para cada operação, executando-as a partir do VBA.

    Mas também existe a maneira mais RÁPIDA de se fazer, e também a menos correta, construindo uma cadeia de código String SQL, executando-a. Mas, como pôde imaginar pelo título, escolhi a maneira CORRETA, certo? Errado, escolhi a maneira RÁPIDA e por isso estamos aqui, para aprender com os erros.

    Aqui estão, ambas as formas. A mais longa (e CORRETA) e a mais curta (e RÁPIDA) de se fazer isso.


    Para ajudar, como sempre acontece, alguns números tinham sido formatados como datas. Havia algum código que se parecia com isso:
    vaData = lo.DataBodyRange.ValuesSql = "INSERT INTO Blend (ManifestID) VALUES (" & vaData(i,1) & ")"adConn.Execute sSql

    O campo ManifestID é um BIGINT e vaData (i, 1) um campo com valores no formato 4/15/2023. Mas no campo ManifestID continha valores como 45031, alguém (eu) se confundiu, com a data, que perdeu a formatação. Assim, percebi que várias dezenas de entradas colocaram zero no campo ManifestID. O SQL Server obedientemente executou 2023/04/15, fazendo uma divisão (dividindo 4 por 15, dividido por 2023), surgindo diversos zeros, que foram colocados nos campos.

    Depois de alguma auto-flagelação, me perguntava se uma Proc teria pego esse erro. Conclui que ao tentar passar uma data como parâmetro para o BIGINT, o código teria dado errado e teria evitado toda essa confusão. Mas estava errado. Em vez disso, a Proc teria convertido a data para o seu valor inteiro - ao invés de dividí-lo como no método SQL String. O Excel armazena datas com números de dias desde 1899/12/31. E isso não é tudo, pois tenho certeza de que o SQL Server não armazena dessa forma. E como o ADO ou T-SQL sabem que precisam convertê-lo dessa forma?

    Assim, fiz um teste. Primeiro criei uma tabela:

    CREATE TABLE [dbo].[TestDateBigInt]( [c1] [BIGINT] NULL

    Depois criei uma Proc para inserir registros:

    CREATE PROCEDURE [dbo].[spTestDateBigInt] @BigInt AS BIGINTAS    INSERT  INTO dbo.TestDateBigInt            ( c1 )    VALUES  ( @BigInt  -- c1 - bigint              )

    Então escrevi algum código para inserir linhas:

    Sub TestDateBigInt()
        
        Dim cn As ADODB.Connection
        Dim cmd As ADODB.Command
        Dim pm As ADODB.Parameter
        Dim rs As ADODB.Recordset
        Dim sSql As String
        Dim i As Long
        Dim vaFormats As Variant
        Dim vaData As Variant
        
        On Error GoTo ErrH
        
        Set cn = New ADODB.Connection
        cn.Open msCONN
        
        Let vaFormats = Split("General m/d/yyyy")
        
        For i = 0 To 1
            'Change the format
            Let Sheet1.Range("G1").NumberFormat = vaFormats(i)
            Let vaData = Sheet1.Range("G1:G2").Value
            'Insert record
            Let sSql = "INSERT INTO TestDateBigInt (c1) VALUES (" & vaData(1, 1) & ")"
            cn.Execute sSql
            
            'Insert record via stored procedure
            Set cmd = New ADODB.Command
            Let cmd.ActiveConnection = cn
            Let cmd.CommandText = "spTestDateBigInt"
            Let cmd.CommandType = adCmdStoredProc
            Set pm = cmd.CreateParameter("@BigInt", adBigInt, adParamInput)
            Let pm.Value = Sheet1.Range("G1").Value
            cmd.Parameters.Append pm
            
            cmd.Execute
        Next i
        
    ErrH:
        On Error Resume Next
            Set rs = cn.Execute("SELECT * FROM TestDateBigInt")
            Debug.Print rs.GetString

            rs.Close
            cn.Close

            Set rs = Nothing
            Set cmd = Nothing
            Set cn = Nothing    
    End Sub

    No código, defini dois formatos gerais para a matriz: m / d / aaaa. Ao percorrer essa matriz e aplicar os formatos da célula G1 onde estão os número inteiros insuspeitos.

    Na primeira passagem, ele é formatado como geral, aparecendo como um número inteiro adequado. Então preparei a string INSERT INTO SQL e a executei logo após a conexão. Assim, ainda dentro do loop, faço tudo da maneira certa: Crio um objeto, adiciono um parâmetro, e o executo.

    Na segunda iteração do loop, a célula G1 fica formatada como data, e então, tudo acontece novamente.


    Estava esperando um erro, então tinha um manipulador de erros que mostraria toda a tabela sempre que algo não ocorresse bem. Mas tudo ocorreu bem. Foi muito bem executado.
    4500045000045000

    Com o número inteiro formatado, tanto o método SQL String como o método Proc inserem os dados corretamente. 

    Fiquei feliz por compreender todo o código mais claramente e ter aprendido a lição, prometendo sempre usar Procs como um bom menino.


    #A&A #ADO #MSEXCEL #EXCEL #PIECEOFCAKE #SQL #SQLServer #SQLString #StoredProcedures #TSQL #VBA #POC


    Defina a Latitude e a Longitude - Find Latitude and Longitude of any address using Google Map API and VBA


    VBA Excel - Traduzindo Planilhas - MS Excel VBA Script to Translate worksheets using the Google Translate API
    VBA Excel - Traduzindo Planilhas - MS Excel VBA Script to Translate worksheets using the Google Translate API

    Excel - Manipule o Google Maps em sua Planilha - Put a Google Map in your Spreadsheet
    Excel - Manipule o Google Maps em sua Planilha - Put a Google Map in your Spreadsheet

    Convertendo Texto em Imagem - Convert Text to an Image using the VBA Windows API
    Convertendo Texto em Imagem - Convert Text to an Image using the VBA Windows API

    Correção de Métricas - For Subscripts, Superscripts and Common Typos
    Correção de Métricas - For Subscripts, Superscripts and Common Typos

    MS Access - Cinco Formas Manuais de Reparo
    MS Access - Cinco Formas Manuais de Reparo

    MS Access e MS Word - Técnica de Automação
    MS Access e MS Word - Técnica de Automação

    Microsoft Access - Removendo Prefixo das Tabelas
    Microsoft Access - Removendo Prefixo das Tabelas

    Sempre Use Stored Procedures - Always Use Stored Procedures
    Sempre Use Stored Procedures - Always Use Stored Procedures

    A&A - Dados ou Informações?
    A&A - Dados ou Informações?

    Consulte-nos

    ⬛◼◾▪ Social Media ▪◾◼⬛
    • FACEBOOK • TWITTER • INSTAGRAM • TUMBLR • GOOGLE+ • LINKEDIN • PINTEREST

    ⬛◼◾▪ Blogs ▪◾◼⬛ 


    ⬛◼◾▪ CONTATO ▪
    Related Posts Plugin for WordPress, Blogger...

    Vitrine

    diHITT - Notícias