Вычисляемое поле — первая буква каждого слова

Я хочу создать вычисляемое поле в доступе, которое будет аббревиатурой для названий компаний.

Какое выражение мне нужно использовать?

И можно ли использовать этот же метод для первых 2 или 3 букв или каждого слова?


person Mikey Henry    schedule 24.07.2014    source источник
comment
Почему вычисляемое поле? Это то, что можно легко сделать в форме с помощью функции ВЛЕВО. Вы можете потерять свои индексы allenbrowne.com/casu-14.html   -  person Fionnuala    schedule 24.07.2014


Ответы (2)


Напишите такую ​​функцию в каком-нибудь модуле

Public Function ABBR(str As String, Optional Letters As Long = 1) As String

    Dim arr() As String
    Dim v As Variant
    arr = Split(str, " ")
    For Each v In arr
       ABBR = ABBR & Left(v, Letters)
   Next v

Конечная функция

И написать такое в Control Source

 =ABBR([Field with company name],1)
person 4dmonster    schedule 24.07.2014

Вычисляемые поля не подходят. Расчеты относятся к запросам и формам, а не к таблицам. Это будет гораздо большей проблемой, чем вы думаете. Вам нужно переосмыслить это. У Аллена Брауна есть очень хорошее объяснение этой темы: http://allenbrowne.com/casu-14.html< /а>

Хотя, если вы хотите вычислять только в запросах и отображать то же самое в несвязанном элементе управления формы, вы можете использовать код, предоставленный 4dmonster.

person PaulFrancis    schedule 24.07.2014