powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Преобразовать поле типа MEMO в HYPERLINK программно или запросом
10 сообщений из 10, страница 1 из 1
Преобразовать поле типа MEMO в HYPERLINK программно или запросом
    #39935034
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Следующая проблема.

В программе таблица создаётся запросом. Типа
Код: sql
1.
CREATE TABLE z19([КодСуб] SMALLINT, ... )


Мне необходимо сделать в создаваемой таблице поле типа HYPERLINK. Нашел в документации, что поле типа HYPERLINK напрямую создать нельзя. Надо создавать поле типа MEMO программно, а потом в процессе создания установить соответствующие атрибуты
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
        'Add a Hyperlink Field
        Dim AllDefs As DAO.TableDefs, TblDef As DAO.TableDef, Fld As DAO.Field
        Set AllDefs = Application.CurrentDb.TableDefs
        Set TblDef = AllDefs("~~Kitsch'n Sync")
        Set Fld = TblDef.CreateField("Hyperlink", dbMemo)
        Fld.Attributes = dbHyperlinkField + dbVariableField
        Fld.OrdinalPosition = 10
        TblDef.Fields.Append Fld

А если поле уже создано? Как его преобразовать в HYPERLINK ?


-------------------------------------------------------------
А ты вложил уже свой кровный рубль в 50-ти миллиардное состояние Билла Гейтса?
...
Рейтинг: 0 / 0
Преобразовать поле типа MEMO в HYPERLINK программно или запросом
    #39935069
А так пробовали?
Код: vbnet
1.
2.
        Set Fld = TblDef.Fields("Hyperlink")
        Fld.Attributes = dbHyperlinkField + dbVariableField
...
Рейтинг: 0 / 0
Преобразовать поле типа MEMO в HYPERLINK программно или запросом
    #39935071
Фотография 4d_monster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кривцов Анатолий,

В Access 2010 такое ещё не работает. Может в более поздних.
...
Рейтинг: 0 / 0
Преобразовать поле типа MEMO в HYPERLINK программно или запросом
    #39935085
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, код примера взят отсюда Инструкция CREATE TABLE (Microsoft Access SQL) Там упоминался Access 2013. А мне бы начиная с 2003. Или хотя бы 2010.
...
Рейтинг: 0 / 0
Преобразовать поле типа MEMO в HYPERLINK программно или запросом
    #39935086
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В msa2000 уже работала инструкция
Код: sql
1.
ALTER TABLE [table1] ALTER COLUMN [field1] LONG

Но какие надо задать параметры чтобы MEMO преобразовать в HYPERLINK ? Нигде не нашел примеров.
...
Рейтинг: 0 / 0
Преобразовать поле типа MEMO в HYPERLINK программно или запросом
    #39935174
Видимо решения нет. Нагуглил такое:
ALTER [ COLUMN ] column_name SET ( attribute_option = value [, ... ] )
На как это использовать и поддерживается ли вообще в Аксе - ничего не нашел.
А чем вас не устраивает ваш пример?
Создавайте поле с помощью DAO. Если в существующем поле есть данные, то по стандартной схеме: Создать новое - копировать данные из старого в новое - удалить старое - переименовать новое.
...
Рейтинг: 0 / 0
Преобразовать поле типа MEMO в HYPERLINK программно или запросом
    #39935184
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот такие запросы в Access работают
Код: sql
1.
ALTER TABLE Employees ALTER COLUMN Salary CHAR(20);


Но какой именно параметр надо изменять? И как?
...
Рейтинг: 0 / 0
Преобразовать поле типа MEMO в HYPERLINK программно или запросом
    #39935202
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
методом проб и ошибок.
Свойство Attributes у поля HYPERLINK должно быть 3770 (dbHyperlinkField + dbVariableField)
Но свойство Attributes программно изменить невозможно. Сижу, думаю.
...
Рейтинг: 0 / 0
Преобразовать поле типа MEMO в HYPERLINK программно или запросом
    #39935205
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что интересно. Поле типа HYPERLINK на MEMO запросом изменить можно. А вот обратно не получается...
Код: sql
1.
ALTER TABLE [z1] ALTER COLUMN [Hyper] MEMO
...
Рейтинг: 0 / 0
Преобразовать поле типа MEMO в HYPERLINK программно или запросом
    #39935238
Predeclared
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это оттого, что нету такого типа данных у Jet, как HYPERLINK.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Преобразовать поле типа MEMO в HYPERLINK программно или запросом
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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