`
阿_剛
  • 浏览: 9391 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

VBA SQL文ログ出力を解析するツール

 
阅读更多
Option Explicit
Dim MyDataObject As DataObject

Private Sub CommandButton1_Click()
    Dim sqlOrg, sqlWithParams, PARAMSYMPOL, QUOTER As String
    Dim params() As String
    Dim i As Integer
    PARAMSYMPOL = "?"
    QUOTER = "'"
    sqlOrg = TextBox1.Text
   
    params = Split(TextBox2.Text, ",")
    For i = 0 To UBound(params)
        Dim tempParam As String
        tempParam = QUOTER + LTrim(params(i)) + QUOTER
        sqlOrg = Replace(sqlOrg, PARAMSYMPOL, tempParam, 1, 1)
    Next i
    TextBox3.Text = SQLConvert(sqlOrg) 'sqlOrg
    CommandButton2_Click
End Sub

Private Sub CommandButton2_Click()
If TextBox3.Text <> "" Then
    'クリップボードにコピーする
    Set MyDataObject = New DataObject
    MyDataObject.SetText TextBox3.Text
    MyDataObject.PutInClipboard
End If
End Sub

Private Sub CommandButton3_Click()
    TextBox1.Text = ""
    TextBox2.Text = ""
    TextBox3.Text = ""
End Sub

Private Sub CommandButton4_Click()

End Sub
 

Function SQLConvert(StrOrg)
    Dim tempStrSQL As String
    Dim index As Integer
    Dim vbSpace As String
    vbSpace = Chr(32)

'    index = InStr(1, StrOrg, Chr(10), 0)
'    index = InStr(1, StrOrg, Chr(13), 0)
'    index = InStr(1, StrOrg, "SELECT" + vbSpace, 0)
    While InStr(1, StrOrg, vbSpace + vbSpace, 0) > 0
        StrOrg = Replace(StrOrg, vbSpace + vbSpace, vbSpace)
    Wend
   
    StrOrg = Replace(StrOrg, vbNewLine, "")
    StrOrg = Replace(StrOrg, vbCr, "")
    StrOrg = Replace(StrOrg, "SELECT" + vbSpace, vbLf + "SELECT" + vbLf + vbTab)
    StrOrg = Replace(StrOrg, vbSpace + "FROM" + vbSpace, vbLf + "FROM" + vbLf + vbTab)
    StrOrg = Replace(StrOrg, vbSpace + "WHERE" + vbSpace, vbLf + "WHERE" + vbLf + vbTab)
    StrOrg = Replace(StrOrg, vbSpace + "ORDER" + vbSpace + "BY" + vbSpace, vbLf + "ORDER" + vbSpace + "BY" + vbLf + vbTab)
    StrOrg = Replace(StrOrg, vbSpace + "UNION" + vbSpace + "ALL" + vbSpace, vbLf + "UNION" + vbSpace + "ALL")
    StrOrg = Replace(StrOrg, vbSpace + "UNION" + vbSpace, vbLf + "UNION")
    StrOrg = Replace(StrOrg, vbSpace + "LEFT" + vbSpace + "JOIN" + vbSpace, vbLf + "LEFT JOIN" + vbLf + vbTab)
    StrOrg = Replace(StrOrg, vbSpace + "LEFT" + vbSpace + "OUTER" + vbSpace + "JOIN" + vbSpace, vbLf + "LEFT OUTER JOIN" + vbLf + vbTab)
    StrOrg = Replace(StrOrg, vbSpace + "LEFT" + vbSpace + "JOIN" + vbSpace, vbLf + "LEFT JOIN" + vbLf + vbTab)
    StrOrg = Replace(StrOrg, vbSpace + "RIGHT" + vbSpace + "OUTER" + vbSpace + "JOIN" + vbSpace, vbLf + "RIGHT OUTER JOIN" + vbLf + vbTab)
    StrOrg = Replace(StrOrg, vbSpace + "RIGHT" + vbSpace + "JOIN" + vbSpace, vbLf + "RIGHT JOIN" + vbLf + vbTab)
    StrOrg = Replace(StrOrg, vbSpace + "INNER" + vbSpace + "JOIN" + vbSpace, vbLf + "INNER JOIN" + vbLf + vbTab)
    StrOrg = Replace(StrOrg, vbSpace + "ON" + vbSpace, vbLf + "ON" + vbTab)
       
    StrOrg = Replace(StrOrg, vbSpace + "AND" + vbSpace, vbLf + "AND" + vbTab)
    StrOrg = Replace(StrOrg, vbSpace + "OR" + vbSpace, vbLf + "OR" + vbTab)
    StrOrg = Replace(StrOrg, vbSpace + "AS" + vbSpace, vbTab + vbTab + "AS" + vbTab)
    'StrOrg = Replace(StrOrg, vbSpace + "WHERE" + vbSpace, vbLf + "WHERE" + vbLf + vbTab)


    'StrOrg = Replace(StrOrg, "\\s*RIGHT\\s*OUTER\\s*JOIN\\s*", "\\n\\tRIGHT OUTER JOIN\\t\\t")
    'StrOrg = Replace(StrOrg, "\\s*RIGHT\\s*JOIN\\s*", "\\n\\tRIGHT JOIN\\t\\t")
    'StrOrg = Replace(StrOrg, "\\sAND\\s", "\\nAND\\t")
    'StrOrg = Replace(StrOrg, "\\sOR\\s", "\\nOR\\t")
    'StrOrg = Replace(StrOrg, "\\sAS\\s", "\\tAS\\t\\t")
    StrOrg = Replace(StrOrg, vbSpace + ",", vbLf + vbTab + ",")
       
    SQLConvert = StrOrg
End Function
分享到:
评论

相关推荐

    vba-sql-Excel.rar_Excel VBA_SQL VBA_VBA SQL_sql excel_sql server

    在IT领域,Excel VBA(Visual Basic for Applications)与SQL Server的交互是常见的数据处理技术。Excel VBA允许用户自定义Excel的功能,而通过VBA连接到SQL Server数据库,则可以实现对大量数据的高效管理和分析。...

    Excel使用VBA链接SQL全部实例

    Excel 使用 VBA 链接 SQL 全部实例 在 Excel 中使用 VBA 链接 SQL 数据库是非常常见的应用场景。通过使用 VBA,可以实现在 Excel 中执行 SQL 查询,实现数据的交互和处理。本文将详细介绍如何使用 VBA 链接 SQL ...

    Excel VBA+SQL 数据管理与应用模板开发.rar

    在Excel VBA(Visual Basic for Applications)和SQL(Structured Query Language)的结合使用中,我们可以创建高效、自动化的数据管理与应用模板。这样的模板对于处理大量数据和执行复杂的计算任务非常有用,尤其在...

    VBA+SQL数据处理

    ### VBA+SQL 数据处理详解 #### 一、概述 在现代办公环境中,尤其是在数据分析领域,结合使用 VBA(Visual Basic for Applications)与 SQL(Structured Query Language)进行数据处理是一种非常高效的方法。VBA ...

    Excel VBA SQL 语句 范例

    Excel VBA SQL 语句范例 本资源摘要信息主要介绍 Excel VBA 中使用 SQL 语句进行数据处理的技巧和方法。该资源提供了两个实例,第一个实例展示了如何使用 SQL 语句从 Excel 文件中提取数据,并将结果复制到另一个...

    VBA连接SQLSERVER数据库实例.doc

    在本文中,我们将深入探讨如何使用VBA(Visual Basic for Applications)通过ADO(ActiveX Data Objects)连接到SQL Server数据库并执行数据查询。这个过程在Excel中尤其常见,因为VBA是Excel内置的编程环境,允许...

    Excel_VBA+ADO+SQL入门教程看见星光.docx

    Excel VBA+ADO+SQL 入门教程 Excel VBA+ADO+SQL 是一种强大的数据处理和分析工具,能够帮助用户快速高效地处理和分析大量数据。下面是对 Excel VBA+ADO+SQL 的详细介绍和应用。 一、认识 SQL SQL(Structured ...

    VBA+SQLServer跨电脑读写数据传输.zip

    本资源"VBA+SQLServer跨电脑读写数据传输.zip"提供了一个详细的方法,利用Visual Basic for Applications(VBA)和Microsoft SQL Server来实现在不同计算机之间的数据交互。这种技术能够有效地提升工作效率,确保...

    Excel_VBA+ADO+SQL入门教程_-_汇总.pdf

    首先,必须严肃脸说明的是,对于普通 Excel 使用者而言,VBA、SQL 以及以 后提及的 ADO 并不是非学不可的,非学不可的是基础操作、函数、透视表、图表…… 然而大数据时代,对于另外相当一部分表族而言,Excel 用...

    VBA连接SQL数据库的代码

    ### VBA连接SQL数据库的代码知识点解析 #### 一、VBA与SQL数据库连接的基本原理 在本案例中,我们探讨的是如何通过VBA(Visual Basic for Applications)来实现与SQL Server数据库的有效连接及数据查询操作。对于...

    EXCEL 常用SQL语句解释+VBA 完全手册

    在IT领域,Excel是一款广泛应用的数据处理工具,而SQL和VBA是增强其功能的两种关键技术。Excel中的SQL(Structured Query Language)允许用户对数据进行高效检索、管理与分析,而VBA(Visual Basic for Applications...

    UMLによるオブジェクト指向分析入門.pdf

    このフローチャートは一連の段階を示しており、それぞれのステップが前後のステップと連携しながら進行する。特にアーキテクチャの分析と洗練はユースケースの分析と緊密に連携し、反復的なプロセスを通じてアーキテ...

    word vba 如何连接sql数据库

    Word VBA 连接 SQL 数据库详解 VBA(Visual Basic for Applications)是微软公司开发的一种编程语言,广泛应用于 Office 软件中,如 Word、Excel、PowerPoint 等。VBA 可以与数据库集成,实现数据交互和处理。本文...

    VBA常用技巧解析(全卷).zip

    本压缩包包含四卷关于VBA常用技巧的解析,每卷以独立的.exe可执行文件形式存在,这可能意味着它们是交互式的教程或演示程序,方便用户直接操作学习。 以下是一些关键的VBA知识点,这些内容可能会在这些资源中有所...

    EXCEL vba批量上传文件至SQL表

    自定义修改:数据库地址、sa账户密码、数据库表名,表字段可自定义添加(必须和数据库表字段相同)

    vba自动生成sql

    vba自动生成sql

    非常好的Excel_VBA_SQL语句

    非常好的Excel_VBA_SQL语句,可以利用SQL语句完成Excel中的数据检索、加、减等操作。

    Excel+vba通用SQL查询输出器源码

    Excel+vba通用SQL查询输出器源码 用于对Excel表格的SQL查询,被SQL操作的Excel表格必须有表头,作为类似数据库的字段,并位于表格第一行,SHEET1名称被指定时请注意替换默认的from后的表名称。

    VBA_SQL.rar_vba_SQL

    在这个名为“VBA_SQL.rar_vba_SQL”的压缩包中,包含了一个用VBA编写的程序,其主要目的是帮助用户学习如何在VBA环境中构建和执行SQL语句。 该程序的核心文件是“构造SQL语句.mdb”,这表明它是一个Access数据库...

Global site tag (gtag.js) - Google Analytics