Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2011, 21:17   #1
yuran111
Пользователь
 
Регистрация: 28.03.2011
Сообщений: 33
По умолчанию как с чужого сайта вытянуть таблицу, чтобы отсортировать ее по столбцам?

как с этого сайта http://cat.konfiskat.by/catalog_hard.php вытянуть таблицу в access со всех 135 страниц сразу? раньше этого не делал и уже полдня даже не понимаю с чего начать? спасибо.
yuran111 вне форума Ответить с цитированием
Старый 28.03.2011, 23:10   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

чтобы не трогать DOM
На скорую руку на коленке написано.Работает,сам даже не знаю как
Код:
Sub GO()
For L = 1 To 135
DoEvents
Dim Tex As String
Tex = Replace(GetHTTPResponse("http://cat.konfiskat.by/catalog_hard.php?page=" & L), "  ", "")
fff2 = Split(Tex, "td>Место реализации</td>")(1)
Tex = Replace(fff2, "<td>", "")
Tex = Replace(Tex, "<tr>", "")
fff = Split(Tex, "/table>")(0)
ff = Split(fff, "</tr>", -1)
For n = 0 To UBound(ff) - 1
On Error Resume Next
f = Split(ff(n), "</td>", -1)
F1 = f(0)
F2 = f(1)
F3 = f(2)
F4 = f(3)
F5 = f(4)
Next: Next
End Sub
Function GetHTTPResponse(ByVal sURL As String) As String
    On Error Resume Next
    Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
    With oXMLHTTP
        .Open "GET", sURL, False
        .send
        sHTMLBody = .responseBody
    End With
    For i = 0 To UBound(sHTMLBody)
        GetHTTPResponse = GetHTTPResponse & ChrW(AscW(Chr(AscB(MidB(sHTMLBody, i + 1, 1)))))
    Next
    Set oXMLHTTP = Nothing
End Function
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 30.03.2011, 22:34   #3
yuran111
Пользователь
 
Регистрация: 28.03.2011
Сообщений: 33
По умолчанию

doober спасибо большое, что не пожалел свое время и помог мне, я 4 года назад как любитель писал себе на кабельное для базы абонентов и бухгалтерии, поэтому не помню толком - почему то я добавляю записи в таблицу - обновляю, туда -сюда по записям, они в таблице есть, но не видны - может там эти квадратики перед текстом мешают - в чем может быть причина? access 2007.
yuran111 вне форума Ответить с цитированием
Старый 31.03.2011, 03:46   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

А если проявить солдатскую смекалку
Код:
F5 = Replace(Replace(Replace(f(4), Chr(10), ""), Chr(9), ""), Chr(13), "")
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 31.03.2011, 17:28   #5
yuran111
Пользователь
 
Регистрация: 28.03.2011
Сообщений: 33
По умолчанию

doober спасибо все работает, последний вопрос - опять застрял, а реально ли подбирать высоту строки в подчиненной ленточной форме например, чтобы помещался весь текст, а то по некоторым позициям в поле наименования товара большая очень длина? что то поиском попадаю только на отчеты.
yuran111 вне форума Ответить с цитированием
Старый 31.03.2011, 18:01   #6
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
Сообщение от yuran111 Посмотреть сообщение
doober спасибо все работает, последний вопрос - опять застрял, а реально ли подбирать высоту строки в подчиненной ленточной форме например, чтобы помещался весь текст, а то по некоторым позициям в поле наименования товара большая очень длина? что то поиском попадаю только на отчеты.
Это не ко мне.Я файлы mdb использую в своих программах для хранения данных.
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 31.03.2011, 18:37   #7
yuran111
Пользователь
 
Регистрация: 28.03.2011
Сообщений: 33
По умолчанию

ну разберусь сам потиху - спасибо большое
yuran111 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц