Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Новый

Вывод 3-х минутных значений

12.07.2010, 12:07. Показов 804. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите что в коде надо изменить, чтобы заместо часовых значений вставали 3-х минутки, в кратце объясняю, вроде 3-х минутки встают, но не все 3-х минутки выводятся, точнее выводятся малоя часть их, а нужны все чтоб за сутки выводилось, то есть 20 3-х минуток за час, того выходит 480, а выводится всего штук 20, как исправить данную проблему. Сделано под VB, работает под Excel.


Visual Basic
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
Dim UserName As String
Dim UserPswd As String
Dim sqlserver As String
Dim curdate As String
Dim idvti As Integer
Dim ofs As Integer
Dim isexistlim As Boolean
Dim timeout As Integer
 
Public Sub GetHourEng()
  Dim str As String
  Dim oRes
  Dim oConn
  Dim oCmd
  Dim rndval As Long
  Dim index_x As Integer
  Dim index_y As Integer
  Dim dt1 As String
  Dim dt2 As String
  Dim i As Integer
  
  DecimalSeparator = "."
  
  Randomize Timer
  rndval = CLng(Rnd * 10000) + 50000
  
  ofs = 8
  isexistlim = True
      
  idvti = getidvti(fmMain.CBVti.List(fmMain.CBVti.ListIndex))
    
  ClearHourEng
  
' Ñîçäàåì îáúåêòû
  Set oConn = CreateObject("ADODB.Connection")
  Set oRes = CreateObject("ADODB.Recordset")
  Set oRs = CreateObject("ADODB.Recordset")
  Set oCmd = CreateObject("ADODB.Command")
    
  sqlserver = LoadParams(1)
  UserName = LoadParams(2)
  UserPswd = LoadParams(3)
  timeout = LoadParams(4)
    
' Ôîðìèðóåì ñòðîêó ñîåäèíåíèÿ
  s = "Provider=SQLOLEDB.1;Password=" & UserPswd & ";Persist Security Info=True;User ID=" & UserName & ";Initial Catalog=e6work;Data Source=" + sqlserver + ";Connect Timeout=" + CStr(timeout)
  oConn.Open s
    
  s = "select v.idvti, v.vtishrname, v.vtiusernumber, u.unitshrrusname  from e6pr.pr_vtilist v, e6pr.pr_dictunitslist u where v.outunit=u.idunit and idvti=" + CStr(idvti)
  oRs.Open s, oConn
  If Not oRs.EOF Then
    
    If fmMain.EdDate.Value <> "01.01.2001" Then
      curdate = Format(CDate(fmMain.EdDate.Value), "dd.mm.yyyy")
    Else
      curdate = Date
    End If
    
    Sheets("Ïîòðåáëåíèå").Cells(2, 2) = CStr(Date) + " " + CStr(Time)
    Sheets("Ïîòðåáëåíèå").Cells(3, 2) = "Òàáëèöà ÷àñîâîãî ïîòðåáëåíèÿ çà ñóòêè (" + curdate + ")"
    Sheets("Ïîòðåáëåíèå").Cells(4, 2) = "Êàíàë    " + oRs.Fields("vtishrname").Value
    Sheets("Ïîòðåáëåíèå").Cells(7, 5) = oRs.Fields("unitshrrusname").Value
    Sheets("Ïîòðåáëåíèå").Cells(7, 6) = oRs.Fields("unitshrrusname").Value
    Sheets("Ïîòðåáëåíèå").Cells(7, 7) = oRs.Fields("unitshrrusname").Value
    
    dt1 = Format(curdate, "dd.mm.yyyy") + " 00:00:00"
    dt2 = Format(CDate(curdate) + 1, "dd.mm.yyyy") + " 00:00:00"
  
    str = "exec ep_askvtidata @cmd=list, @idvti=" + CStr(idvti) + ", @timestart='" + dt1 + "', @timeend='" + dt2 + "'"
    str = str + ", @idreq=" + CStr(rndval)
    oCmd.ActiveConnection = oConn
    oCmd.CommandText = str
    oCmd.Execute
    
    str = "select idvti, valuefl, timertc, timesql, datepart(minute,timesql) as hh from vtidatalist where idreq=" + CStr(rndval) + " and idvti=" + CStr(idvti) + " order by timertc"
    oRes.Open str, oConn
    If Not oRes.EOF Then
      Do While Not oRes.EOF
        index_x = GetIndex_x_h(oRes.Fields("idvti").Value)  ' êîîðäèíàòà õ (ñòîëáåö)
        index_y = GetIndex_y_h(oRes.Fields("hh").Value)     ' êîîðäèíàòà y (ñòðîêà)
        Sheets("Ïîòðåáëåíèå").Cells(index_y, index_x) = oRes.Fields("ValueFl").Value
        oRes.MoveNext
      Loop
    End If
  
    GetLimStation     ' âûâîäèì ëèìèò
    End If
End Sub
 
 
Private Sub GetLimStation()
  Dim s As String
  Dim i As Integer
  Dim index_x As Integer
  Dim index_y As Integer
  Dim oRes
  Dim oConn
  Dim ind As Integer
  
  Set oConn = CreateObject("ADODB.Connection")
  Set oRes = CreateObject("ADODB.Recordset")
  
' Ôîðìèðóåì ñòðîêó ñîåäèíåíèÿ
  s = "Provider=SQLOLEDB.1;Password=" & UserPswd & ";Persist Security Info=True;User ID=" & UserName & ";Initial Catalog=e6work;Data Source=" + sqlserver + ";Connect Timeout=" + CStr(timeout)
  oConn.Open s
  
  s = "select * from DispGrafic where flg=1 and idvti=" + CStr(idvti) + " and AskedDate='" + curdate + "'"
  oRes.Open s, oConn
  If Not oRes.EOF Then
'    Sheets("Èñõîäíûå äàííûå").Select
    Do While Not oRes.EOF
      index_x = GetIndex_x_h(oRes.Fields("idvti").Value) - 1  ' êîîðäèíàòà õ (ñòîëáåö)
      For i = 0 To 23
        If ((Format(Date, "dd.mm.yyyy") = curdate) And (Hour(Time) <= i)) Then Exit For
        index_y = i + ofs
        Sheets("Ïîòðåáëåíèå").Cells(index_y, index_x) = oRes.Fields("lim" + CStr(i + 1)).Value
      Next
      oRes.MoveNext
    Loop
  Else
    MsgBox "Äëÿ êàíàëà íå çàäàí ëèìèòíûé ïëàí!"
    isexistlim = False
  End If
 
End Sub
 
Private Function GetIndex_x_h(id As Long)
  GetIndex_x_h = 6
End Function
 
Private Function GetIndex_y_h(h As Integer)
  If h = 0 Then h = 24
  GetIndex_y_h = h + ofs - 1
End Function
 
Public Function getidvti(s)
  Dim ind As Integer
  Dim str As String
  
  str = Left(s, Len(s) - 1)
  ind = InStr(1, str, "(")
  str = Right(str, Len(str) - ind)
  
  getidvti = CLng(str)
End Function
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.07.2010, 12:07
Ответы с готовыми решениями:

Вывод значений ассоциативного массива и подстановка этих значений в ссылки
Почему не вставляются значения в ссылку? &lt;?php $leftMenu = array( array('link' =&gt; 'Домой', 'href' =&gt; 'index.php'), ...

Поиск граничных значений в массиве и вывод группы значений по условию
Здравствуйте. Запутался при решении своей же задачи. Имеется два массива чисел: 1 и 2. В каждом по 100000 значений. Нужно найти все ячейки...

Вывод в список значений поля, одновременно допускающем несколько значений
Есть таблицы, 6 штук. Как через запрос вывести в список информацию о СМУ? например, выбираю объект строительства 2, (они связаны с...

1
1181 / 632 / 39
Регистрация: 30.05.2010
Сообщений: 715
15.07.2010, 21:41
Здравствуйте Новый.
Абсолютно абстрактный вопрос "..что .. изменить, чтобы заместо часовых значений вставали 3-х минутки,..?"
размышления:
выложенный Вами код предназначен для получения с SQL сервера данных заданного периода
Условие отбора включает в себя две даты:
dt1 = Format(curdate, "dd.mm.yyyy") + " 00:00:00" - заданная
dt2 = Format(CDate(curdate) + 1, "dd.mm.yyyy") + " 00:00:00" - заданная + 1
в свою очередь значение дата (переменная idvti) получается с контрола формы:
idvti = getidvti(fmMain.CBVti.List(fmMain.CBVti. ListIndex))
на сервере выполняется хранимая процедура ep_askvtidata
и в итоге открывается набор записей в условии отбора которого случайное число(?)
" ..where idreq=" + CStr(rndval) + " and.."
и где ловить три минуты?
Ваши надежды на получение "помощи", не оправданы.
Евгений.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.07.2010, 21:41
Помогаю со студенческими работами здесь

Вывод значений массива сортируя блоки по первым буквам значений
Привет всем! Читаю заголовок своей темы и поражаюсь своей фантазией )) Проблема вот в чем: есть массив, ключи - цифры, значения -...

SQL. Вывод значений из таблицы и подсчет количества этих значений в другой таблице
Задание звучит так: Для таблиц user и phones, где соответствие записей определяется равенством user.id = phones.user_id привести 2 разных...

Осуществить вывод значений аргумента и результатов вычислений значений функции в заданном диапазоне с заданным шагом
1)Задание: Вычислить значение заданной функции. Осуществить вывод значений аргумента и результатов вычислений значений функции в заданном...

Вычислить значение заданной функци на данном интервале с заданным шагом. Осуществить вывод значений аргумента и результатов вычислений значений функ
Вычислить значение заданной функции y=f(x) на данном интервале с заданным шагом. Осуществить вывод значений аргумента и результатов...

Осуществить вывод значений аргумента и функции, сопровождая вывод наименованиями переменных
Вычислить значение функции, заданной в таблице. Осуществить вывод значений аргумента и функции, сопровождая вывод наименованиями...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru