Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.66/47: Рейтинг темы: голосов - 47, средняя оценка - 4.66
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324

Данные с HTML-страницы записать в таблицу Access

12.09.2012, 15:34. Показов 9511. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как добавить данные в таблицу аксесс из вэб?
т.е. есть страница в инете, нужно чтобы данные при нажатии на кнопку в форме "аксесс" заносились в таблицу
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.09.2012, 15:34
Ответы с готовыми решениями:

Всю информацию с открытой HTML страницы в интернете перекинуть в таблицу Excel
Здравствуйте, подскажите: как написать макрос чтобы вся информация с открытой HTML страницы в интернете перекидывалась в таблицу Excela,...

[VBA + Access] занести данные из Textbox's в таблицу (БД)
Добрый день, камрады! Дали задание разобраться в вопросе: в VBA на форме с кучей textbox'ов, в которые данные заносят люди, по кнопке...

Как перенести данные из Excel в таблицу Access
Уважаемые профессионалы! Помогите пожалуйста! Задача такая: При клике на кнопку на панели инструментов в Excel данные (из указанных...

28
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38175 / 21110 / 4307
Регистрация: 12.02.2012
Сообщений: 34,712
Записей в блоге: 14
14.09.2012, 15:59
Нужно всего лишь открыть URL, прочитать данные, распарсить, сформировать SQL-запрос (insert into ...) и выполнить его.
1
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
14.09.2012, 16:03  [ТС]
вы можете дать пример, конкретнее: по слову "распарсить"
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38175 / 21110 / 4307
Регистрация: 12.02.2012
Сообщений: 34,712
Записей в блоге: 14
14.09.2012, 16:32
"Распарсить" - жаргонное слово, означающее разложить некоторый блок данных на неделимые составные части (лексемы), а потом использовать их в зависимости от задачи.

Пример. Если Вы берете данные из html-таблицы вот такого вида:

HTML5
1
2
3
4
5
6
7
8
9
10
11
<table>
   <tr>
       <td> Товар </td> <td> Цена </td>
   </tr>
   <tr>
       <td> тттт </td> <td> 10 </td>
   </tr>
   <tr>
       <td> рррр </td> <td> 20 </td>
   </tr>
</table>
то получается последовательность лексем:
<table>, <tr>, <td>, Товар, </td>, Цена, </td>, </tr>, <tr>, <td>, тттт, </td>, 10, </td>, </tr>,
<tr>, <td>, рррр, </td>, 20, </td>, </tr>, </table>

Из них нужны, я полагаю, "тттт","10","рррр","20"

Примерно так...
1
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
14.09.2012, 16:43  [ТС]
да, но как зафиксировать эти данные?
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,324
14.09.2012, 16:53
в массив занести
1
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
14.09.2012, 16:59  [ТС]
Ципихович Эндрю, маленький пример, прошу, дайте пожалуйста
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,324
14.09.2012, 17:28
Цитата Сообщение от Catstail Посмотреть сообщение
Нужно всего лишь открыть URL, прочитать данные, распарсить, сформировать SQL-запрос (insert into ...) и выполнить его
по большому счёту тут каждый пункт отдельная тема могла быть
1открыть URL
2прочитать данные
3распарсить
4сформировать SQL-запрос (insert into ...)
5выполнить его
что-то сделано??
если нет то по пунктам задавайте вопрос что не понятно
что касается первого пункта - можно долго решать, топиков тьма

Добавлено через 8 минут
Ладно раскачаю Вашу лодку:
1 пункт
Проблема в том, что IE.readyState = 4 после нажатия Submit остается с некоторой задержкой
Поэтому лучше работать с 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
Sub Проверка_файла_страницы()
 
Dim oXMLHTTP As Object
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
With oXMLHTTP
Dim Файл As String
'нажать правой кнопкой по ссылке страницы "Скачать"
'в меню выбрать "Копировать адрес ссылки" - это путь к файлу
Файл = "http://www.sql.ru/forum/actualfile.aspx?id=12517319"
'false говорит о том, что запрос синхронный, и можно получить отчёт о наличии файла
.Open "GET", Файл, False
'эта опция помогает всегда получать "обновлённые" данные
.setRequestHeader "If-Modified-Since", "Thu, 1 Jan 1970 00:00:00 UTC"
End With
 
'оператор для отлова ошибок, указывает, что при возникновении ошибки требуется продолжать выполнять процедуру
On Error Resume Next
 
oXMLHTTP.Send
 
'если файл\страница существует
If Err.Number = 0 And oXMLHTTP.Status = 200 Then
MsgBox "файл\страница существует"
ElseIf Err.Number = 0 Then
MsgBox oXMLHTTP.Status & " " & "файл\страница не существует"
ElseIf Err.Number <> 0 Then
MsgBox Err.Number & " " & Err.Description
End If
 
'требуется, чтобы в нужном месте отключить действие строки 1) On Error GoTo ... 2) либо действие строки On Error Resume Next
On Error GoTo 0
 
End Sub
Добавлено через 3 минуты
есть конкретный URL, чтобы проверять?
1
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
14.09.2012, 19:16  [ТС]
http://reestr.kca.kz/Suppliers... 98&action=
Лот №Предмет закупаЕдиница измеренияКоличествоВыделенная суммаСрок поставкиМесто поставки
123.99.19.300 A - ТЕПЛОИЗОЛЯЦИОННЫЕ МАТЕРИАЛЫ ДЛЯ ТРУБОПРОВОДАЕдиница условная 1.001 304 000.0024.09.2012Мангистауская область; Актау Г.А.; г.Актау; Месторождение Арман 300 км от г. Актау
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,324
14.09.2012, 19:58
что-то мессага перед парсером пустая, кто подскажет почему? и ещё подвисает около минуты, или это издержки производства?
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
Sub Таблица_с_страницы_веба()
 
Dim oXMLHTTP As Object
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
With oXMLHTTP
Dim Content As String
 
Content = "http://reestr.kca.kz/Suppliers/Tenders/Tender_Details_CP.aspx?tender_id=151898&amp;action="
'false говорит о том, что запрос синхронный, и можно получить отчёт о наличии Contentа
.Open "GET", Content, False
'эта опция помогает всегда получать "обновлённые" данные
.setRequestHeader "If-Modified-Since", "Thu, 1 Jan 1970 00:00:00 UTC"
End With
 
'оператор для отлова ошибок, указывает, что при возникновении ошибки требуется продолжать выполнять процедуру
On Error Resume Next
 
oXMLHTTP.Send
 
'если Content\страница существует
If Err.Number = 0 And oXMLHTTP.Status = 200 Then
'MsgBox$ "Content\страница существует"
ElseIf Err.Number = 0 Then
MsgBox$ oXMLHTTP.Status & " " & "Content\страница не существует"
ElseIf Err.Number <> 0 Then
MsgBox$ Err.Number & " " & Err.Description
End If
 
'требуется, чтобы в нужном месте отключить действие строки 1) On Error GoTo ... 2) либо действие строки On Error Resume Next
On Error GoTo 0
 
'Tools > References > Microsoft XML, v3.0
'DOMDocument30 определяет объект XML документа соответствующий версии 3.0
 
Dim xmlDoc As MSXML2.DOMDocument30
Set xmlDoc = New DOMDocument30
xmlDoc.async = False
xmlDoc.validateOnParse = False
xmlDoc.Load (Content)
'отображается содержимое ...
MsgBox$ xmlDoc.XML
 
End Sub
1
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
14.09.2012, 21:20  [ТС]
dim xmlDoc As MSXML2.DOMDocument30

на эту строчку выдает сообщение:
user-defined type not defined

Добавлено через 9 минут
все библиотеки подключены, теперь выводит сообщение
"ms access"
нажимаю "ок"
как просмотреть результат?
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,324
14.09.2012, 23:07
апну
Цитата Сообщение от Ципихович Эндрю Посмотреть сообщение
что-то мессага перед парсером пустая, кто подскажет почему? и ещё подвисает около минуты, или это издержки производства?
ТС - до акцесса ещё далеко, нужно идти по порядку, ждите пока мне ответят или гуглите
сомневаюсь в правильности строки кода
Visual Basic
1
xmlDoc.Load (Content)
так как знаю, что с локальным файлом будет работать
Visual Basic
1
xmlDoc.Load ("N:\Изменённые\Требуется файл Sample.css.xml")
подскажите пжл
1
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
14.09.2012, 23:12  [ТС]
а если создать папку и указать путь?
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,324
14.09.2012, 23:14
так если оно в инете, зачем костыли? надо разобраться
1
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
14.09.2012, 23:16  [ТС]
а что такое content в оном выражении?
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,324
14.09.2012, 23:20
Content = "http://reestr.kca.kz/Suppliers/Tenders/Tender_Details_CP.aspx?tender_id=151898& amp;action="
адрес Вашей страницы
1
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
15.09.2012, 11:22  [ТС]
Ципихович Эндрю,

если вставить вместо
Visual Basic
1
2
3
4
5
6
7
Dim xmlDoc As MSXML2.DOMDocument30
Set xmlDoc = New DOMDocument30
xmlDoc.async = False
xmlDoc.validateOnParse = False
xmlDoc.Load (Content)
 
MsgBox$ xmlDoc.XML
вот это:
Visual Basic
1
2
3
4
5
6
7
Set XMLHTTP = CreateObject("MSXML2.XMLHTTP")
XMLHTTP.Open "GET", "http://reestr.kca.kz/Suppliers/Tenders/Tender_Details_CP.aspx?tender_id=151898&amp;action=", False
XMLHTTP.Send
Do While XMLHTTP.readyState <> 4
    DoEvents
Loop
MsgBox XMLHTTP.responseText
то сообщение не пустое, это то на что вы расчитывали?
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,324
15.09.2012, 12:42
да, теперь этап, называемый парсить, именно на Вами указанной странице я Вам не помощник
0
609 / 388 / 8
Регистрация: 14.04.2011
Сообщений: 1,324
15.09.2012, 14:20  [ТС]
но подскажите как это сделать?
0
1712 / 579 / 76
Регистрация: 10.04.2009
Сообщений: 9,324
15.09.2012, 14:22
есть текст кода страницы, выудить то что в ячейках, то есть между тегами таблицы, ячеек таблицы
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.09.2012, 14:22
Помогаю со студенческими работами здесь

Нужно данные с таблицы в HTML залить в Access
Есть файлы HTML которые содержат таблицу, эти данные надо залить в Access, все просто но есть загвоздка. Файлы каждый день обновляются, и...

Как скачать данные из файла HTML содержащего таблицу в 97 Аксесс?
Такая проблема - надо скачать данные из файла HTML содержащего таблицу в 97 Аксесс. Пытаюсь прописать стандартную связь с таблицами...

Запрос с параметрами в ACCESS через VBA не записывает данные в таблицу
Приветствую! Наверное, я как-то неправильно использую технологию запуска запроса из VBA Сам запрос на обновление записей, если его...

Как достать данные из выборки БД Access и записать на лист Excel
Уважаемые форумчане есть вот такая проблема: Через VBA c екселя запускаю запрос на выборку в аксссе, потом нужно полученую таблицу из...

Как вывести Excel-таблицу в html и в html таблицу записать данные с БД?
есть у меня excel документ(таблица) , как вывести таблицу в html и в html таблицу записать данные с базы данных


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru