Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/26: Рейтинг темы: голосов - 26, средняя оценка - 4.88
1 / 1 / 0
Регистрация: 21.07.2011
Сообщений: 28

Получение данных из внешних источников.

10.02.2012, 16:46. Показов 4895. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Задаче надо получать курсы валют ЦБ. Для этого существуют открытые ресурсы (например на сайте ЦБ можно составить запрос и получить ответ в формате xml).
Метод ImportXML даёт ошибку.
Помогите, пожалуйста, написать функцию, которая бы по дате и валюте бегала бы на какой-нибудь ресурс и возвращала бы требуемый курс.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.02.2012, 16:46
Ответы с готовыми решениями:

Линк данных Access-Excel, Получение данных с внешних источников
Описание задачи: Есть некая база в Аксесе, данные с которой выгружаются в ексель с помощью линка. Т.е. в екселе организован метод...

Извлечение данных из различных источников
Привет. Столкнулась с такой проблемой. Нужно проверить список ( в форме) и если он полон очистить, перед тем как написать новый....

Поиск из нескольких источников данных
Добрый день, не могли бы Вы помочь с решением казалось простой задачи.... Имеется 2 таблицы неоходимо создать поиск по символьно по ним с...

6
 Аватар для ironegg
1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
14.02.2012, 09:03
Цитата Сообщение от mklokov Посмотреть сообщение
Метод ImportXML даёт ошибку
выложи БД. из XML данные можно не только импортом получать.

Не по теме:

поставь себя на наше место. ничего не понять: какая ошибка, какой XML. хорошо хоть ссылку на сайт дал.

0
1 / 1 / 0
Регистрация: 21.07.2011
Сообщений: 28
14.02.2012, 16:06  [ТС]
Да, действительно. Высылаю кусок базы, отвечающий за курсы.
В автозапуске открывается главная форма, которая при получении фокуса лезет в табличку курсов и, если курс на сегодня не найден, открывает форму с курсами, введи, мол.
Вложения
Тип файла: rar db.rar (91.5 Кб, 88 просмотров)
0
 Аватар для ironegg
1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
15.02.2012, 20:33
Цитата Сообщение от mklokov Посмотреть сообщение
Метод ImportXML даёт ошибку
не нашел в вашей бд кода относящегося к XML??

этот пример с сайта цбр не подходит?
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Dim xmldoc As MSXML.DOMDocument
Dim xmlNode As MSXML.IXMLDOMNode
Dim node_attr As MSXML.IXMLDOMAttribute
 
Private Sub Command1_Click()
 
  Set xmldoc = CreateObject("Msxml.DOMDocument")
  xmldoc.async = False
  url_request = "http://www.cbr.ru/имярек/XML_daily.asp?date_req=" + Trim(Text1.Text)
' загружаем документ по url
If Not xmldoc.Load(url_request) = True Then
MsgBox ("Документ не загружен")
 
Exit Sub
End If
Set NodeList = xmldoc.selectNodes("ValCurs")
Set xmlNode = NodeList.Item(0).cloneNode(True)
' ищем атрибут с датой документа (будет найден последний документ от заданной даты)
Set node_attr = xmlNode.Attributes(0)
XDate = node_attr.Value
 
 
 
Set NodeList = xmldoc.selectNodes("*/Valute")
' осуществляем цикл по валютам и ищем нужную валюту
For iIndex = 0 To NodeList.length - 1
      Set xmlNode = NodeList.Item(iIndex).cloneNode(True)
        
        Set node_attr = xmlNode.Attributes(0)
            If node_attr.Value = Trim(Text2.Text) Then
            ' Найден долар США
            ' Получаем значение
                result = xmlNode.childNodes(4).Text
            ' Получаем название валюты
                res_caption = xmlNode.childNodes(3).Text
 
                MsgBox ("Результат: " + result + "  (" + res_caption + ") на " + XDate)
            End If
Next
Set xmldoc = Nothing
 
 
End Sub
у мня он в прципе работает... или вам нужен готовенький код с рюшечками?
2
1 / 1 / 0
Регистрация: 21.07.2011
Сообщений: 28
16.02.2012, 16:03  [ТС]
Большое спасибо!
Попробую разобраться в Вашем коде и, в случае успеха, рюшечки приделаю сам)
В противном случае попрошу дополнительных объяснений.

