powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / VBA Access 2016 использование текстовых значений
61 сообщений из 61, показаны все 3 страниц
VBA Access 2016 использование текстовых значений
    #39990605
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.

Используется макрос в VBA Access с таким "кусочком":
const log = "123456"
const pas = "654321"
Эти log и pas используются дальше по коду (сам код рабочий).

Возможно ли прописать так, чтобы эти значения log и pas вводить в текстовые поля на форме в access, или чтобы код эти значения брал из таблицы, расположенной в той же базе access?

Извиняюсь за корявость языка, я в этом деле не профи, мягко говоря, пытаюсь что-то как-то слепить из того, что было))

Заранее спасибо за помощь))

P.S. Если прям кусок кода напишете, как это должно выглядеть, преогромнейшая благодарность!)))
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990627
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Эти значения раньше были постоянны, поэтому они были написаны напрямую в коде, для удобства. А теперь появилась необходимость эти значения изменять, не меняя кода.
Надо, чтобы эти значения можно было ввести на форме или в таблице, а уж код потом мог использовать введённые значения.

Доформулировал (((
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990646
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker,

тут макросы не любят и не используют, переходите на VBA...
const это константы, используйте переменные, тогда переменной можно присвоить значение поля формы
или таблицы в любом месте программы и не один раз...
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990649
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
' объявите эти переменные в шапке любого модуля - старые const нужно заремить
public log as String, pass as string
'создайте функцию и засуньте в макрос autoexec - если нужно определять эти данные вначале.
Public function MakeConst()
dim prov
prov=dlookup("[field1]","tblName","[id]=1") ' field1 - поле в котором записаны значения, tblName - наименование таблицы, id=1 - ключ к этим данным 
log=nz(prov,vbnullstring)
prov=dlookup("[field1]","tblName","[id]=2")
pass=nz(prov,vbnullstring)
end function


...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990651
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker

..Эти log и pas используются дальше по коду (сам код рабочий)...
Если б код глянуть....(макрос легко преобразуется в код VBA-не знаю про 2016 а в 2007-выделить его в области переходов>работа с базами данных>макрос>преобразовать макросы
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990664
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
тут макросы не любят и не используют, переходите на VBA...
для тех кто не читает (сам иногда тоже грешен)
greker
Используется макрос в VBA Access с таким "кусочком":
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990666
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker
Возможно ли прописать так, чтобы эти значения log и pas вводить в текстовые поля на форме в access, или чтобы код эти значения брал из таблицы, расположенной в той же базе access?
возможно. Но для этого, что бы ответ был наиболее адекватен требуется увидеть как используется функция/процедура. Возможно проще будет передавать как аргументы эти значения.

https://www.cyberforum.ru/ms-access/thread2690629.html#post14788247 База данных на работе, доступа в интернет нема(

Если приведёте пример, как написать, будет просто великолепно!))Видимо носители информации тоже запрещены? По последнему пожеланию аналогично.
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990676
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
Видимо носители информации тоже запрещены?
если доступа в инет нема - то и носителей тоже нема...
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990684
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
Панург
Видимо носители информации тоже запрещены?
если доступа в инет нема - то и носителей тоже нема...
это отчего же? Вполне возможны ситуации когда не всем даётся интернет, или тьма тараканья, где сложно организовать канал для всех. В конце концов есть смартфон с фотоаппаратом.
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990687
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
В конце концов есть смартфон с фотоаппаратом.
ну это уже не выложишь в инет

Панург
Вполне возможны ситуации когда не всем даётся интернет
и не все внешние носители можно подключать, а то и вообще выкушены гнёзда.
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990688
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя
ну это уже не выложишь в инет
это ещё почему? Даже тут встречается сплошь и рядом.
вадя
вообще выкушены гнёзда.
имхо, извращение, всё отключается программно. Речь вообще не про то...
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990698
greker,
1. Создаете в своей форме новое поле.
2. В модуле заремливаете свое объявление констант. Делате объявление своих переменных с тем же типом и именем.
3. Присваиваете в модуле этим переменным значение поля. Ниже пример, как у меня дата в нужном формате присваивается.
Код: vbnet
1.
   ДатаДляМодуля = Format([ИмяПоля], "yyyy-mm-dd hh:mm:ss") 
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990734
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Михаил Михайлович Л

ДатаДляМодуля = Format([ИмяПоля], "yyyy-mm-dd hh:mm:ss")
[/src]
Не уверен что это всегда,на любом РС, будет работать, а так всегда и везде:
Код: vbnet
1.
"датаДляМодуля=#" & Format(ctl,"mm\/dd\/yyyy hh\:mm\:ss") & "#"
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990736
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Встречается, интернета нема, usb закрыты)

Михаил Михайлович, я в vba ни в зуб ногой к огромному сожалению ((. Окно на форме для ввода log и pas я могу сделать, а как это в коде прописать, чтобы нужные значения брались из этих полей?
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990741
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker
Встречается, интернета нема, usb закрыты)

Не запирайте, люди, — плачут дома детки,
Ему же — в Химки, а мне — в Медведки!..
Да, всё равно: автобусы не ходят,
Метро закрыто, в такси не содят.
(c)


greker
я в vba ни в зуб ногой к огромному сожалению

А разработчик?

Перефотографируй, потом тщательно с фото перепечатай сюда (не забудь тэги оформления кода). И так весь код. А мы чегонить посоветуем.

Например вынести константы в аргументы и присвоить им значения по умолчанию. Откуда запускается этот код (кстати, а что это функция или процедура, как запускается)
присваивать значения... или не присваивать.
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990768
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,
Разработчик вне доступа, а менять надо((
Фотографировать и выкладывать весь код смысл?
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990779
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,

Как раз и надо уйти от констант, чтобы эти значения можно было вводить новые, не изменяя код
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990804
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker
... Окно на форме для ввода log и pas я могу сделать, а как это в коде прописать...
sdku

Если б код глянуть...
Ну и как можно править(что-то подсказать) код не видя его??
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990806
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,

А смысл выкладывать весь код, вопрос только в том, как заменить эти константы?
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990825
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker
А смысл выкладывать весь код, вопрос только в том, как заменить эти константы?

Вам же уже ответили , вместо константы обьявляете переменную , а затем ей присваиваете значение .
Где и как присваивать это уже Ваше личное дело. В частности Вам советовали присваивать значения полей формы.
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990874
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
см. Form1 (это один,далеко не единственный, вариант)
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990897
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker
Как раз и надо уйти от констант, чтобы эти значения можно было вводить новые, не изменяя код
Видно с трудом соображаешь.

Панург
Например вынести константы в аргументы и присвоить им значения по умолчанию. Откуда запускается этот код (кстати, а что это функция или процедура, как запускается )
присваивать значения... или не присваивать.
Ты на вопросы ответить можешь?

А заменить можно так
Код: vbnet
1.
2.
Public Sub SomeProc(Optional log as string = "123456", Optional pas as string = "654321")
end Sub

Вызов процедуры
Код: vbnet
1.
Call SomeProc'работают значения констант


Код: vbnet
1.
Call SomeProc(nz(dlookup("[field1]","tblName","[id]=1"),vbnullstring), nz( dlookup("[field1]","tblName","[id]=2"),vbnullstring)) 'работают другие значения


Код: vbnet
1.
Call SomeProc(nz(dlookup("[field1]","tblName","[id]=1"),vbnullstring)) 'меняем только первое значение


Код: vbnet
1.
Call SomeProc(, nz( dlookup("[field1]","tblName","[id]=2"),vbnullstring)) 'меняем только второе значение
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990910
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,

Код подключается к определенному ресурсу компании и выгружает оттуда определенные данные.
Раньше эти константы можно было прописать как именно констант в коде, теперь так нельзя, они будут меняться, сам код же должен быть неизменным
Поэтому возникла необходимость в правке
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990912
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku,

Спасибо, завтра утром буду пробовать
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990915
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker
Код подключается к определенному ресурсу компании и выгружает оттуда определенные данные.
Раньше эти константы можно было прописать как именно констант в коде, теперь так нельзя, они будут меняться, сам код же должен быть неизменным
Поэтому возникла необходимость в правке
мне не интересны эти объяснения, тем более они уже повторяю написанное выше. Я задал конкретный вопрос.

Ты можешь написать первую строку (уже даже и не знаю как спросить) кода где находятся эти константы? Подсказка - эта строка обычно начинается так
Код: vbnet
1.
2.
3.
Public Sub ...
'или
Public Function...

и найти места вызова в коде
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990931
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990932
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,

Кусок кода старый, log и pas соответствуют log_mb и pwd_mb
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990936
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker
Кусок кода старый, log и pas соответствуют log_mb и pwd_mb
блин!

...тут пропущено самоцензурой...

И потом этот человек спрашивает
greker
А смысл выкладывать весь код, вопрос только в том, как заменить эти константы?


Пусть помогает кто другой...
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990940
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
Пусть помогает кто другой...



greker
Кусок кода старый, log и pas соответствуют log_mb и pwd_mb

Если я не ошибаюсь , то судя по скрину эта форма у вас отображается в браузере ???
И эти константы автоматически заносятся в текстовые поля . Если поля не readonly , то теоретически Вы их можете изменить вручную.
Но теперь возникает вопрос , а как дальше используются эти логин и пароль.
Здесь Панург абсолютно прав , нужен весь код . :))
P.S Это так , мысли вслух.
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990946
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Логин и пароль из констант вставляются в item-ы 2 и 3 из картинки с кодом, для авторизации на ресурсе. Раньше эти логин и пароль были постоянны, теперь нет, а сам код должен быть неизменный
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990948
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMan
Панург
Пусть помогает кто другой...



greker
Кусок кода старый, log и pas соответствуют log_mb и pwd_mb

Если я не ошибаюсь , то судя по скрину эта форма у вас отображается в браузере ???
И эти константы автоматически заносятся в текстовые поля
. Если поля не readonly , то теоретически Вы их можете изменить вручную.
Но теперь возникает вопрос , а как дальше используются эти логин и пароль.
Здесь Панург абсолютно прав , нужен весь код . :))
P.S Это так , мысли вслух.


