Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何在Json字符串中隐藏没有记录的控件_Arrays_Json_Vba - Fatal编程技术网

Arrays 如何在Json字符串中隐藏没有记录的控件

Arrays 如何在Json字符串中隐藏没有记录的控件,arrays,json,vba,Arrays,Json,Vba,如果Ms Access记录源显示空白/空记录,我需要一些帮助,以确保Json字符串中的某些控件不应出现在字符串上。请参见下文: [ { "ItemNumber": 1, "SalesDate": "2019-09-14", "ProductName": "Pepsi (Rgb 350 ML)", "BarCode": "6009803227328", "Qty": 165, "Price": 53.5, "

如果Ms Access记录源显示空白/空记录,我需要一些帮助,以确保Json字符串中的某些控件不应出现在字符串上。请参见下文:

[
   {
      "ItemNumber": 1,
      "SalesDate": "2019-09-14",
      "ProductName": "Pepsi (Rgb 350 ML)",
      "BarCode": "6009803227328",
      "Qty": 165,
      "Price": 53.5,
      "VAT": Null
      "TotalPrice": 10239.9
   },
假设MS Access记录源中的VAT控制为空/空,则字符串应如下所示:

[
   {
      "ItemNumber": 1,
      "SalesDate": "2019-09-14",
      "ProductName": "Pepsi (Rgb 350 ML)",
      "BarCode": "6009803227328",
      "Qty": 165,
      "Price": 53.5,
      "TotalPrice": 10239.9
   },
请看看是否有可能解决这个问题

下面是提供Json字符串的实际VBA代码示例。假设税务类别B为空/空白,而不是在数组中显示null,我不希望它在此处显示任何内容:

 Tax.Add DLookup("TaxClassA", "QryJson", "InvoiceID =" & Me.InvoiceID & " AND ItemesID =" & CStr(i))
    Tax.Add DLookup("TaxClassB", "QryJson", "InvoiceID =" & Me.InvoiceID & " AND ItemesID =" & CStr(i))

如果您只想在值不为null或为空时将其添加到Tax,则在调用Tax.add之前检查这些条件

Dim myvar As Variant

    myvar = DLookup("TaxClassB", "QryJson", "InvoiceID =" & Me.InvoiceID & " AND ItemesID =" & CStr(i))
    If Not IsNull(myvar) Then
        If Len(myvar) > 0 Then
            Tax.Add myvar
        End If
    End If

注意:从记录中逐个获取一组值是一种缓慢的方法。您可能希望查看DAO(或ADO,具体取决于应用程序),它允许您一次获取整个记录。

如果不知道如何创建JSON,很难回答您的问题。请澄清?Json的记录源是一个Ms access参数查询,Json模块作为VBA中的参数进行转换。请编辑问题