2017-12-18 12 views
0

table/queryモードで設定されているComboBoxがあります。つまり、Accessデータベース内のテーブルからアイテムのリストを取得します。
通常、このComboBox -called Editar_CodigoEditar_Nombre - リスト内の項目のみを使用しますが、テーブルにまだ存在しない新しい項目を書きたい場合もあります(「レコードをテーブルに追加」 "ボタン)。
しかし、そこに問題があります。アクセスは両方ともComboBoxの値がテーブルに存在しないと言ってPopUpを生成し、両方の書き込み値を削除するまでそのPopUpを閉じることができません。ComboBoxMSアクセスComboboxの値がテーブル/クエリに存在しません

ComboBoxが存在しない場合にアクティブになる表現が見つかりました。

Private Sub ComboBox_NotInList(NewData As String, Response As Integer) 
End Sub 

しかし、たとえ、これが起こっていること使用して:

  1. まず、私は "間違った" 値を書きました。
  2. 第2に、ComboBox_NotInList(私の場合はEditar_Codigo_NotInListEditar_Nombre_NotInList)が実行されます。 (私はMsgBoxを開いてチェックします)。
  3. 最後に、アクセスポップアップが開いています。

上記の「チェーンイベント」の3番目の項目を削除します。どうやってやるの?

編集:

enter image description here

アイデアは、次の二つのTextBoxsにEditar_Codigoコンボボックスで、製品のコード、Editar_Name内の名前と価格と在庫を書くことです。最後に、 "Añadir"というボタンを押します。このボタンは "Lista de Stock"というテーブルにレコードを追加します。
しかし、問題は、「存在しない値」をComboBoxes(表に存在しない値)に書き込むことができないことです。だから私はPopUpを "無視"できるようにしたい、PopUpを上げないようにAccessを作るにはどうすればいいですか?

+0

「テーブルのボタンにレコードを追加する場所はどこですか」? notInListイベントで新しい値を挿入した後、新しい値を受け入れるには "Response = acDataErrAdded"を返す必要があります。 –

+0

レビューhttp://www.fontstuff.com/access/acctut20.htm – June7

答えて

0

ok。私はあなたがすることができると思います。まず最初に、そのコンボでAlpha、Beta、Gammaという1つの列しか表示されないようにします。ユーザーがコンボボックスのBetaよりもプロパティを設定した場合、つまりafter updateというコードを入力し、対応する値をテーブルから取得します。 例。コンボボックスの名前がコンボ1であるとします。

colomnInvisibleValue = dlookup("colomnName","TableName","VisibleColomnName= '" & me.combo1.value & "' ") 

変数colomnInvisibleValueには、前回のコメントに応じた値(2)が含まれます。

+0

ありがとう、私はすでにこの解決策について知っていましたが、それがなぜ私にとってうまくいかなかったか分からなかったので、私はそれを避けようとしていました。 –

1

データタブのコンボボックスのプロパティをリストに設定します。 limit to list property of combo box under data tab

+0

あなたの答えは、目に見えない依存する行がないコンボボックスでしか動作しないようです。しかし、もし私がそれらを持っているなら、私はそれらを見えるようにしなければなりません、そして、Comboboxの価値は、別の列に代わりに目に見えなかった行に変わります。 –

+0

私はあなたの疑いを感じなかった! –

+0

私は2つの行を持つコンボボックスを持っています.1つ目は不可視(行 "A")で、もう1つは行( "B")ではありません - ユーザーは行 "B"しか見ることができません。 ComboBoxは行 "B"の押された項目のように表示されますが、値は行 "A"項目のようにコード内にあります。そのコンボボックスで、あなたは答えが機能しません。私は行 "A"を見えるようにしなければならなかったが、ユーザーに示された値は行 "A"であり、行 "B"からの値を表示したい。私の英語のために申し訳ありません... –

関連する問題