在报告中逐行检查

Posted

技术标签:

【中文标题】在报告中逐行检查【英文标题】:Checking Row by Row in a report 【发布时间】:2013-08-27 08:39:58 【问题描述】:

关于这个问题,

Changing Row Colour according to condition

我熟悉了条件格式。但是我仍然面临这个问题。

我正在使用此代码将时间转换为以分钟为单位的时间。

Dim TestString As String

TestString = Me.Duration

Dim TestArray() As String

TestArray = Split(TestString, ":")

Dim Hours As String
Dim Minutes As String
Dim Seconds As String

Dim HoursMinutes As Integer
Dim MinutesMinutes As Integer
Dim SecondsMinutes As Integer

Hours = TestArray(0)
Minutes = TestArray(1)
Seconds = TestArray(2)

HoursMinutes = CInt(TestArray(0)) * 60
MinutesMinutes = CInt(TestArray(1))
SecondsMinutes = CInt(TestArray(2)) / 60

Dim TimeInMinutes As Integer

TimeInMinutes = HoursMinutes + MinutesMinutes + SecondsMinutes

Me.Duration = TimeInMinutes

但是,由于某种原因,这不起作用。

您有什么想法我该如何为单独的行执行此操作?

提前致谢

添加:

我尝试为 Minutes 创建一个字段,但问题是它们会得到相同的数字。

【问题讨论】:

***.com/questions/18438469/…(参考这个问题) 我尝试为分钟创建一个字段,但问题是它们会得到相同的数字。 【参考方案1】:

以下代码有一个名为 dateTime 的字符串变量,它以这种格式存储当前日期和时间:27/08/2013 10:55:52

dateTime 字符串被拆分为 Variant arr 数组

Split(dateTime, Chr(32))(1) 返回时间10:55:52 dateTime 变量的一部分

然后Split(Split(dateTime, Chr(32))(1), ":")使用:(冒号)作为分隔符将时间分成3个数字

所以你最终会得到arr 持有# of hrs、# of minutes、# of seconds。

CLng((arr(0) * 60) + arr(1) + (arr(2) / 60)) 返回计算时间值的整数/长整数表示

将下面的 sub 粘贴到新模块中并运行它

Sub Convert()

    Dim dateTime As String
    dateTime = now

    Dim arr
    arr = Split(Split(dateTime, Chr(32))(1), ":")

    MsgBox "The time " & Split(dateTime, Chr(32))(1) & vbCrLf & _
        " as Integer is equal to " & CLng((arr(0) * 60) + arr(1) + (arr(2) / 60))

End Sub

【讨论】:

我做到了!谢谢,但是我尝试将类似的更改代码插入到 Detail_Paint 函数中。我的问题是条件格式出现的,然后在我向下滚动报告时刷新..

以上是关于在报告中逐行检查的主要内容,如果未能解决你的问题,请参考以下文章

如何从 C++ 中的文本文件中逐行读取整数? [复制]

在 Go 中逐行读取文件

如何在 Python 中逐行打印字典?

golang 在#golang中逐行读取文件

在 Swift 中逐行读取文本文件?

在 C 中逐行浏览文本文件