вопрос

Ответы на вопросы "А может ли он сделать такое..?" или "Как сделать вот это..?"
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: вопрос

Сообщение sannx »

Создайте переменную в СпРоботе, присвойте ей значение внутри VB Script, и используйте ее в "Если равно".
DePlus
Сообщения: 38
Зарегистрирован: 25 апр 2012, 02:35

Re: вопрос

Сообщение DePlus »

Подскажите, пожалуйста, как мне вытащить данные из команды “Выполнить SQL запрос” и сравнить их с номером полученным из переменной Var команды “Начать автообзвон”.
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: вопрос

Сообщение sannx »

Смотрите в Справке команду "Получить значение из SQL выборки"
DePlus
Сообщения: 38
Зарегистрирован: 25 апр 2012, 02:35

Re: вопрос

Сообщение DePlus »

Подскажите, пожалуйста, так ли это что команда "Начать автообзвон" просто набирает номер и поднимает трубку, но сам звонок не производит.
И ещё можете подсказать, как в VB.NET сделать SQL запрос в базу данных так чтобы он выводил не только те поля, которые я ищу, но и связанные с ними поля с ключами.

Вод код для примера:

Public Class Form1

Private Property Kr As Object
Private Property Input As Object
Private Property Open As Object
Private Property sql As OleDb.OleDbCommand

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Hislo2 As Integer
Hislo2 = TextBox1.Text
' описание переменных cn (соединение с базой данных) и rs (набор записей базы данных)
' cmd содержит адрес базы данных
' sql - SQL-запрос
'провести поиск в соответствии с некоторым критерием
Dim cmd As String
Dim sql As String
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
cmd = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
"путь к базе данных\" & "путь к распложению файла базы данных SQL Сервер"
cn = New ADODB.Connection

With cn
.ConnectionString = cmd
.Open()
End With
' переменная Kr служат для хранения критериев поиска:
Kr = Hislo2 'Критерий, в соответствии с которым будет проводиться поиск
' SQL запрос, в соответствии с которым выводятся только те строки, которые соответствуют критерию
' Nam IN это имена одной или нескольких таблиц, из которых производится выборка
sql = "SELECT Nam IN *From Where = +Kr+ "

rs = New ADODB.Recordset

'Объявляем переменную Hislo1 для импорта данных из открытого файла
Dim Hislo1 As Integer
Dim Hislo3 As Integer

With rs
' открыть только те строки таблицы, которые соответствуют критерию
.Open(sql, cn, "adOpenKeyset", "adLockOptimistic")
Input(Open()) = Hislo1
End With '[/b]
'Сравниваем значения переменных
If Hislo1 = Hislo2 Then
Hislo3 = Hislo1

End If
MsgBox("Результат поиска: " & Hislo3)
End Sub
End Class[/color]
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: вопрос

Сообщение sannx »

Подскажите, пожалуйста, так ли это что команда "Начать автообзвон" просто набирает номер и поднимает трубку, но сам звонок не производит.
Эта команда только предоставляет очередной номер для обзвона и снимает трубку. Номер она не набирает и соответственно звонок не производит.
И ещё можете подсказать, как в VB.NET сделать SQL запрос в базу данных так чтобы он выводил не только те поля, которые я ищу, но и связанные с ними поля с ключами.
Хм.. Ну, сделайте запрос с JOIN или соедините таблицы в WHERE.
DePlus
Сообщения: 38
Зарегистрирован: 25 апр 2012, 02:35

Re: вопрос

Сообщение DePlus »

А можете, пожалуйста, показать на примере кода указанного мной выше как будет выглядеть запрос JOIN.
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: вопрос

Сообщение sannx »

Опишите словами, какие данные вы хотите получить.
DePlus
Сообщения: 38
Зарегистрирован: 25 апр 2012, 02:35

Re: вопрос

Сообщение DePlus »

Мне нужно чтобы при нахождении допустим номера телефона в базе данных sql сервер, программа открывала не только поле номер телефона, но и связанное с ним общее ключевое поле для группы номеров. Плюс к этому у этого ключевого поля должно считывается индивидуальное значение. Это значение представляет собой поле, в котором указывается, был ли звонок на этот номер за сегодня или не был. Мне нужно считать индивидуальное значение ключевого поля поле в переменную.
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: вопрос

Сообщение sannx »

Хм.. Лучше приведите структуру таблиц, которые вы используете, и покажите, что с чем должно быть связано. Без этого непонятно.
DePlus
Сообщения: 38
Зарегистрирован: 25 апр 2012, 02:35

Re: вопрос

Сообщение DePlus »

Вот структура:
Изображение
Последний раз редактировалось DePlus 03 май 2012, 15:26, всего редактировалось 1 раз.
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: вопрос

Сообщение sannx »

Я так понял, что это 3 номера одного абонента. Почему ключевое поле заполнено только у одного номера, а не у всех?
DePlus
Сообщения: 38
Зарегистрирован: 25 апр 2012, 02:35

Re: вопрос

Сообщение DePlus »

Извините за приведшую таблицу, я её перезолил.
Ключевое поле является общим, для данной группы адресов то есть все три номера завязаны на один ключ.
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: вопрос

Сообщение sannx »

Это ваша таблица и вы хотите ориентироваться на нее, чтобы определить, звонить на очередной номер или нет?
DePlus
Сообщения: 38
Зарегистрирован: 25 апр 2012, 02:35

Re: вопрос

Сообщение DePlus »

Да именно так.
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: вопрос

Сообщение sannx »

Наверное, вы еще собираетесь записывать результат дозвона на номер в эту таблицу?
DePlus
Сообщения: 38
Зарегистрирован: 25 апр 2012, 02:35

Re: вопрос

Сообщение DePlus »

Результат дозвона это поле таблицы "значение ключа".
Скрипта VB .NET будет два; Один в начале и один в конце.
Первый считывает поле "значение ключа" и от этого и даёт разрешение или запрет на дальнейший звонок.
А второй при условии удачного звонка переписывает поле "значение ключа".
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: вопрос

Сообщение sannx »

Во-первых, SpRobot не работает с VB .NET. Он использует VB Script.
Во-вторых, во многих случаях второй ваш скрипт не выполнится, т.к. если во время "разговора" появится сигнал "занято", то SpRobot прервет выполнение алгоритма.

Поэтому единственный вариант в вашем случае - это анализировать таблицы самого SpRobot, чтобы определить, звонили на номер абонента или нет.
DePlus
Сообщения: 38
Зарегистрирован: 25 апр 2012, 02:35

Re: вопрос

Сообщение DePlus »

Можете подсказать, как проанализировать таблицы самого SpRobot.
Получается что скрипт, написанный мной выше на Microsoft Visual Studio, не будет работать в SpRobot.
Последний раз редактировалось DePlus 20 май 2012, 19:53, всего редактировалось 1 раз.
Аватара пользователя
sannx
Администратор
Сообщения: 2306
Зарегистрирован: 02 ноя 2011, 14:00
Skype: sann-x
Контактная информация:

Re: вопрос

Сообщение sannx »

Думал я, думал.. И ничего не придумал. Не вижу способ, как реализовать в текущей версии SpRobot обзвон абонента по нескольким номерам, используя SQL-запросы или VB Scripts. Придется ждать след. версии SpRobot.
DePlus
Сообщения: 38
Зарегистрирован: 25 апр 2012, 02:35

Re: вопрос

Сообщение DePlus »

У меня появилась новая идея как всё это организовать. Если интересно, то в следующем сообщении я приведу логическую схему программы и фрагменты кода.
Но проблема в том, что я новичок в среде программирования Visual Basic Script поэтому мне не помешал бы совет более опытного программиста.
Ответить