VB.NET - 有没有办法在MS Access表中获取任何表上使用的查询的一列名称?

时间:2016-09-26 19:17:07

标签: vb.net ms-access

我试图在表中获取单个列的名称,并在查询中使用它来进行排序。

作为我想要实现的目标的一个例子如下:

TableA有两列:“FirstName”和“LastName”。

我向SELECT * FROM TableA WHERE LIKE [column 2 (LastName)]发出查询(请不要过于字面地理解这个问题)

然后TableB也有2列:“FirstName”和“SurName”。如图所示,第二列名称在两个表中都不同。

我必须将代码中的查询更改为TableB的“SurName”列。

我想知道是否有办法在任何表格中调出一个列并将其存储在一个变量中并在查询中使用它,以便它可以被“普遍”用于任何使用的表? / p>

我进行了搜索,并得出了将所有列名称放在表格中的结果。我正在尝试只查找一个列名。

先谢谢你。

2 个答案:

答案 0 :(得分:1)

首先,修复'设计使您的用户更轻松:

CREATE VIEW People ( family_name, first_name ) AS
SELECT LastName, FirstName
  FROM TableA
UNION
SELECT SurName, FirstName
  FROM TableB;

然后查询变得明显:

SELECT *
  FROM People
 WHERE family_name ALIKE 'Reg%';

答案 1 :(得分:0)

您可以从数据表中调用特定的列名。这意味着,您必须首先将信息从db传递给datatable。例如:

Dim Con as New SqlConnection("ur connection str")
Dim da as New SqlDataAdapter("Select * from [table]",Con)
Dim dt as New Datatable
da.Fill(dt)

Me.Label1.Text = dt.Columns(1).ColumnName