powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Форма для параметров
8 сообщений из 8, страница 1 из 1
Форма для параметров
    #36428126
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день! У меня в коде используется несколько импутбоксов для параметров
Код: plaintext
1.
2.
3.
dt = InputBox("Введите дату в формате дд.мм.гг", "Ввод даты", Format(Date, "dd.mm.yy"))
dt_tm1 = InputBox("Введите дату и время в формате дд.мм.гг чч:мм:сс", "Ввод даты", Format(Date, "dd.mm.yyyy hh:mm:ss"))
dt_tm2 = InputBox("Введите дату и время в формате дд.мм.гг чч:мм:сс", "Ввод даты", Format(Date, "dd.mm.yyyy hh:mm:ss"))
cl = InputBox("Введите месяц в формате ммгггг", "Ввод месяца")
Это не совсем удобно. Хочу все эти параметры перенести в форму. Не подскажите как это сделать?
...
Рейтинг: 0 / 0
Форма для параметров
    #36428139
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hum_i,

Нажать ALT-F11
Добавить UserForm
Добавить контролы
...
Рейтинг: 0 / 0
Форма для параметров
    #36428246
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это все понятно. Я добавила форму. На ней разместила 2 текст бокса. В один вводится дата и эта дата подставляется в запрос в качестве параметра
Код: plaintext
1.
2.
3.
4.
Sql = "select count(t.chrg_id), sum(t.amount_$)"
Sql = Sql & " from bis.charges t"
Sql = Sql & " where t.prcl_prcl_id=10287"
Sql = Sql & " and t.del_user is null"
Sql = Sql & " and t.navi_date like '" & dt & "'"
Во второй вводится текст. Это тоже параметр, который подставляется сюда
Код: plaintext
1.
2.
Sql = "select count(1) from calls_" & cl & " t"
Sql = Sql & " where t.dialed like '0770' and t.rec_type like '08'"
Sql = Sql & " and t.start_time like '" & dt & "'"
в коде я добавила следующее...
Код: plaintext
1.
2.
3.
4.
5.
6.
Dim dt
Dim cl As String

TextBox1 = dt
dt = Format(Date, "DD.MM.YY")

TextBox2 = cl
На форму я добавила кнопку. При нажатии на которую должны формироваться данные. Что должно быть в событии этой кнопки (какой код)? и и какой код нужно добавить, чтобы эта форма была видна при открытии Excel-ского дока?
...
Рейтинг: 0 / 0
Форма для параметров
    #36428871
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hum_i,

автор На форму я добавила кнопку. При нажатии на которую должны формироваться данные. Что должно быть в событии этой кнопки (какой код)?
нужен код для ADO.Connection, ADO.Recordset

автор
и и какой код нужно добавить, чтобы эта форма была видна при открытии Excel-ского дока?
В Workbook_Open userform1.show
...
Рейтинг: 0 / 0
Форма для параметров
    #36429449
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я добавила форму. Кинула на форму текстбоксы. прописала в коде
Код: plaintext
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.
Private Sub CommandButton1_Click()
Dim con As ADODB.Connection:    Set con = New ADODB.Connection

Dim dt As Date
Dim cl As String

dt = UserForm1.TextBox1.Value
cl = UserForm1.TextBox2.Value

con.Open "Provider=MSDAORA.1;Password=pwd;User ID=user;Data Source=mydb;Persist Security Info=True"
...
Dim w As Integer
Dim i As Integer
For i =  1  To ActiveSheet.Columns.Count
If Cells( 1 , i).Value = "" Then
         w = i
...
Cells( 1 , i).Value = dt

Dim rspricall1 As ADODB.Recordset:         Set rspricall1 = New ADODB.Recordset
Set rspricall1.ActiveConnection = con

Sql = "select count(t.chrg_id), sum(t.amount_$)"
Sql = Sql & " from bis.charges t"
Sql = Sql & " where t.prcl_prcl_id=10287"
Sql = Sql & " and t.del_user is null"
Sql = Sql & " and t.navi_date like '" & dt & "'"

rspricall1.Open Sql, con
Sheets("Лист1").Select
Cells( 3 , i).Value = rspricall1.Fields( 0 ).Value
If Not IsNull(rspricall1.Fields( 1 ).Value) Then Cells( 4 , i).Value = rspricall1.Fields( 1 ).Value Else Cells( 4 , i).Value =  0 
rspricall1.Close
...
Dim rspricall17 As ADODB.Recordset:         Set rspricall17 = New ADODB.Recordset
Set rspricall17.ActiveConnection = con

Sql = "select count(1) from calls_" & cl & " t"
Sql = Sql & " where t.dialed like '0770' and t.rec_type like '08'"
Sql = Sql & " and t.start_time like '" & dt & "'"

