Я очень новичок в программировании. Я использую Visual Basic 2010. У меня есть источник данных Access с именем CoreDataSet, в нем есть три таблицы: Rates, Vendors, Zones. Я привязал таблицу поставщиков к двум полям со списком, когда выбрано имя поставщика, первые три цифры их почтового индекса появляются в метке рядом с соответствующим полем со списком. Я хочу взять эти две метки (или два трехзначных почтовых индекса) и сделать перекрестную ссылку на таблицу «Зоны». Таблица зон имеет список из трехзначных почтовых индексов вверху (имена столбцов) и трехзначных почтовых индексов во втором столбце и выглядит следующим образом (пример):
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 будет ЗОНОЙ 3, а с 022 по 022 будет Зоной 1. Цель состоит в том, чтобы выбрать двух поставщиков (по одному в каждом поле со списком) и отобразить в форме на этикетке 1 и 2 их 3-значные почтовые индексы (сделано ) и применимые к ним зоны ИБП на этикетке 3 (не выполнено). Возможны ли перекрестные ссылки? Пожалуйста, помогите, спасибо.
У меня половина на работе. Я сделал запрос (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 доставки до любого почтового индекса, введенного в label2, и все работает нормально. Однако мне нужно выбрать различные "корабль из" не только 020...
Select [" + Label1 + "]
From Zones
Where (Zip = ?)
не работает. Как использовать параметр в предложении select или заставить его распознавать значение Label1 в качестве столбца для выбора?