Не ошибаетесь, именно так. Надо, чтобы эти константы перестали быть константами, брались с поля в форме или таблицы, а сам код был константен).
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990953
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker
Не ошибаетесь, именно так. Надо, чтобы эти константы перестали быть константами, брались с поля в форме или таблицы, а сам код был константен).

Еще раз уточняю , в браузере открывается форма . Эти поля , логин и пароль уже заполнены , или звездочками , или каким то значением констант например. Я правильно понял ???
Далее Вы нажимаете кнопку , и форма отправляет данные на сервер , или куда там еще ???? Правильно ?
Ну , а затем где то происходит обработка данных . Возможно проверяется логин и пароль и юзер аунтифицируется , или еще что то . Я правильно понимаю????

Если да , то не исключена возможность , если Вы поменяете значение констант , и в результате получите какую нибудь ошибку. Я думаю , что я прав. А может и ошибаюсь , подскажите.
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990955
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker
Надо, чтобы эти константы перестали быть константами, брались с поля в форме или таблицы, а сам код был константен).

Взять данные из таблицы и подсунуть константам переменным не проблема . Но вот что дальше будет ????
Попробуйте поменять значения констант вручную и запустить программу, все работает нормально ????
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990959
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker, Вы в сообщении 22184246 под спойлер заглядывали?
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990962
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alecko
greker, Вы в сообщении 22184246 под спойлер заглядывали?


