Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: выборка из поля определенных символов
 
 автор: Vitaly   (30.11.-1 в 00:00)
 
 

Пытаюсь программно из текстового поля выбирать цифры, это выглядит так:

pole_2.Value = Mid(txtMesseg.Value, InStr(1, txtMesseg.Value, "не менее") + 9)

в поле загружается текст, где присутствует не менее 89,
все что до 89 отбрасывается, в поле показывается число 89, но всесь текст который идет после 89 остаётся, как мне его тоже отрезать, чтобы оставались только цифры, я понял что это должно быть до первого пробела после 89, но это воплотить не получается, или нужно вводить новую переменную, ей присваивать значение = Mid(txtMesseg.Value, InStr(1, txtMesseg.Value, "не менее") + 9), а потом из неё отнимать весь текст который находится правее первого пробела.

  Ответить  
 
 автор: ?.?.   (30.11.-1 в 00:00)
 
   to: Vitaly   (30.11.-1 в 00:00)
 

Re: выборка из поля определенных символов Идея правильная. Чтобы упростить запись введите временные переменные типа:

Dim i as long, txtTemp as String

и выполните перацию в несколько стрчек. Будет все яснее и вопросы исчезнут.

Начните с:
i= InStr(1, txtMesseg.Value, "не менее")

Еще .Value - используется по умолчанию. Можно не писать.
То есть просто txtMesseg.

  Ответить  
 
 автор: ??????   (30.11.-1 в 00:00)
 
   to: Vitaly   (30.11.-1 в 00:00)
 

помогите плз, я уже сам себя запутал в строках. dim x, i as String

если писать long ругается

x = Mid(txtMesseg.Value, InStr(1, txtMesseg.Value, "не менее") + 9)
i = Left(x, 3)
pole_2.Value = i

впринципе работает, я результат беру из яндекса:
фрагмент:

Результат поиска: страниц — 3, сайтов — не менее 3
Запросов за месяц: ремонт — 123 974 754, alcatel — 19 111 725. Купить

тут мне нужна цифра 3
если оставлять как я прописал то после цифры 3 идёт абзац он и копируется тоже. Если вместо 3 стоит трёхзначное число то результат другой.

  Ответить  
 
 автор: ??????   (30.11.-1 в 00:00)
 
   to: ??????   (30.11.-1 в 00:00)
 

Re: помогите плз, я уже сам себя запутал в строках. Dim pos As Long
pos = InStr(1, txtmesseg, "не менее")
If pos > 0 Then
pole_2.Value = Val(Mid$(txtmesseg, pos + 9, Len(txtmesseg)))
End If

  Ответить  
 
 автор: Vitaly   (30.11.-1 в 00:00)
 
   to: ??????   (30.11.-1 в 00:00)
 

большое спасибо, а то от перебора мозг на череп начал давить :)))

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList