gpt4 book ai didi

json - 将 JSON 提要自动解析到 MS Access 中

转载 作者:行者123 更新时间:2023-12-04 12:40:28 24 4
gpt4 key购买 nike

我的公司有一个供应商提供 JSON 数据源,我需要每两小时将其加载到我们的 MS Access 数据库中。我需要:

  • 从提要中加载数据,
  • 将 JSON 解析为 Access 可用的格式,然后
  • 将其插入数据库。

  • 我遇到了 this question讨论了一个类似的问题,但是没有关于如何在 MS Access 中实现这个的很好的描述。任何帮助感激不尽!

    最佳答案

    使用 VBA JSON库,您当然可以将 JSON 格式的文件导入 MS Access。这个想法是将 JSON 数据视为字典的集合,Visual Basic 提供了 collectiondictionary作为数据结构。

    以下是步骤:

  • 构建一个表以匹配预期 JSON 数据的结构
  • 在 MS Access 的 VBA IDE 端,将 JsonConverter.bas(来自上面的链接)导入新模块
  • 仍然在 IDE 中,在 Tools/References 下,勾选 VBA Reference: Microsoft Scripting Runtime
  • 包括以下代码,该代码读取 JSON 文本文件,将其解析为字典集合(带有键和值),并将值迭代地附加到 Access 表中。将代码放在 Access 表单或模块后面(示例使用一个嵌套级别的 JSON 文件)

  • JSON
    [
    {
    "col1": somenumber,
    "col2": "somestring",
    "col3": "somestring",
    "col4": "somestring",
    "col5": "somestring"
    }
    ]

    VBA代码
    Private Function JSONImport()
    Dim db As Database, qdef As Querydef
    Dim FileNum As Integer
    Dim DataLine As String, jsonStr As String, strSQL As String
    Dim p As Object, element As Variant

    Set db = CurrentDb

    ' READ FROM EXTERNAL FILE
    FileNum = FreeFile()
    Open "C:\Path\To\JsonFile.json" For Input As #FileNum

    ' PARSE FILE STRING
    jsonStr = ""
    While Not EOF(FileNum)
    Line Input #FileNum, DataLine

    jsonStr = jsonStr & DataLine & vbNewLine
    Wend
    Close #FileNum
    Set p = ParseJson(jsonStr)

    ' ITERATE THROUGH DATA ROWS, APPENDING TO TABLE
    For Each element In p
    strSQL = "PARAMETERS [col1] Long, [col2] Text(255), [col3] Text(255), " _
    & "[col4] Text(255), [col5] Text(255); " _
    & "INSERT INTO TableName (col1, col2, col3, col4, col5) " _
    & "VALUES([col1], [col2], [col3], [col4], [col5]);"

    Set qdef = db.CreateQueryDef("", strSQL)

    qdef!col1 = element("col1")
    qdef!col2 = element("col2")
    qdef!col3 = element("col3")
    qdef!col4 = element("col4")
    qdef!col5 = element("col5")

    qdef.Execute
    Next element

    Set element = Nothing
    Set p = Nothing
    End Function

    关于json - 将 JSON 提要自动解析到 MS Access 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30510570/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com