Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Форма с параметрами Добавлено: 25.01.10 10:27  

Автор вопроса:  Iren | ICQ: 496876583 
Я добавила форму. На ней разместила 2 текст бокса. В один вводится дата. Это первый параметр, который подставляется в этот запрос
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 & "'"

Второй параметр это текст. Это тоже параметр, который подставляется сюда
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 & "'"

в коде я добавила следующее...
Dim dt
Dim cl As String

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

TextBox2 = cl

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

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 Iren



ICQ: 496876583 

Вопросов: 11
Ответов: 25
 Профиль | | #1 Добавлено: 26.01.10 07:26
Я добавила форму. Кинула на форму текстбоксы. прописала в коде
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

При выполнении вставляет нулевые значения, хотя данные по запросу есть. Не подскажите почему может быть такое?

Ответить

Номер ответа: 2
Автор ответа:
 Iren



ICQ: 496876583 

Вопросов: 11
Ответов: 25
 Профиль | | #2 Добавлено: 27.01.10 14:41
Добрый день еще раз! Смотрю ни кто не хочет помочь, может вопрос не понятен. Вот код
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 появляются данные, но данные НУЛЕВЫЕ. это не верно, так как запрос возвращает НЕ НУЛЕВЫЕ данные. Помогите пожалуйста.

Ответить

Номер ответа: 3
Автор ответа:
 Jasmin



Вопросов: 23
Ответов: 417
 Профиль | | #3 Добавлено: 28.01.10 21:59
Сильно не смотрела, потому как бежать надо.
Но у меня часто было так (работала с Access): системная дата разделитель /, дату для записи в запрос тоже формировала через /. И еще "вредный" Access :) желал работать с такими запросами только при формировании даты в формате "ММ/ДД/ГГГГ" и никак иначе. Если через точку пробовала, не желал ничего показывать, хотя в таблице данные были.
Вот так. Попробуй, может поможет.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам