Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Скрипт вместо конкатенации  [new]
semauxin
Member

Откуда:
Сообщений: 33
Вечер добрый.
Помогите пожалуйста.
Есть вычисляемое поле OpisanieCalc, формула которого:

‘Ручка: ’& Hand & HandOtdelka & CHR (13) &
‘Ножки: ’& Nogki & NogkiOtdelka & CHR (13) &
‘Основание: ’& Osnovanie & CHR (13) &
‘Подлокотники: ’& NalichiePodklokotnikov & MaterialKodPodlok & KodObivkaPodlokot & MaterialPodlokotnik & ObivkaPodlorotnik & CHR (13) &
‘Колеса: ’& Koleca & KolesaRaspologenie & KolesaKolvo & CHR (13) &
‘Сиденье: ’& Sidenie & SidenieOtdelka & NapolneniePodushekSideni & CHR (13) &
‘Спинка: ’& Spinka & SpinkaOtdelka & NapolneniePodushekSpinka & CHR (13) &
‘Подъемный механизм: ’& NalichiePodemnogoMex & CHR (13) &
‘Трансформация: ’& NalichieTransformacii & CHR (13) &
‘Столешница: ’& Stoleshnica & KodStoleshnica & CHR (13) &
‘Обивка: ’& Obivka & PostavshikTkani & PostavshikKogi & CHR (13) &
‘Ручка: ’& Reshetka & CHR (13) &
‘Матрас: ’& Matrac & CHR (13) &
‘Изголовье: ’& ObivkaIzgolovi & KodOtdelkiIzgol & CHR (13) &
‘Изножье: ’& ObivkaIznogiya & KodOtdelkiIznog & CHR (13)

Проблема:
1.При заполнении полей большим количеством символов, общее кол-во превышает допустимое для отображения в поле база данных, в итоге отображается не вся информация.
2. При незаполнении каких либо полей, из название (Например ‘Сиденье: ’) все равно выводится, и в ручную пропись формулы не удалить.

Решение: хочу написать скрипт, или триггер, который будет обновлять другое поле (OpisaniePolnoe) только той информацией, которая была внесена в поля. В итоге, если мы заполняем поля под названием Ножки, Сиденье, Трансформация, должно получиться:

Ножки: Серебро
Сиденье: Кожа AS14q Паралон
Трансформация: Отсутствует
А остальные, значение которых равно NULL, нет.

Подскажите, как написать. Заранее благодарю.
25 янв 13, 19:35    [13830248]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт вместо конкатенации  [new]
Гость333
Member

Откуда:
Сообщений: 3683
semauxin
вычисляемое поле OpisanieCalc, формула которого:

‘Ручка: ’& Hand & HandOtdelka & CHR (13) &

Вы, простите, какую СУБД используете?
25 янв 13, 19:38    [13830258]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт вместо конкатенации  [new]
semauxin
Member

Откуда:
Сообщений: 33
Гость333,

Access
25 янв 13, 19:38    [13830260]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт вместо конкатенации  [new]
Гость333
Member

Откуда:
Сообщений: 3683
semauxin,

Тогда вам смогут помочь тут: https://www.sql.ru/forum/actualtopics.aspx?bid=4
25 янв 13, 19:48    [13830307]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт вместо конкатенации  [new]
qwerty112
Guest
semauxin
Проблема:
1.При заполнении полей большим количеством символов, общее кол-во превышает допустимое для отображения в поле база данных, в итоге отображается не вся информация.
2. При незаполнении каких либо полей, из название (Например ‘Сиденье: ’) все равно выводится, и в ручную пропись формулы не удалить.

1
"вычисляемое поле" в Акцессе (если речь действительно о них) - хрень не заслуживающая внимания
в запросе делай эту свою "фишку" (или в функции, которую будет использовать запрос)

если же "вычисляемое поле" - это "образно", то :
" кол-во допустимое для отображения в поле база данных" - не сможет, при всём желании, стать больше, чем размер поля
так, что если вы выбрали себе varchar(255) (а больше в Аксе - нельзя) - то ССЗБ
2
https://www.sql.ru/faq/faq_topic.aspx?fid=213 Q19
3
Акцесс, тама - https://www.sql.ru/forum/actualtopics.aspx?bid=4
25 янв 13, 19:52    [13830329]     Ответить | Цитировать Сообщить модератору
 Re: Скрипт вместо конкатенации  [new]
semauxin
Member

Откуда:
Сообщений: 33
qwerty112,

Спасибо
25 янв 13, 19:55    [13830352]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить