Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Вывод данных2 Добавлено: 15.01.10 08:17  

Автор вопроса:  Iren | ICQ: 496876583 
Добрый день! я вытаскиваю данные из рекордсета
Cells(3, 2).Value = rspricall1.Fields(1).Value

Но вот если значение null, дает ошибку. Подскажите пожалуйста как это избежать?

Ответить

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

Номер ответа: 1
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #1
Добавлено: 15.01.10 08:32
  1.  
  2. If rspricall1.Fields(1).Value <> null Then Cells(3, 2).Value = rspricall1.Fields(1).Value

Ответить

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



ICQ: 496876583 

Вопросов: 11
Ответов: 25
 Профиль | | #2 Добавлено: 15.01.10 09:29
Cells(3, i).Value = rspricall1.Fields(1).Value
If rspricall1.Fields(2).Value <> Null Then Cells(4, i).Value = rspricall1.Fields(2).Value

ошибку дает: Не удается найти объект в семействе, соответствующий имени или порядковому номеру

Ответить

Номер ответа: 3
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #3
Добавлено: 15.01.10 11:10
Iren, покажи весь код.

Ответить

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



ICQ: 496876583 

Вопросов: 11
Ответов: 25
 Профиль | | #4 Добавлено: 15.01.10 11:30
Public Sub Workbook_Open()
Pri_Call
End Sub

Sub Pri_Call()
Dim con As ADODB.Connection:    Set con = New ADODB.Connection

'Dim dt As Date
'dt = Format(Date, ";DD.MM.YY";)

dt = InputBox("Введите дату в формате дд.мм.гг", "Ввод даты", Format(Date, "dd.mm.yy";))

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

Cells(1, 1).Value = "Pri:) Call"
Cells(2, 1).Value = "Заказ мелодии категории 0,00$"
Cells(3, 1).Value = "Кол-во заявок (шт.)"
Cells(4, 1).Value = "Сумма, USD с НДС"

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
       
'Заказ мелодии категории 0,00$
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(1).Value
If rspricall1.Fields(2).Value <> Null Then Cells(4, i).Value = rspricall1.Fields(2).Value

rspricall1.Close

Ответить

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



Вопросов: 23
Ответов: 417
 Профиль | | #5 Добавлено: 15.01.10 20:09
  1. If Not IsNull(rspricall1.Fields(2).Value) Then Cells(4, i).Value = rspricall1.Fields(2).Value

Ответить

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



Вопросов: 23
Ответов: 417
 Профиль | | #6 Добавлено: 15.01.10 20:15
Да, вот еще что. В результате запроса будет строка с 2 полями count(t.chrg_id) и sum(t.amount_$). А обращаться к ним нужно вот так 1 поле по порядку - Fields(0), второе - Fields(1). Т. е. нумерация с 0.
Можно также по именам: запрос первая строка как "select count(t.chrg_id) as MyCount, sum(t.amount_$) as MySum". А к полям обратиться как Fields("MyCount";).Value, Fields("MySum";).Value

Ответить

Страница: 1 |

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



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