Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Форма для параметров / 8 сообщений из 8, страница 1 из 1
25.01.2010, 08:17
    #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
25.01.2010, 08:40
    #36428139
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма для параметров
hum_i,

Нажать ALT-F11
Добавить UserForm
Добавить контролы
...
Рейтинг: 0 / 0
25.01.2010, 10:06
    #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
25.01.2010, 13:19
    #36428871
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Форма для параметров
hum_i,

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

автор
и и какой код нужно добавить, чтобы эта форма была видна при открытии Excel-ского дока?
В Workbook_Open userform1.show
...
Рейтинг: 0 / 0
25.01.2010, 15:58
    #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
27.01.2010, 14:28
    #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
27.01.2010, 14:38
    #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
27.01.2010, 17:53
    #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
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Форма для параметров / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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