2017-01-17 4 views
0

"#Name?"と表示されているフォームでコンボボックスに問題があります。私が値を選択するためにそれを入力するたびにエラー。MS Access Combobox "#Name?"エラー

一般的なユーザーインターフェイスであるMS Access(特にMicrosoft Office Professional Plus 2010)でフォームを作成しています。これは、フォーム自体がレコードセットにリンクされていないことを意味します。 そのフォームで、私は "TblSubsystem"テーブルにリンクするComboboxを作成します。表には非常に簡単で、そのように設計されています

  • ID(主キー、オートナンバー)
  • SysShortName、テキスト
  • SysFullName、テキスト

私は内の値を選択しようドロップダウンリストでは、コンボボックスのテストボックスに "#Name?"と表示されます。 (実際にはすぐに私はコンボボックスを選択すると、私は任意の値を選択する前であっても)

コンボボックスの関連する(と思う)のパラメータは次のとおりです。

  • コントロールソース=「= [TblSubsytem] [ID! ]」
  • 行ソース= TblSubsystem
  • 行ソースの種類=テーブル/クエリ
  • 連結列= 2
  • 列数= 2
  • 列幅= 0C M; 1センチメートル (私は短いコードを選択して表示するようにしようとしていますが、コンボボックスの値としてIDを取得するために)

私も(同じプロジェクト内の別の形で、同じセットアップを持っていますon TblSubsystem)は、これらのパラメータと同じ値でうまく動作しますが、FormはRecordSet(別のテーブル)にリンクされています。私はそれが唯一の違いだと言うことができる限り、私はそれを見て一目瞭然と思われる何かを見逃しているに違いないと思います...

私は "Ms Access combobox #Name "エラー?"、stackoverflow上で、より広範にネット上で、しかし、私は2日で私の質問に答える投稿を見ていない。近くにはあるものの、はるかに複雑な設定を参照していますが、私はかなり正直しているべきだったと思います。ソリューションを私のケースに適応しようとしました(コンボボックスの再作成やデータベースの逆コンパイルを含む)が役に立たなかった。

ここでそれは申し訳ありませんが、残念ながらそれはあなたの一部の人がそれを手助けするのに十分正確です。私はそれに取り組むことができるすべての助けのために、事前に感謝します。

答えて

0

#Nameは、バインディングの問題です。バインドされた列を1に設定すると、プライマリキーのみが記録され、それが機能するかどうかが確認されます。

編集:コントロールのソースとしてテーブルの主キーを参照するコンボボックスがあります。コントロールソースは、アプリケーションユーザーによって変更されている値であることに注意してください。コントロールソースは(通常は)

  • 行ソースは、あなたがボックスに表示するテキストを参照する必要があり、あなたのテーブルの外部キーを参照する必要があり

    • :ここではコンボボックスで作業する場合について考えるためにいくつかの重要な事があります
    • アプリケーションデザインで2つのフィールドを同時に更新する必要がある場合を除いて、バインドされた列は1に設定する必要がありますが、これは一般的ではありません。
    • カラム幅を0に設定します。 123456 行ソース - 社員:社員、EmployeeName - 123456 | John Doe

      コントロールソース:これは、例えば、あなたの外部キー

    する必要がありますあなたの行ソースの最初のフィールドは、次のようになります非表示になります

    バインドされた列を1に設定すると、値1234556が記録されます。バインドされた列を2に設定すると、123456, John Doe

  • +0

    こんにちはsteveが記録されます。ご回答有難うございます。残念ながら私はそれを試みると、エラーは表示されませんが、何も選択しなかった場合のように、コンボボックスは空白のままです – Cedric

    +0

    うわー、それは貨物列車のように私を打つ!主キーフィールドとしてコントロールソースがあります。自動生成された主キーフィールドを変更しようとアプリケーションが考えているため、コンボボックスは何かを選択すると空白のままです。これは許可されていないため、空白のままになります。アプリケーションの設計を振り返り、適切なフィールドを変更する必要があるかどうかを確認する必要があります。コンボボックスは通常、外部キーを参照するのに適しています。これは、私があなたが探していると思われるものです。 –

    +0

    私は将来の読者のために私の元の応答を編集します –