xmlnode 代码不起作用 - Access vba

标签 xml ms-access vba geocoding

我正在使用 Access 2010,并尝试反转地理编码。我想指定一个经纬度位置,然后将结果显示在列表框中。我有一个带有列表框和命令按钮的表单。命令按钮具有以下 onclick 事件:(我有 X 出我的纬度\经度地址:-) )

Dim XMLDoc As New DOMDocument
Dim XMLNode As IXMLDOMNode
Dim i As Long
Dim lat As Double, lng As Double


XMLDoc.Load "http://maps.googleapis.com/maps/api/geocode/xml?latlng=XX.XX,-X.XX&sensor=false"


Do Until XMLDoc.ReadyState = 4
DoEvents
Loop

If Len(XMLDoc.Text) = 0 Then
    Call MsgBox("No data!")
    Exit Sub
End If

Set XMLNode = XMLDoc.selectSingleNode("/GeocodeResponse/result/formatted_address")

For i = 0 To XMLNode.childNodes.length - 1

Me.List1.AddItem Item = XMLNode.childNodes(i).baseName & ": " & XMLNode.childNodes(i).Text

Next i

但是,当我单击命令按钮时,列表框中仅填充单词“False”。如果我将 http://maps.googleapis.com/maps/api/geocode/xml?latlng=XX.XX,-X.XX&sensor=false 粘贴到浏览器中,我确实会得到合法的结果。

我错过了什么?

最佳答案

此代码评估名为 Item 的变量是否等于字符串 “foo”,并将该表达式的值指定为新的列表框项。

Me.lstNew.AddItem Item = "foo"

如果表单的代码模块在其声明部分中包含 Option Explicit,Access 将提醒您变量 Item 未定义。这将是问题所在的早期线索。始终在所有代码模块中包含 Option Explicit

要将 Item 识别为选项名称,请使用 := 而不是 =

Me.lstNew.AddItem Item:="foo"

关于xmlnode 代码不起作用 - Access vba,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26530527/

相关文章:

security - 如何在 Access 2007 中实现用户级安全性

vba - Excel:比较两个范围并删除重复的单元格值

vba - 从 For-Next 循环中前进到下一项

java - 使用 xstream 读取列表值

android - 菜单栏中未显示的菜单项

ios - 快速处理 XML 解析响应

ms-access - 前端数据库的捷径是否明智?

sql - 两列去重

mysql - VBA脚本从MySql数据库读取时出现问题

ruby-on-rails - 在 Rails 中处理 JSON 或 XML