Вопрос : Адрес электронная почта выдержки от поля памятки доступа.

Hi специалисты,

How могут я извлекают адрес электронная почта от qryEmail.Body (поля памятки) и прилагают к tblEmail.Bounce в такой же базе данных 2007 доступа?

Thank вы!
class=

Ответ : Адрес электронная почта выдержки от поля памятки доступа.

Будет адресом электронная почта ЕДИНСТВЕННЫЙ деталь в том поле памятки? Iий " m держа пари оно не, поэтому вы иметь некоторый метод для того чтобы найти что адресом электронная почта в поле памятки, и AFAIK там будут никакое действие builtin macro которое сделает что - вам будет нужно использовать регулярно выражения, которые могут оценить текстовую строку/архив и возвратить к вам сопрягаемый шнур, основанный на «выражением» вы поставка.

Кодий прикрепленное ниже сделает это. Как раз экземпляр/затир те детали в новый стандартный модуль (имя basTextFunctions модуля, или что-нибудь подобное), и после этого используют функцию FindEmailInString для того чтобы возвратить первый адрес электронная почта размещали в шнуре. Для того чтобы сделать что, принимающ вас имейте форму на которой поле памятки присутствует, вы smogли включить кнопку для того чтобы показать значение:

Sub MyButton_Click ()
  Msgbox FindEmailInString (Me.YourMemoField)
Подводная лодка конца

Заметьте Кодего для того регулярно выражения пришл от страницы Джон Nurick превосходной здесь: http://www.j.nurick.dial.pipex.com/Code/index.htm

Для того чтобы прочитать больше о регулярно выражениях, см. нашего собственного статью Патрик Matthew на Reg Ex: http://www.experts-exchange.com/articles/Programming/Languages/Visual_Basic/Using-Regular-Expressions-in-Visual-Basic-for-Applications-and-Visual-Basic-6.html?sfQueryTermInfo=1+30+express+regular





1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
Общественная функция FindEmailInString (StringToSearch как шнур) как шнур

Тусклое sExp как шнур

sExp = «\ b [A-Z0-9. _%+-] +@ [A-Z0-9. -] + \. [A-Z] {2.4} \ b»
rgxExtract FindEmailInString (StringToSearch, sExp)

Функция конца
Общественное rgxExtract функции (опционная цель ByVal как вариант, _
    Опционная картина как шнур = "", _
    Опционный деталь ByVal как длиной = 0, _
    Опционное CaseSensitive как булевско = ложно, _
    Опционное FailOnError как булевско = True, _
    Опционно упорствуйте как булевское = ложное) _
  Как вариант
   
  'Функция регулярно выражения сопрягая целесообразная для пользы
  'в VB/A вообще и в вопросах доступа.
  'Джон Nurick. Обновленный 14-ое января 06.
   
  'Принимает шнур поиска (цель) и регулярно выражение
  '(Картина), и опционный аргумент деталя.
  '- Если деталь снят и подстрока цели сопрягает картину, то
  '  возвращения подстрока.
  '- Если картина вклюает собирать скобки, то подстрока цели
  '  сопрягает картину, и деталем будет интежер, возвращает submatch
  '  определено Деталем (первым submatch будет деталь 0). Если не
  '  достаточные submatches, Null возвращений. Отрицательные значения старта деталя
  '  подсчитывающ с последним submatch.
  '- Если никакая спичка, возвращения не аннулирует.
  '- Возвращения аннулируют на ошибке если FailOnError не быть поистине.
  '  Всегда сопрягает против всей цели (т.е. глобально и
  '  Многополосно будьте поистине).
  
  'CaseSensitive спички независимо от случая.
 
  'Управление упорствует ли составленный предмет RegExp
  'остает в памяти готовой для следующего звонока к
  'функция или размещан ли она немедленно. Это
  'намеревает функцию можно использовать в вопросах без иметь
  'создаться, составьте, используйте и разрушьте новый предмет RegExp для
  'каждый будучи обрабатыванным рядок. Но он также намеревается что предмет
  'остатки в памяти после вопроса бежали. Разрушить
  'возразите и выпустите память, вызовите эту функцию одно
  'последний раз без аргументов.
  '
  'Вызывающ функцию с по-разному аргументами (например новой
  'Картина) recompiles предмет RegExp, так
  'функцию можно использовать в по-разному вопросах. Как бы там
  'могут быть проблемы если 2 резьбы вызывают функцию на
  'такое же время.
 
  rgxPROC_NAME Const = «rgxExtract»
  Статический штуф как предмет 'VBScript_RegExp_55.RegExp
    'Статические середины объявления мы не должны создаться
    'и составьте предмет RegExp каждое одиночное время
    'функция вызвана.
  Тусклые oMatches как предмет 'VBScript_RegExp_55.MatchCollection
   
  На ошибке переход ErrHandler
  значение невыполнения обязательства rgxExtract = Null 'возвращенное
    'N.B.: если FailOnError ложно, то возвращает Null на ошибке
 
  Если IsMissing (цель) после этого
    'Это будет сигнал размещать штуфа
    Установите штуф = ничего
    Выходите функция 'с автоматически принимаемым значением
  Закончитесь если
   
  'Создайте предмет RegExp если обязательно
  Если штуф ничего после этого
    Установите штуф = CreateObject («VBScript.Regexp»)
  Закончитесь если
 
  С штуфом
    'Проверите ли в настоящее время аргументы (за исключением цели)
    'отличите те, котор хранят в штуфе, и уточните их
    '(таким образом recompiling regex) только если обязательно.
    Если CaseSensitive = .IgnoreCase после этого
      .IgnoreCase = не .IgnoreCase
    Закончитесь если
    . Глобально = True
    . Многополосно = True
