Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Функция HyperlinkPart делает обрезание. Только мне?:((( / 21 сообщений из 21, страница 1 из 1
15.03.2004, 20:49
    #32442595
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция HyperlinkPart делает обрезание. Только мне?:(((
В таблице гипертекстовое поле с погаными длинными гиперссылками на файлы. Обращаюсь к составляющим поля:
Код: plaintext
1.
address = HyperlinkPart(rst.Fields(fld.Name), acAddress)
dtext = HyperlinkPart(rst.Fields(fld.Name), acDisplayText)

На длинных ссылках получаю Debug.print:
Код: plaintext
1.
dtext=        O:\PROJ\Kristall\5_Distrib\Email\Ask_contacts\feedback\CIC_Lyonnais_KRISTALLsyndicated_pre-export_facilityhtm_Your_invitation_to_participate.htm
address=      O:\PROJ\Kristall\5_Distrib\Email\Ask_contacts\feedback\CIC_Lyonnais_KRISTALLsyndicated_pre-export_facilityhtm_

хотя сами ссылки рабочие, т.е. кликая выходим на файл.
Может есть ограничения по длине гиперссылки для этой функции?
...
Рейтинг: 0 / 0
15.03.2004, 20:54
    #32442597
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция HyperlinkPart делает обрезание. Только мне?:(((
Хех... Лифчик, ты этой шутки ожидаешь, знаю, но все равно удержаться не могу... :)
Твоя проблема означает только то, что функция HyperlinkPart кошерная :)
...
Рейтинг: 0 / 0
15.03.2004, 20:58
    #32442601
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция HyperlinkPart делает обрезание. Только мне?:(((
helpThe HyperlinkPart method returns information about data stored as a Hyperlink data type. The data in a Hyperlink field can contain up to four parts in the following format:

displaytext#address#subaddress#screentip
Полагаю, что у тебя в рекордсете стринг обрезан по то место, которое я отметил красным.
...
Рейтинг: 0 / 0
15.03.2004, 21:00
    #32442604
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция HyperlinkPart делает обрезание. Только мне?:(((
Лифчик, спорим, у тебя поле имеет длину 255 символов? :^)))
...
Рейтинг: 0 / 0
15.03.2004, 21:04
    #32442605
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция HyperlinkPart делает обрезание. Только мне?:(((
Вот твой стринг. Для удобства чтения делю на более короткие строки, но это одна строка:

O:\PROJ\Kristall\5_Distrib\Email\Ask_contacts\feedback\
CIC_Lyonnais_KRISTALLsyndicated_pre-export_facilityhtm_Your_invitation_to_participate.htm
#
O:\PROJ\Kristall\5_Distrib\Email\Ask_contacts\feedback\
CIC_Lyonnais_KRISTALLsyndicated_pre-export_facilityhtm_

Причем:

O:\PROJ\Kristall\5_Distrib\Email\Ask_contacts\feedback\
CIC_Lyonnais_KRISTALLsyndicated_pre-export_facilityhtm_Your_invitation_to_participate.htm

- было возвращено как acDisplayText,

O:\PROJ\Kristall\5_Distrib\Email\Ask_contacts\feedback\
CIC_Lyonnais_KRISTALLsyndicated_pre-export_facilityhtm_

- было возвращено как acAddress.
...
Рейтинг: 0 / 0
15.03.2004, 21:17
    #32442611
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция HyperlinkPart делает обрезание. Только мне?:(((
Саныч - в таблице поля Hyperlink в описании длины не имеют(не могу найти!)
А в то, что рекордсет оказался обрезанным - охотно верю.
Вот запрос
Код: plaintext
1.
2.
3.
4.
5.
6.
SELECT DISTINCT AttachmentPath,AttachmentPath1,AttachmentPath2,AttachmentPath3,AttachmentPath4,
AttachmentPathEng,AttachmentPathEng1,AttachmentPathEng2,AttachmentPathEng3,AttachmentPathEng4
FROM MailLists WHERE ((Len(Hyperlinkpart(AttachmentPath, 2 ))> 0 )) OR ((Len(Hyperlinkpart(AttachmentPath1, 2 ))> 0 ))
OR ((Len(Hyperlinkpart(AttachmentPath2, 2 ))> 0 )) OR ((Len(Hyperlinkpart(AttachmentPath3, 2 ))> 0 ))
OR ((Len(Hyperlinkpart(AttachmentPath4, 2 ))> 0 )) OR ((Len(Hyperlinkpart(AttachmentPathEng, 2 ))> 0 ))
OR ((Len(Hyperlinkpart(AttachmentPathEng1, 2 ))> 0 )) OR ((Len(Hyperlinkpart(AttachmentPathEng2, 2 ))> 0 ))
OR ((Len(Hyperlinkpart(AttachmentPathEng3, 2 ))> 0 )) OR ((Len(Hyperlinkpart(AttachmentPathEng4, 2 ))> 0 ));

Все поля - гиперлинковые. Как заставить не обрезать?
...
Рейтинг: 0 / 0
15.03.2004, 21:20
    #32442616
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция HyperlinkPart делает обрезание. Только мне?:(((
Этот запрос ни при чем. Дело в поле, которое обрезает строку до 255 символов. Попробуй хранить как мемо.
...
Рейтинг: 0 / 0
15.03.2004, 21:20
    #32442617
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция HyperlinkPart делает обрезание. Только мне?:(((
Спасибо за марафет
...
Рейтинг: 0 / 0
15.03.2004, 21:21
    #32442619
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция HyperlinkPart делает обрезание. Только мне?:(((
Спасибо от марафета.
...
Рейтинг: 0 / 0
15.03.2004, 21:23
    #32442621
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция HyperlinkPart делает обрезание. Только мне?:(((
Саныч, ты хочешь сказать, что гиперссылка ограничена 255 символов? Блин...
...
Рейтинг: 0 / 0
15.03.2004, 21:27
    #32442623
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция HyperlinkPart делает обрезание. Только мне?:(((
Не, Саныч, если я ее раскрываю правой кнопкой, она мне все составляющие поля целиком показывает
...
Рейтинг: 0 / 0
15.03.2004, 21:31
    #32442625
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция HyperlinkPart делает обрезание. Только мне?:(((
Но посмотри:

?len(address) + len("#") + len(dtext)
255
...
Рейтинг: 0 / 0
15.03.2004, 21:32
    #32442627
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция HyperlinkPart делает обрезание. Только мне?:(((
А проверь так:

?len(rst.Fields(fld.Name))
...
Рейтинг: 0 / 0
15.03.2004, 21:37
    #32442628
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция HyperlinkPart делает обрезание. Только мне?:(((
Завтра буду репу чесать
...
Рейтинг: 0 / 0
16.03.2004, 10:26
    #32442937
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция HyperlinkPart делает обрезание. Только мне?:(((
Саныч, ты прав, я скалькулировал - ГИПЕРЛИНКОВОЕ поле из таблицы в рекордсет приходит Variant/String, ОБРУБЛЕННЫМ ДО 255 СИМВОЛОВ!!!!!!!

ЧТО ДЕЛАТЬ??????


ИСХОДНАЯ ЗАДАЧА ТАКАЯ - проанализировать гиперссылки в таблице и сделать контекстные замены, если файлы перемещались. Для этого я запросом получаю рекордсет, вычленяю address и textToDisplay и анализирую.
Но если в рекордсет гиперссылка приходит обрубленной, то анализ отстойный получается
...
Рейтинг: 0 / 0
16.03.2004, 11:54
    #32443168
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция HyperlinkPart делает обрезание. Только мне?:(((
Поднимаю внаглую...

Никто не сталкивался с обрубанием гиперссылок запросом? М.б. есть способ остаться в таблице с полями типа Hyperlink и иметь возможность обрабатывать длинные ссылки?
...
Рейтинг: 0 / 0
16.03.2004, 13:32
    #32443481
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция HyperlinkPart делает обрезание. Только мне?:(((
Если соображений нет, то будущему поколению пользователей гиперссылок сообщаю, что вместо того, чтобы запросом вытащить одно поле field, приходится вытаскивать отдельно с помощью функции Hyperlinkpart(field,...) все его составляющие и с ними работать.

Не больно это все хорошо :(
...
Рейтинг: 0 / 0
16.03.2004, 14:39
    #32443667
фыыф
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция HyperlinkPart делает обрезание. Только мне?:(((
авторSELECT DISTINCT

Ищи по форуму обсуждение группировки по Мемо (MEMO, DISTINCT, Группировка). (что-то о jet 4 И новых сервиспаках, если память не изменяет, и кажется именно с такими симптомами). Я б нашел - но тормоза чтой-то жуткие с SQL.ru
...
Рейтинг: 0 / 0
16.03.2004, 15:37
    #32443844
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция HyperlinkPart делает обрезание. Только мне?:(((
Действительно все из-за этого DISTINCT. В конструкторе запрос не дает запуститься с диагнозом:
The field is too small to accept the amount of data you attempted to add. Try inserting or pasting less data. (Error 3163)
А на лету просто обрезает.

Ну ладно, по большому счету, структуру данных все равно надо менять, нет худа без добра
Пасибки!
...
Рейтинг: 0 / 0
17.03.2004, 10:56
    #32444947
фыыф
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция HyperlinkPart делает обрезание. Только мне?:(((
зря не поискал.\r
см /topic/56347&hl=MEMO\r
\r
Там и "решение" есть -\r
Select Distinct * From Таблица1 ORDER BY MyMemo \r
\r
(Но тормоза с SQL.ru у меня конкретные. т.ч. больше ничего искать не буду :)
...
Рейтинг: 0 / 0
17.03.2004, 11:24
    #32445026
Лифчик
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Функция HyperlinkPart делает обрезание. Только мне?:(((
Поискать не поискал, но на заметку взял
Мне все равно для изменения ссылок нужен обновляемый набор. А вообще жалею, что с самого начала гиперссылки в отдельную таблицу не вынес. Все было бы проще гораздо :(((
Спасибо, опять-таки
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Функция HyperlinkPart делает обрезание. Только мне?:((( / 21 сообщений из 21, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]