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