Сейчас заглянул, с телефона пропустил спойлер (((

Виновит, вижу, каюсь, буду пробовать на работе, завтра, сразу же отпишусь!
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990964
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DarkMan
greker
Надо, чтобы эти константы перестали быть константами, брались с поля в форме или таблицы, а сам код был константен).

Взять данные из таблицы и подсунуть константам переменным не проблема . Но вот что дальше будет ????
Попробуйте поменять значения констант вручную и запустить программу, все работает нормально ????


Именно это и надо сделать, чтобы переменные брались из таблицы или поля в форме )
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990965
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker
Именно это и надо сделать, чтобы переменные брались из таблицы или поля в форме
вы так и не ответили,что будет ,если их значение поменять вручную . Какую то же роль они играют?
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39990967
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чё-то читаю-читаю и не вкурю-так что это просто авторизация с паролем который почему-то меняется?... Да уж....
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39991078
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alecko,

Помогло, спасибо огромное!))) Причём сработало как через таблицу, так и через поле на форме!)))

Спасибо за помощь!!)))
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39991092
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker,
если я угадал насчет защиты-может имеет смысл поизучать штатный "мастер защиты"
(на работе из любопытства,с ребятами,очень компетентными, т.н.защиту ВОРДа и ЕКСЕЛЬ обошли запросто,а штатную ACCESS после множества безуспешных попыток не смогли-что уж говорить о рядовых юзерах)
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39991103
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
Чё-то читаю-читаю и не вкурю-так что это просто авторизация с паролем который почему-то меняется?... Да уж....
а чего там "вкуривать"? У них есть ресурс, доступ по IE, туда раньше ходили все по одному паролю/логину (как константы были записаны), теперь доступ разделили, вот и появилась потребность заменить константы. ТС морозится со своим кодом как с величайшим достоянием, обычный код, только всем голову морочит. Посмотрел и в других топиках ТС та же ерунда. Ну не можешь выложить код как текст, сфотографируй, в редакторе замажь адреса и явки.

