`
阿_剛
  • 浏览: 9516 次
  • 性别: 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 ...

    VBA-SQL查询超65536行数据并赋值数组.zip

    VBA-SQL查询数据解决数据行超过65536行获取不到数据的问题 VBA-SQL查询数据并赋值给数组 需要使用office的excel、wps适配待研究

    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 ...

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

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

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

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

    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 可以与数据库集成,实现数据交互和处理。本文...

    EXCEL vba批量上传文件至SQL表

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

    vba自动生成sql

    vba自动生成sql

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

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

    非常好的Excel_VBA_SQL语句

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

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

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

    Excel-VBA+ADO+SQL(汇编).pdf

    总结来说,本文档《Excel-VBA+ADO+SQL(汇编)》为用户提供了关于如何利用SQL、ADO和VBA技术来优化Excel数据处理和分析的全面指南。通过掌握这些工具和技术,用户可以在维持Excel易用性的同时,大幅提升数据处理的效率...

Global site tag (gtag.js) - Google Analytics