私はプログラミングが初めてです。Visual Basic 2010 を使用しています。CoreDataSet という名前の Access データ ソースがあり、Rates、Vendors、Zones の 3 つのテーブルがあります。Vendors テーブルを 2 つのコンボ ボックスにバインドしました。Vendors の名前を選択すると、対応するコンボ ボックスの横のラベルに郵便番号の最初の 3 桁が表示されます。これら 2 つのラベル (または 2 つの 3 桁の郵便番号) を取得し、「ゾーン」テーブルへの相互参照を行います。ゾーン テーブルには、上部 (列名) に 3 桁の zip のリストがあり、2 番目の列に 3 桁の 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 への配送はゾーン 3 になり、022 から 022 への配送はゾーン 1 になります。目標は、2 つのベンダー (各コンボ ボックスに 1 つずつ) を選択し、フォームのラベル 1 と 2 に 3 桁の郵便番号を表示することです (完了)。 ) およびそれらに適用される UPS ゾーンは、ラベル 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 shipping から label2 に入力された任意の zip までのゾーンが選択され、正常に機能します。しかし、020だけでなく、いろいろな「発送元」を選択する必要があります...
Select [" + Label1 + "]
From Zones
Where (Zip = ?)
動作しません。select 句でパラメーターを使用する方法、または選択する列として Label1 の値を認識するようにするにはどうすればよいですか?