VBA代码在Excel中粘贴SQL查询,其中NULL值粘贴为" NULL"

时间:2018-04-30 20:46:28

标签: sql vba

以下是我在Excel中运行和发布查询结果的代码。代码将NULL粘贴为0.我希望NULL为a 粘贴为" NULL"。我认为某种类型的粘贴值可以起作用,或者从#34; .QueryTable"中更改我的表格。可能有帮助。我不知道该怎么做。有什么建议吗?

    'Import Data
    With queryOutputWS.ListObjects.Add(SourceType:=0, Source:=Array(Array( _
        "ODBC;DRIVER=SQL Server;SERVER=W51SQP-********;Trusted_Connection=Yes;APP=Microsoft Office 2010" _
        ), Array(";DATABASE=*****")), Destination:=queryOutputWS.Range("A1")).QueryTable
        .CommandText = myQuery
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = False
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = False
        .RefreshPeriod = 0
        .PreserveColumnInfo = False
        .ListObject.DisplayName = "Query"
        .Refresh BackgroundQuery:=False
    End With
    queryOutputWS.ListObjects("Query").Unlist

1 个答案:

答案 0 :(得分:1)

我认为更改SQL查询而不是VBA代码更容易。如果您稍后发布查询代码,我可以看看我在想什么,但是,你可以试试这个:

假设您要查询和更改值的列名为Column1

在您的查询中,将SELECT [...,] Column1 [,...] FROM ...更改为:

SELECT [...,] IIF(Column1 IS NULL, 'NULL', Column1) [,...] FROM...

如果有帮助,请告诉我!