我对编程很陌生。我正在使用 Visual Basic 2010。我有一个名为 CoreDataSet 的 Access 数据源,它有三个表:Rates、Vendors、Zones。I have binded the Vendors table to two Combo boxes, when a Vendors' Name is selected the first three digits of their zip code appears in a label next to the corresponding combo box. 我想使用这两个标签(或两个 3 位邮政编码)并交叉引用“区域”表。zone 表的顶部有一个三位数的 zip 列表(列名)和第二列的三位数 zip,如下所示(示例):
ID| ZIP | 020 | 021 | 022 ...
--+-----+--------+--------+-----------
1 | 020 | ZONE 1 | ZONE 2 | ZONE 3 ...
2 | 021 | ZONE 2 | ZONE 1 | ZONE 3 ...
3 | 022 | ZONE 3 | ZONE 2 | ZONE 1 ...
因此,从邮政编码 022 到 021 的运输将是 ZONE 3,而从 022 到 022 的运输将是 Zone 1。目标是选择两个供应商(每个组合框中一个)并在标签 1 和 2 中显示它们的 3 位数拉链(完成) 以及标签 3 中适用于它们的 UPS 区域(未完成)。交叉引用甚至可能吗?请帮忙,谢谢。
我得到了一半的工作。我已经完成了一个查询(QueriesTableAdapter.query1),如下所示:
Select [020]
From Zones
Where (Zip = ?)
我的VB代码是:
Private Sub Button2_Click(ByVal...blablabla)
Dim BTR As CoreDataSetTableAdapters.QueriesTableAdapter
BTR = New CoreDataSetTableAdapters.QueriesTableAdapter()
Dim returnValue As String
Dim zip1 As String
zip1 = Val(Label2.text)
returnValue - CTYPE(BTR.query1(zip1), String)
Label3.Text = returnValue
End Sub
这将选择从 020 shipping 到输入 label2 的任何 zip 的区域,并且工作正常。但是,我需要选择各种“发货人”,而不仅仅是 020...
Select [" + Label1 + "]
From Zones
Where (Zip = ?)
不起作用。如何在 select 子句中使用参数或让它将 Label1 的值识别为要选择的列?