powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Функция HyperlinkPart делает обрезание. Только мне?:(((
21 сообщений из 21, страница 1 из 1
Функция HyperlinkPart делает обрезание. Только мне?:(((
    #32442595
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В таблице гипертекстовое поле с погаными длинными гиперссылками на файлы. Обращаюсь к составляющим поля:
Код: 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
Функция HyperlinkPart делает обрезание. Только мне?:(((
    #32442597
Фотография Темный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хех... Лифчик, ты этой шутки ожидаешь, знаю, но все равно удержаться не могу... :)
Твоя проблема означает только то, что функция HyperlinkPart кошерная :)
...
Рейтинг: 0 / 0
Функция HyperlinkPart делает обрезание. Только мне?:(((
    #32442601
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
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
Функция HyperlinkPart делает обрезание. Только мне?:(((
    #32442604
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Лифчик, спорим, у тебя поле имеет длину 255 символов? :^)))
...
Рейтинг: 0 / 0
Функция HyperlinkPart делает обрезание. Только мне?:(((
    #32442605
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Вот твой стринг. Для удобства чтения делю на более короткие строки, но это одна строка:

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
Функция HyperlinkPart делает обрезание. Только мне?:(((
    #32442611
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саныч - в таблице поля 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
Функция HyperlinkPart делает обрезание. Только мне?:(((
    #32442616
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Этот запрос ни при чем. Дело в поле, которое обрезает строку до 255 символов. Попробуй хранить как мемо.
...
Рейтинг: 0 / 0
Функция HyperlinkPart делает обрезание. Только мне?:(((
    #32442617
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за марафет
...
Рейтинг: 0 / 0
Функция HyperlinkPart делает обрезание. Только мне?:(((
    #32442619
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Спасибо от марафета.
...
Рейтинг: 0 / 0
Функция HyperlinkPart делает обрезание. Только мне?:(((
    #32442621
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саныч, ты хочешь сказать, что гиперссылка ограничена 255 символов? Блин...
...
Рейтинг: 0 / 0
Функция HyperlinkPart делает обрезание. Только мне?:(((
    #32442623
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, Саныч, если я ее раскрываю правой кнопкой, она мне все составляющие поля целиком показывает
...
Рейтинг: 0 / 0
Функция HyperlinkPart делает обрезание. Только мне?:(((
    #32442625
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Но посмотри:

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

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

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


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

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

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

Ищи по форуму обсуждение группировки по Мемо (MEMO, DISTINCT, Группировка). (что-то о jet 4 И новых сервиспаках, если память не изменяет, и кажется именно с такими симптомами). Я б нашел - но тормоза чтой-то жуткие с SQL.ru
...
Рейтинг: 0 / 0
Функция HyperlinkPart делает обрезание. Только мне?:(((
    #32443844
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Действительно все из-за этого 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
Функция HyperlinkPart делает обрезание. Только мне?:(((
    #32444947
фыыф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
зря не поискал.\r
см /topic/56347&hl=MEMO\r
\r
Там и "решение" есть -\r
Select Distinct * From Таблица1 ORDER BY MyMemo \r
\r
(Но тормоза с SQL.ru у меня конкретные. т.ч. больше ничего искать не буду :)
...
Рейтинг: 0 / 0
Функция HyperlinkPart делает обрезание. Только мне?:(((
    #32445026
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поискать не поискал, но на заметку взял
Мне все равно для изменения ссылок нужен обновляемый набор. А вообще жалею, что с самого начала гиперссылки в отдельную таблицу не вынес. Все было бы проще гораздо :(((
Спасибо, опять-таки
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Функция HyperlinkPart делает обрезание. Только мне?:(((
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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