access将SQL语句从查询复制到VBA

2019-10-21 15:52:00
Allen Browne
翻译
205

在access vba中,因为要对表中数据的操作,编写代码经常需要调用SQL语句。

我们通常不会在VBA代码中键入复杂的查询语句,而是在查询的设计视图中创建一个查询,将其切换到SQL视图,复制并粘贴到VBA中。

但是如果sql语句太长,我们需要折行,同时要整理引号和行尾



1. 创建一个新窗体,添加一个选项卡控件,的第一页中,添加一个未绑定的文本框,名为“txtSql”。
2. 在选项卡控件的第二页,添加另一个未绑定的文本框,将其命名为“txtVBA ”。
3. 最后添加命令按钮,将其命名为“cmdSql2Vba”。



详细按钮代码:

Private Sub cmdSql2Vba_Click()

    Dim strSql As String
    'Purpose:   Convert a SQL statement into a string to paste into VBA code.
    Const strcLineEnd = " "" & vbCrLf & _" & vbCrLf & """"
    
    If IsNull(Me.txtSql) Then
        Beep
    Else
        strSql = Me.txtSql
        strSql = Replace(strSql, """", """""")  'Double up any quotes.
        strSql = Replace(strSql, vbCrLf, strcLineEnd)
        strSql = "strSql = """ & strSql & """"
        Me.txtVBA = strSql
        Me.txtVBA.SetFocus
        RunCommand acCmdCopy
    End If

End Sub



    分享