2016-09-24 7 views
0

Microsoft Access 2013のテーブルにルックアップフィールドを作成するにはどうすればよいですか(SQLのCREATE TABLEステートメントを使用)、データシートビューのドロップダウンボックスを使用して、フィールド内の1つまたは複数のエントリ?以下に示すようにSQLを使用してMicrosoft Access 2013でLookupフィールドを作成する方法は?

例がある(ユーザーが選択できる場所フルーツ/(S)彼/彼女がFav_Fruitフィールドのドロップダウンボックスから好き):

enter image description here

値ドロップダウンコントロールの別のテーブルから取得され、以下に示す(同じAccessデータベース内に格納されている)フルーツと呼ば:

enter image description here

お知らせください。

ありがとうございました。

答えて

0

シラーズ

これらは、VBAコードで作成する必要があるプロパティです。これはあなたのための選択肢ですか?

Function AddLookupField() 


    Dim db As DAO.Database 
    Dim fld As DAO.Field 
    Dim prp As DAO.Property 
    Dim tdf As DAO.TableDef 

    Set db = CurrentDb 
    Set tdf = db.TableDefs("MyTable") 

    Set fld = tdf.CreateField("Fav_Fruit", dbText) 
    tdf.Fields.Append fld 

    Set prp = fld.CreateProperty("DisplayControl", dbInteger, AcControlType.acComboBox) 
    fld.Properties.Append prp 

    Set prp = fld.CreateProperty("RowSourceType", dbText, "Value List") 
    fld.Properties.Append prp 

    Set prp = fld.CreateProperty("RowSource", dbText, "Orange; Pear; Apple") 
    fld.Properties.Append prp 


End Function 

この例では、値リスト(値の文字列)を使用しています。あなたは値が別のテーブル/クエリから来てほしい場合は、これらの性質を持つ実験:

Set prp = fld.CreateProperty("RowSourceType", dbText, "Table/Query") 
fld.Properties.Append prpProperty 
Set prp = fld.CreateProperty("RowSource", dbText, "SELECT ID FROM SomeOtherTable") 
fld.Properties.Append prpProperty 
+0

こんにちはダニエル、まあ、私は本当にむしろ、VBAを使用するよりも、SQL自体の中でこれを行うことができるように期待していました。.. 。:( –

+0

私は正直なところ、SQLのみでこれを行う方法を知らない。これはデータシートやテーブルビューで役立つDAOやADO機能(JET DBエンジン)ではないAccess機能のほうが多い。 Accessでテーブルデザインモードになっているときに、VBAやVBAを使って処理されるのはなぜですか?あなたの状況をもう少し理解すれば、おそらく助けになるかもしれませんが、SQLをどこで作成してテーブルを作成するかによって、おそらく、VBAを(Access内、外部アプリからなど)でも呼び出す方法があります。 – DanielG

関連する問題