Добавлено через 5 часов 46 минут
Цитата Сообщение от ironegg Посмотреть сообщение
Dim xmldoc As MSXML.DOMDocument
Dim xmlNode As MSXML.IXMLDOMNode
Dim node_attr As MSXML.IXMLDOMAttribute
У меня Access не знает типа MSXML
Но с помощью отладчика и "бубна" удалось получить работоспособный код из Вашей программы.
Привожу его здесь, может кому пригодится.
То, что пришлось исправить, не удалил, а закомментировал.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
'Dim xmldoc As MSXML.DOMDocument
'Dim xmlNode As MSXML.IXMLDOMNode
'Dim node_attr As MSXML.IXMLDOMAttribute
 
Private Sub Кнопка0_Click()
 
  Set xmldoc = CreateObject("Msxml.DOMDocument")
  xmldoc.async = False
  url_request = "http://www.cbr.ru/scripts/XML_daily.asp?date_req=" + Trim(Text1)
' загружаем документ по url
If Not xmldoc.Load(url_request) Then
    MsgBox ("Документ не загружен")
    Exit Sub
End If
Set NodeList = xmldoc.selectNodes("ValCurs")
Set xmlNode = NodeList.Item(0).cloneNode(True)
' ищем атрибут с датой документа (будет найден последний документ от заданной даты)
Set node_attr = xmlNode.Attributes(0)
XDate = node_attr.Value
 
Set NodeList = xmldoc.selectNodes("*/Valute")
' осуществляем цикл по валютам и ищем нужную валюту
    For iIndex = 0 To NodeList.length - 1
        Set xmlNode = NodeList.Item(iIndex).cloneNode(True)
        
        Set node_attr = xmlNode.Attributes(0)
'Поле Text2 должно содержать краткое наименование валюты (USD, EUR, etc...)
'            If node_attr.Value = Trim(Text2) Then
            If xmlNode.childNodes(1).Text = Trim(Text2) Then
            ' Найден долар США
            ' Получаем значение
                result = xmlNode.childNodes(4).Text
            ' Получаем название валюты
                res_caption = xmlNode.childNodes(3).Text
 
                MsgBox ("Результат: " + result + "  (" + res_caption + ") на " + XDate)
            End If
    Next
    Set xmldoc = Nothing
End Sub
0
 Аватар для ironegg
1905 / 782 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
16.02.2012, 16:56
Цитата Сообщение от mklokov Посмотреть сообщение
Вашем коде
это копипаста из примера на сайте цбр
Цитата Сообщение от mklokov Посмотреть сообщение
У меня Access не знает типа MSXML
вероятно, не подключена соответствующая библиотека. вообще, при опробывании примера я тоже пользовался поздним связыванием
0
1 / 1 / 0
Регистрация: 21.07.2011
Сообщений: 28
16.02.2012, 17:12  [ТС]
Цитата Сообщение от ironegg Посмотреть сообщение
вероятно, не подключена соответствующая библиотека.
Такое подключение не изменило ситуацию. Так, или иначе, работает. Ещё раз спасибо.
Миниатюры
Получение данных из внешних источников.  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.02.2012, 17:12
Помогаю со студенческими работами здесь

Получение значений из внешних источников по ethernet
Доброго времени суток. Подскажите, как получить данные извне, последовательность действий или.. даже не знаю что именно. Есть блок...

Подтягивание данных из внешних источников
Все добрый вечер! Недавно столкнулся с таким вопросом: Имеется обычное html-письмо и таблица Экселя на Диске Гугл. От меня потребовали,...

Импорт данных в SQL 2000 из внешних источников
Как импортировать данные типа Date из внешней таблицы.(Paradox Dbase mdb).Проблема возникает, когда дата либо маленькая,либо большая...

Как настроить получение данных из источников в Интернете
Добрый день! Никак не могу решить задачу и очень надеюсь на Вашу помощь. У меня есть таблица-эксель (во вложении). Мне необходимо,...

Как определить уровень внешних источников (в децибеллах), используя bass.dll?
Подскажите пожалуйста как определить децибелы с помощью библиотек bass.dll.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru