Vb.net在搜索布尔值时,我无法从访问中返回数据行

时间:2016-10-24 13:40:57

标签: vb.net ms-access

我在这里搜索并搜索了谷歌,但我不确定要使用的术语,所以我没有运气搜索结果。

我正在将前端写入访问数据库。它记录了产品变更请求。流程是这样的 - 任何用户提交请求,并且请求的状态设置为" request"然后,管理员评估请求并确定是否需要更多信息才能继续,如果我们要继续进行没有其他信息,或者请求被拒绝。如果需要更多信息 - 他/她可以选择一个forkCost的方框作为例子。当他们提交'更新(将更改保存回数据库)我的代码然后应该通过电子邮件发送给那些与劳动相关的人,告知他们提供值以供进一步审查。然后它将状态设置为待处理。

我尝试这种方式 - 使用用户表(tblusers)它可以访问EngCost,MatlCost,LaborCost和ToolCost的是/否框。

如果在PCR表格上检查了劳动力盒 - 我正在尝试通过数据集查看用户表 - 查看劳动力成本列并返回所有" true"价值观 - 这样我才能回归'用于填充展望的字符串"发送至:"电子邮件。

这是我目前的代码

 Public Function sendto(field As String)

    Dim foundrows() As Data.DataRow
    'Dim e() As String
    ' Dim es As String
    'Dim fltr As Boolean = True

    foundrows = DsPcrMaintenance.Tables("tblUsers").Select(field & "<> 0")


    For i As Integer = 0 To foundrows.Count - 1

        e(i) = DsPcrMaintenance.Tables("tblusers").Rows(i)("email")

    Next

对于找到的所有行,我想要从该行获取电子邮件地址,然后将该数组合并到我的sendto的地址字符串中。

我使用&#39;字段&#39;将列名称传递给函数这工作 - 在这种情况下,领域是&#34; laborCost&#34;我添加了&lt;&gt; 0,所以它不是假的。 但是我什么都没有&#39;对于foundrows。我试过田野&amp; &#34;&LT;&GT; &#39; 0&#39;&#34;,我尝试了真假,0和-1,我无法得到结果。

基本上,我想查找分组的真实值,然后对于返回的每一行,构建我的&#34;到:&#34;邮件字串。 user@company.com; user@company.com等。

大多数类别都有多个发送到。很抱歉长期的后期审查是彻底的。

1 个答案:

答案 0 :(得分:1)

在你的循环中,你应该使用 foundRows 而不是原始表的行

Redim e(foundRows.Length)
For i As Integer = 0 To foundrows.Count - 1

    If Not IsDBNull(foundRows(i)("email")) Then
        e(i) = foundRows(i)("email").ToString()
    End If
Next