rspricall17.Open Sql, con
Sheets("Лист1").Select
Cells( 55 , i).Value = rspricall17.Fields( 0 ).Value
rspricall17.Close
При выполнении вставляет нулевые значения, хотя данные по запросу есть. Не подскажите почему может быть такое?
...
Рейтинг: 0 / 0
Форма для параметров
    #36433720
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день еще раз! Смотрю ни кто не хочет помочь, может вопрос не понятен. Вот код
Код: plaintext
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.
Private Sub CommandButton1_Click()
Dim con As ADODB.Connection:    Set con = New ADODB.Connection

con.Open "Provider=MSDAORA.1;Password=ro;User ID=ro;Data Source=ttmbdb.ttmobile.tj;Persist Security Info=True"

Dim dt As Date
dt = UserForm1.TextBox5.Value

Dim w As Integer
Dim i As Integer
For i =  1  To ActiveSheet.Columns.Count
If Cells( 1 , i).Value = "" Then
         w = i
         
Sheets("Лист1").Select
    Cells( 1 , i).Value = dt

'Заказ мелодии категории 1$
Dim rspricall7 As ADODB.Recordset:         Set rspricall7 = New ADODB.Recordset
Есть форма. На ней один текст бокс и кнопка. При запуске я ввожу в текст бокс дату, нажимаю кнопку и на листе Excel появляются данные, но данные НУЛЕВЫЕ. это не верно, так как запрос возвращает НЕ НУЛЕВЫЕ данные. Помогите пожалуйста.
Set rspricall7.ActiveConnection = con

Sql = "select count(t.chrg_id), sum(t.amount_$)"
Sql = Sql & " from bis.charges t"
Sql = Sql & " where t.prcl_prcl_id=10109"
Sql = Sql & " and t.del_user is null"
Sql = Sql & " and t.navi_date like '" & dt & "'"

rspricall7.Open Sql, con
Sheets("Лист1").Select
Cells( 23 , i).Value = rspricall7.Fields( 0 ).Value
If Not IsNull(rspricall7.Fields( 1 ).Value) Then Cells( 24 , i).Value = rspricall7.Fields( 1 ).Value Else Cells( 24 , i).Value =  0 
rspricall7.Close

Exit For
End If
Next i
End Sub
...
Рейтинг: 0 / 0
Форма для параметров
    #36433754
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день еще раз! Смотрю ни кто не хочет помочь, может вопрос не понятен. Вот код
Код: plaintext
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.
Private Sub CommandButton1_Click()
Dim con As ADODB.Connection:    Set con = New ADODB.Connection

con.Open "Provider=MSDAORA.1;Password=pwd;User ID=user;Data Source=mydb;Persist Security Info=True"

Dim dt As Date
dt = UserForm1.TextBox5.Value

Dim w As Integer
Dim i As Integer
For i =  1  To ActiveSheet.Columns.Count
If Cells( 1 , i).Value = "" Then
         w = i
         
Sheets("Лист1").Select
    Cells( 1 , i).Value = dt

Dim rspricall7 As ADODB.Recordset:         Set rspricall7 = New ADODB.Recordset
Set rspricall7.ActiveConnection = con

Sql = "select count(t.chrg_id), sum(t.amount_$)"
Sql = Sql & " from charges t"
Sql = Sql & " where t.prcl_prcl_id=10109"
Sql = Sql & " and t.del_user is null"
Sql = Sql & " and t.navi_date like '" & dt & "'"

rspricall7.Open Sql, con
Sheets("Лист1").Select
Cells( 23 , i).Value = rspricall7.Fields( 0 ).Value
If Not IsNull(rspricall7.Fields( 1 ).Value) Then Cells( 24 , i).Value = rspricall7.Fields( 1 ).Value Else Cells( 24 , i).Value =  0 
rspricall7.Close

Exit For
End If
Next i
End Sub
Есть форма. На ней один текст бокс и кнопка. При запуске я ввожу в текст бокс дату, нажимаю кнопку и на листе Excel появляются данные, но данные НУЛЕВЫЕ. это не верно, так как запрос возвращает НЕ НУЛЕВЫЕ данные. Помогите пожалуйста.
...
Рейтинг: 0 / 0
Форма для параметров
    #36434432
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hum_i,

после строки Sql = Sql & " and t.navi_date like '" & dt & "'"
добавьте строку debug.? sql
Скопируйте из отладчика значение запроса в оракл и посмотрите что будет.
после строки Sheets("Лист1").Select
поставьте код
range("A1").CopyFromRecordset rspricall7
end
и сравните то, что увидели в оракле и в экселе.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Форма для параметров
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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