greker
Помогло
учти, публичные переменные слетают при необработанных ошибках.
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39991251
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург
учти, публичные переменные слетают при необработанных ошибках.[/quot]

Надеюсь, таких ошибок не будет))

Сам код длинный слишком, фотографировать чревато, мягко говоря (опять же, специфика компании). Весь переписывать - больно трудоёмко будет(
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39991252
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург
sdku
Чё-то читаю-читаю и не вкурю-так что это просто авторизация с паролем который почему-то меняется?... Да уж....
а чего там "вкуривать"? У них есть ресурс, доступ по IE, туда раньше ходили все по одному паролю/логину (как константы были записаны), теперь доступ разделили, вот и появилась потребность заменить константы. ТС морозится со своим кодом как с величайшим достоянием, обычный код, только всем голову морочит.


Причина именно та, почему потребовалось избавиться от констант, а по поводу "величайшего достояния" написал выше. Прекрасно понимаю, что для хотя бы более-менее понимающих код представится наверняка поделкой школьника эдак второго-третьего класса от силы)
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39991261
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sdku
...может имеет смысл поизучать штатный "мастер защиты"...
Ваши цели будут достигнуты, доступ разделен, кода при этом 0, защита вполне достаточна и не надо изобретать велосипед-все уже придумано до нас.
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39991293
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker
Прекрасно понимаю, что для хотя бы более-менее понимающих код представится наверняка поделкой школьника эдак второго-третьего класса от силы)
тут, как на приёме у врача, разного повидали...
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39991294
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker
Надеюсь, таких ошибок не будет))
ну-ну.
лучше замени глобальные переменные на TempVar . У них есть ряд преимуществ.
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39991422
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker, используются эти переменные наверное в 1-2 х местах, но если есть желание избавиться от проблемы слетания публичных переменных - сделайте функции вместо них
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Public function log () as string
dim prov
prov=dlookup("[field1]","tblName","[id]=1") 
log=nz(prov,vbnullstring)
end function
Public function pass() as string
dim prov
prov=dlookup("[field1]","tblName","[id]=2")
pass=nz(prov,vbnullstring)
end function

...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39991604
ROI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
лучше замени глобальные переменные на TempVar . У них есть ряд преимуществ.

ещё какие! Очень классная вещь.
PS: жалко, что с объектами не работают.
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39991835
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alecko,

Уже так и сделал, выше вроде отписался))
Спасибо за помощь!)
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39991836
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тут теперь другая проблемка выскочила:
Теперь на ресурсе доступ висит некоторое время.
Возможно ли прописать в коде проверку: если на странице explorer есть фраза "Вы успешно авторизировались", то переходим к строке в коде дальше, минуя авторизацию, а если нет, то идём дальше по коду просто (то есть проходим процесс авторизации)?
Это же вроде через условие можно сделать, с проверкой по фразе?
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39991849
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker, смотрите код страницы - эта фраза имеет либо тэг, либо в каком то классе находится - этот элемент и проверяйте по типу того что есть у вас в коде. может распарсить надо немножко (разобрать код html)
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39991966
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alecko,

Вложил фото html с этой фразой))

Можешь подсказать, как проверять эту фразу?)
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39992022
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker,
если таблиц на странице много, то лучше искать по имени класса, если же нет - по тэгу, либо просматривать все ячейки всех таблиц с целью найти соответствующую надпись
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
Dim tbl As HTMLTable, row As HTMLTableRow, HTML As HTMLDocument,  oIE As WebBrowser
' где то выше браузер загрузил страницу
' ...
  Set HTML = oIE.Document
 set tbl=html.getElementsByClassName("tableborder")
Set row = tbl.rows(1)
Debug.Print row.cells.Item(0).innerText

...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39992024
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker
Тут теперь другая проблемка выскочила:
Теперь на ресурсе доступ висит некоторое время.
Возможно ли прописать в коде проверку: если на странице explorer есть фраза "Вы успешно авторизировались", то переходим к строке в коде дальше, минуя авторизацию, а если нет, то идём дальше по коду просто (то есть проходим процесс авторизации)?
Это же вроде через условие можно сделать, с проверкой по фразе?

Покажите код всей страницы . Вы показали как всегда кусочек , на снимке видно только таблица . Но она же появляется по какому то событию , она же не постоянно отображается на экране ? Наверняка где то в коде регулируется свойство display таблицы. Надпись показывает лишь только то , что Вы прошли авторизацию . Вам нужно или выложить сюда код , или нанять программиста. Вы так долго с бубном плясать будете. :))
P.S а вообще таблице присвоен класс tableborder , ищите в коде getelementsByClassName('tableholder') .
Что то типа такого .
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39992025
DarkMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опоздал , долго писал. :)
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39992027
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker, проще всего получить код страницы как текст и проверить на наличие этой фразы ( InStr )
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39992052
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да какие тут сложности, не нужны селекторы , не нужен поиск по тегам,классам,айдишникам, и не нужны куски кода другие на html, ищем то фразу на странице.
Можно при помощи inStr и xml действительно.

Вот рабочий пример парсинга по вашему куску html:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Set dcm = CreateObject("msxml2.xmlhttp")
        dcm.Open "POST", "http://ВАШ_ПУТЬ_ДО_СТРАНИЦЫ", False
        dcm.send
    strVar = dcm.responseText
    If InStr(strVar, "Вы успешно авторизировались") > 0 Then
    MsgBox "Ура, я нашел на странице фразу - Вы успешно авторизировались "
    Else
    MsgBox "Я НЕ нашел на странице фразу - Вы успешно авторизировались"
    End If



Можете повесить его на кнопку и поиграЦЦа.
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39992284
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей Лалов,

А что такое msxm12.xmlhttp ?
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39992333
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker
Сергей Лалов,

А что такое msxml2.xmlhttp ?


Это ваше решение)
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39992341
greker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей Лалов,

Ничего не понял)
...
Рейтинг: 0 / 0
VBA Access 2016 использование текстовых значений
    #39992346
Фотография Сергей Лалов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
greker,

Хех, это библиотека, которая в вашем случае позволяет делать веб запросы к сайтам (и не только) с целью ввода,вывода или редактирования данных на запрашиваемом ресурсе. Одна из нескольких библиотек, которые активно используются VBA сообществом.
...
Рейтинг: 0 / 0
61 сообщений из 61, показаны все 3 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / VBA Access 2016 использование текстовых значений
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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