2009-09-01 9 views

答えて

8

バインドされた列は、コントロールソース(リストボックスがバインドされている場合)の値を設定するために、行ソースのどの列が使用されるかを示す数値です。

ここでは列名を使用できないことに注意してください。したがって、バインドされた列を列名に設定するのではなく、列番号を使用する必要があります。

もう1つの問題は、列番号が1(ゼロ以外)から始まることです。 OFTENは、第1列の長さがゼロに設定されていることに注意してください。それはあなたが、リストボックスは、一部の説明が表示されます

select PartNumber, PartDescripton from tblParts 

ようなもので、リストボックスを持つことができますが、あなたがバインドされた列= 1を設定した場合は、その後、リストボックスは、リストボックスがその事実にもかかわらず、製品型番を返します。 (最初の列の長さを0に設定しているため0に設定されているため)リストボックスから列の値を取得するには、

([lstBox1] .Column)

上記の列フィーチャはゼロベースであることに注意してください。したがって、1 = 2列目

+0

私はそのクエリの最初の列としてPartIDを持っていたでしょう。しかし、少し軽蔑する。 –

3

これは、リストボックスの値を設定するために使用されるデータセットの列です。例えば、それは、クエリでデータセットにバインドされている場合:

select firstname,lastname,userid from users; 

をその後、(上記の例では3)のユーザーIDにバインドされた列を設定したユーザID情報は、リストボックスの値として返されるようになります。

+2

バインドされた列は、リストボックスの値として返される列ですが、リストボックスで表示される列(必ずしも列の幅を設定することによって制御される列)ではありません。上記の例では、 IDをユーザーから隠すために、連結列を1に、列幅を例えば0cm; 2cmに設定します。 – Fionnuala

+0

ありがとうございます@Remou、修正するように更新しました。 – paxdiablo

+0

バインドされた列はゼロベースではありません:) – Fionnuala

0

バインドされた列は、フォームが保存するデータです。たとえば、employeeIDとemployeeNameのリストボックスまたはコンボボックスがあり、バインドされた列を0に設定した場合、フォームは の従業員ID番号を保存し、その値を対応するテーブルに挿入します。 あなたはこのVBAを使用して、これを参照しているその値をテストすることができます

Private Sub ComboBoxName_AfterUpdate() 
    MsgBox ("bound column is: " & Me.ComboBoxName.BoundColumn & ". value is: " & Me.ComboBoxName.Column(0))'change 0 to whatever number column is bound 
End Sub 

バインドされた列のルールが最初の列がフォームに隠されている場合にも適用されます。たとえば、ユーザーは従業員リストから「Mike Jones」を選択できますが、フォームはデータ使用のためにMike JonesのemployeeIDを保存します(このIDは販売記録のテーブルなどに格納できます)。

関連する問題