在MS ACCESS中检索所有表

时间:2014-10-06 03:18:38

标签: vb.net

我在如何检索数据库中每个表的2个字段时遇到问题。我在MS Access中保存了3个表,即:RegularPassenger,DisablePassenger和VIPPassenger,每个表都有2个字段,分别是SeatsNo和Filled。

场景是我想让用户看看他们所选择的座位是否已经保留,如果已经保留,则表示彩色按钮。我到目前为止所做的代码是我只能检索一个表。

代码是:

Imports System
Imports System.Data.OleDb

Public Class SeatsAlignment
Dim con As New System.Data.OleDb.OleDbConnection
Dim cmd As New System.Data.OleDb.OleDbCommand
Dim CntRw As Integer
Private Function CheckReservation(ByVal StNo As String) As Boolean
    If con.State = ConnectionState.Open Then con.Close()
    con = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\laptop\Documents\Trial\Sample.accdb")
    con.Open()
    cmd.CommandType = CommandType.Text
    cmd.CommandText = "Select Count(*) From RegularPassenger Where SeatNo=@StNo And Filled=@StFld"
    cmd.Parameters.Add("@StNo", OleDb.OleDbType.VarChar, 10).Value = StNo
    cmd.Parameters.Add("@StFld", OleDb.OleDbType.VarChar, 10).Value = "RESERVED"
    cmd.Connection = con
    CntRw = cmd.ExecuteScalar()
    cmd.Parameters.Clear()
    cmd.Dispose()
    con.Close()
    con.Dispose()
    Return IIf(CntRw > 0, True, False)
End Function
Private Sub SeatsAlignment_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    RPS.Enabled = False
    DPS.Enabled = False
    VPS.Enabled = False
    TextBox1.Enabled = False
    TextBox2.Enabled = False
    Dim Buttons As New List(Of Button) From {A3, A4, A5, A6, A7, B3, B4, B5, B6, B7, _
        C3, C4, C5, C6, C7, D3, D4, D5, D6, D7, E3, E4, E5, E6, E7, F3, F4, F5, F6, F7}
    For Each btn As Button In Buttons
        If Me.CheckReservation(btn.Name) Then
            btn.BackColor = Color.Firebrick
            btn.Enabled = False
        End If
    Next
End Sub
Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
    If MsgBox("Are you sure you want to EXIT?", vbYesNo + vbQuestion, _
        "Philippine Sweets Airline") = vbYes Then
        Me.Close()
    End If
End Sub
End Class

我不知道第14行上的确切代码是什么来检索所有3个表。

1 个答案:

答案 0 :(得分:0)

您可以使用系统表来获取表格列表:

SELECT Name FROM MSysObjects 
WHERE Type=1 AND Flags=0

更多信息:http://access.mvps.org/Access/queries/qry0002.htm