'    Если многополосно <> . Многополосно после этого
'      . Многополосно = многополосно
'    Закончитесь если
    Если картина <> . Картина после этого
      . Картина = картина
    Закончитесь если
 
  'Окончательно, исполните спичку
    Если IsNull (цель) после этого
      rgxExtract = Null
    Еще
      Установите oMatches = oRE.Execute (цель)
      Если oMatches.Count > 0 после этого
        Если oMatches (0) .SubMatches.Count = 0 после этого
          'Отсутствие () группы в картине: возвратите спичку
          Если деталь < 0="" Then="">= oMatches.Count
              'Положительный деталь превысил число спичек
              rgxExtract = Null
              Если FailOnError после этого
                Err.Raise 9
              Закончитесь если
            Покрывайте еще
              rgxExtract = oMatches (деталь)
          Конец отборный
         
        Еще  'будут один или больше () захваченные группы в картине
              'возвратите одно определенное Деталем
          С oMatches (0) .SubMatches
            Если деталь < 0="" Then="">=. Отсчет
                'Положительный деталь превысил число submatches
                rgxExtract = Null
                Если FailOnError после этого
                  Err.Raise 9
                Закончитесь если
              Покрывайте еще 'действительный номер деталя
                rgxExtract =. Деталь (деталь)
            Конец отборный
          Конец с
        Закончитесь если
      Еще
        rgxExtract = Null
      Закончитесь если
    Закончитесь если
  Закончитесь с
 
  'Аккуратный поднимающий вверх и нормальный выход
  Если не упорствовать после этого установил штуф = ничего
  Выходите функция
 
ErrHandler:
  Если FailOnError после этого
    С заблуждайтесь
      Выберите случай. Номер
        'Замените «сообщение предмет-определенной ошибки» невыполнения обязательства
        Случай 9: . Описание = «приписка из ряда (_ номера деталя спрошенного»
          & «был большле чем число ых спичек, или чем номер» _
          & «(...) собирать/захватывая скобки в картине).»
        Случай 13: . Описание = «тип рассогласование, вероятно потому что» _
          & «аргумент "" цели "" не smog быть преобразован к шнуру»
        Случай 5017: . Описание = «ошибка синтаксиса в регулярно выражении»
        Случай 5018: . Описание = «непредвиденный квантор в регулярно выражении»
        Случай 5019: . Описание = «после того как я предположено «]» в регулярно выражении "
        Случай 5020: . Описание = «после того как я предположено ")» в регулярно выражении "
      Случай еще
        Если штуф ничего после этого 'суменным для того чтобы создать предмет Regexp
          . Описание = «не smogло создать предмет VBScript.RegExp. » & Err.Description
        Еще 'непредвиденная ошибка
          . Описание = rgxPROC_NAME & «: » &. Описание
        Закончитесь если
      Закончите отборное
      Установите штуф = ничего
      . Поднимите Err.Number, rgxPROC_NAME, _
          rgxPROC_NAME & «(): » &. Описание
    Конец с
  Еще 'терпеть неудачу молчком
    Err.Clear
    Установите штуф = ничего
  Закончитесь если
Закончите функцию
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us