【问题标题】:Display unchecked records from an Access database in VB.NET在 VB.NET 中显示 Access 数据库中未检查的记录
【发布时间】:2013-06-04 16:00:13
【问题描述】:

我正在创建一个应该与我的 Access 数据库一起使用的 VB.NET 应用程序。我创建了一个 Microsoft Access 2010 数据库 (.accdb) 并将其导入到 VB.NET 中,并制作了一张表以显示在我的表单上。在表单 1 上,我有一个链接到表单 2 的按钮,其中显示了数据库表。

我想要做的是生成某种IF 语句来说明记录中的特定字段是否未选中,而不是将其显示在表格 1 的列表框中。

例如,我有一个名为“started”的文件,它的数据类型是Yes/No。当未选中特定记录(空复选框)时,我希望它显示在表单 1 的列表框中。

有人可以告诉我这是否可行,我该如何去做?

编辑:在尝试了一些事情之后,这就是我目前所拥有的。表 'Jobs' 突出显示为未声明 ('Jobs' 未声明。由于其保护级别,它可能无法访问。) 我不知道如何做到这一点,因为数据库已连接。

 Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstTostart.SelectedIndexChanged
    Dim Started, SQLString As String
    Dim ConnectString As String = "Provider = Microsoft.ACE.OLEDB.12.0;" & "Data Source = KNmidlands_db.accdb"
    SQLString = "SELECT *  FROM Jobs WHERE Started = 0"  '--> 1 = Yes / 0 = No
    If Jobs.Rows.Count > 0 Then

        For x As Integer = 0 To Jobs.Rows.Count - 1

            lstTostart.Items.Add(Jobs.Rows(x).Item("whatever"))

        Next

    End If
End Sub

谢谢 亚历山大

【问题讨论】:

  • 你说的这些是VB.NET表单吗?
  • 戈德·汤普森,是的 VB.NET 表单。

标签: database vb.net ms-access


【解决方案1】:
Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'Me.OleDbDataAdapter1.Fill(Me.DataSet11.Jobs)
    Fill_List()
End Sub

Sub Fill_List()
    Dim ConnectString As String = "Provider = Microsoft.ACE.OLEDB.12.0; Data Source = kn.accdb"
    Dim con As New OleDbConnection(ConnectString)
    Dim da As OleDb.OleDbDataAdapter
    Dim dt As New DataTable

    con.Open()
    da = New OleDb.OleDbDataAdapter("SELECT *  FROM Jobs WHERE NOT Started = true", con)
    da.Fill(dt)

    MsgBox(Format(dt.Rows.Count))

    If dt.Rows.Count > 0 Then

        For x As Integer = 0 To dt.Rows.Count - 1

            ListBox1.Items.Add(dt.Rows(x).Item("Job ID"))

        Next

    End If
    con.Close()
End Sub

End Class

【讨论】:

  • 我有一个列表框,我想在其中显示我的数据库中的特定记录。我希望它显示在开始字段中有一个空复选框的记录的 ID/名称。因此,它检查数据库表 JOBS 查找字段 Started 为 no(或为空)的所有记录,并将它们显示在列表框中(使用记录的名称或 ID)。
  • 没有错误,但列表显示一个空项目(一个带有虚线边框和内部空白的矩形)。我做了一个新项目,带有新的数据库和数据库连接。我已经添加了 oledbDataAdapter 并创建了一个数据集并添加了一个带有代码的列表框。
  • 不,这也不起作用。如果你不介意你能在你的电脑上测试一个测试项目,看看有什么问题吗? - 如果你有时间的话。
  • 好的,这是我一直在做的测试项目:dl.dropboxusercontent.com/u/109348302/testKN.zip
  • @user1588549 : 试试吧.. 你可以改进一下
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-03
相关资源
最近更新 更多