0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 31
1

Как передать значение из поля в командную строку?

11.05.2016, 23:42. Показов 951. Ответов 10
Метки нет (Все метки)

Подскажите, пожалуйста чайнику, думаю это не составит проблемы.
Короче, есть база данных в аксессе.
Там есть поле с номером телефона клиента.
Мне нужно сделать так, чтобы по нажатию на кнопку рядом с полем, этот самый номер набирался sip телефоном 3cxphone.
Передача значения телефону идет через командную строку в формате ""C:\Program Files (x86)\3CXPhone\3CXPhone.exe" sip:[number phone]".

Я в VBA и Эесессе - ноль, но начальник поручил это мне и тут не отвертишься.

Что я сделал:
в коде формы я взял имя поля - name - Business Phone
в коде модуля vba написал следующее:

Visual Basic
1
2
3
Public Sub dial()
Shell "C:\Program Files (x86)\3CXPhone\3CXPhone.exe" + "sip:" + "Business Phone"
End Sub
НО при запуске скрипта компиллятор выдает ошибку run-time error '53'
'file not found'

Что я сделал не так?
Мне всего то нужно передать содержимое поля в командную строку и выполнить.
И не знаю, как прикрутить кнопку вызова скрипта
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.05.2016, 23:42
Ответы с готовыми решениями:

Как передать параметр из поля формы в командную строку?
С помощью ASPSMARTUPLOAD гружу файл в базу, т.е есть страничка с формой form.asp и ее action - файл...

Как передать строку из слов и пробелов через командную строку?
Я сделал запуск проги через командную строку. Теперь считываю параметры. Ничего сложного. Один...

Как передать новую командную строку классу Dlg
Здравствуйте! Есть проект, exe-шка которого, будет запускаться из другого приложения с помощью...

Как передать параметр в командную строку через Delphi?
Есть куча параметров, набирать их лен Команды Run compmgmt.msc clipbrd.exe cleanmgr.exe ...

10
Эксперт MS Access
26775 / 14454 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
12.05.2016, 00:11 2
1. Пропущен пробел между exe-файлом и "sip:"
2. Если Business Phone поле на форме, то надо вынести его из строки
Visual Basic
1
Shell """C:\Program Files (x86)\3CXPhone\3CXPhone.exe"" ""sip:" & Me.[Business Phone]
0
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 31
12.05.2016, 00:28  [ТС] 3
выдает ошибку "invalid Use of me keyword"
Что не так?
0
Эксперт MS Access
26775 / 14454 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
12.05.2016, 00:45 4
Цитата Сообщение от ekost Посмотреть сообщение
выдает ошибку "invalid Use of me keyword"
Что не так?
Предполагалось, что Вы нажимаете на кнопку в форме. Me это переменная-копия формы.

Сделайте в форме, в которой есть поле Business Phone кнопку и в процедуру на событии клика кнопки поместите написанный код.
Откройте форму в конструкторе, создайте мастером кнопку с любым содержанием. Выделите кнопку мышкой, зайдите в карточку свойств>=вкладка События. В строке Нажатие кнопки выберите из списка [Процедура обработки событий] и нажмите самую правую кнопку в этой же строке. Попадете в процедуру клика кнопки. Скопируйте туда написанный код. Если все имена правильные, то должно сработать.

Или выкладывайте БД на форум. Но у не знаю у кого есть пакет 3CXPhone для проверки.
0
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 31
12.05.2016, 02:09  [ТС] 5
Короче, ничего не могу понять.
Кнопка срабатывает. Телефон вызывается, но ничего не набирает. Такое чувство, что ему не передается номер.
Мне нужно, чтобы модуль выдавал командную строку с текстом: "C:\Program Files (x86)\3CXPhone\3CXPhone.exe" sip:+7????????????

Если этот текст вбивать в консоль, то номер набирается, то есть - код правильный.

Что делать? Пять часов уже сижу.

Вот мой тестовый файл:
Вложения
Тип файла: zip primer (1).zip (12.8 Кб, 7 просмотров)
0
8555 / 5426 / 568
Регистрация: 27.03.2013
Сообщений: 18,715
12.05.2016, 07:02 6
ekost, попробуйте создать кнопку автонабора номера с помощью Мастера кнопок.
Единственно, что циферки там должны быть без пробелов и тирешек.
Миниатюры
Как передать значение из поля в командную строку?  
0
шапоклякистка 8-го дня
3674 / 2234 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
12.05.2016, 09:51 7
Цитата Сообщение от ekost Посмотреть сообщение
Мне нужно, чтобы модуль выдавал командную строку с текстом: "C:\Program Files (x86)\3CXPhone\3CXPhone.exe" sip:+7????????????
1) Для этого вам надо, чтобы в поле ввода было введено именно +7????????????. У вас там ни маски ввода, ни проверки правильности. Я бы на вашем месте все-таки маску ввода задала.

2) по-моему проблема в расстановке кавычек, если я не ошибаюсь, то нужно примерно так:

Visual Basic
1
Shell """C:\Program Files (x86)\3CXPhone\3CXPhone.exe"" sip:" & Me.[Business Phone]
0
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 31
12.05.2016, 12:27  [ТС] 8
Цитата Сообщение от texnik-san Посмотреть сообщение
Для этого вам надо, чтобы в поле ввода было введено именно +7????????????. У вас там ни маски ввода, ни проверки правильности. Я бы на вашем месте все-таки маску ввода задала.
Номер я ввел для примера. Вместо него должно подставлятся значение из поля с номером
0
Нарушитель
Эксперт MS Access
7265 / 4467 / 288
Регистрация: 12.08.2011
Сообщений: 13,496
12.05.2016, 13:35 9
Цитата Сообщение от ekost Посмотреть сообщение
Что делать?
освоить команду debug.print и использовать в дальнейшем, например:

Visual Basic
1
Debug.Print """C:\Program Files (x86)\3CXPhone\3CXPhone.exe"" ""sip:" & Me.[phone]
выдаёт:

Visual Basic
1
"C:\Program Files (x86)\3CXPhone\3CXPhone.exe" "sip:76899
ясно видно, что кавычка лишняя
0
0 / 0 / 0
Регистрация: 04.10.2012
Сообщений: 31
12.05.2016, 13:47  [ТС] 10
Все, проблема решена, спасибо за помощь.
0
шапоклякистка 8-го дня
3674 / 2234 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
12.05.2016, 17:41 11
Цитата Сообщение от ekost Посмотреть сообщение
Номер я ввел для примера. Вместо него должно подставлятся значение из поля с номером
Я понимаю. Но сейчас ничто не заставлят пользователя вводить именно номер телефона.

Обратите внимание на свойство "Маска ввода" (почитайте хелп) - в вашем случае может быть очень полезным.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.05.2016, 17:41
Помогаю со студенческими работами здесь

Как получить и передать параметры из другой программы (через командную строку)?
Как получить и передать параметры из другой программы (через командную строку)

JS: Передать параметр в командную строку
На предприятии есть программа для управления компьютерами - лаунчер, в него попросили добавить...

Передать аргумент через командную строку
Cледующая программа попросту выписывает Hello, world на экран. Компилирую следующую программу как...

Передать параметры через командную строку
Здравствуйте, господа. Пишу одну вещь на Java FX (через Intellij IDEA 13.1.1). В итоге должен...

Передача данных из поля в командную строку
Доброго времени суток! Заранее извиняюсь, если может вопрос где-то и звучал, прошу Вашей помощи...

Передать параметры в командную строку и перехватить результат обратно в приложение
Дорого времени суток! Есть небольшая задача: необходимо из C# приложения вызвать выполнение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru