2016-09-10 7 views
0

フィールドの1つがコンボボックスの値によって選択されているクエリを設定しようとしています。正しい構文を理解することはできません。SQLフィールドのComboBox値を使用したMSアクセス

SELECT Deviations.Deviation, Deviations.Rev, Deviations.Title, Deviations.Issued, Deviations.ExpiryDate, Deviations.ExpiryHours, Deviations.ExpOther, Deviations.Active, Deviations.[Forms]![DeviationSelectionForm]![cmbAircraft] 
FROM Deviations 
WHERE Deviations.[Forms]![DeviationSelectionForm]![cmbAircraft]=True 
ORDER BY Deviations.Deviation DESC 

コンボボックスは、テーブルのチェックボックスである航空機の尾翼番号を選択:私は、次を使用して、クエリビルダのSQLビューにいますよ。チェックボックスフィールドには複数の機体テール番号があります。そこにはコンボボックスはなかったと私は例の航空機416として使用するクエリを望んでいたのであれば、クエリは次のようになります。

SELECT Deviations.Deviation, Deviations.Rev, Deviations.Title, Deviations.Issued, Deviations.ExpiryDate, Deviations.ExpiryHours, Deviations.ExpOther, Deviations.Active, Deviations.[416] 
FROM Deviations 
WHERE Deviations.[416]=True 
ORDER BY Deviations.Deviation DESC 

私はこのクエリをテストするとき、私はそれがする必要があるとして、それは動作します。

したがって、テーブルのフィールド名を識別するフォームにコンボボックスを使用してクエリを作成する方法はどうですか?

答えて

1

コンボボックスのafterUpdateイベントでQuery SQL viacodeをビルドします。

Dim strSql as String 
strSql = "SELECT Deviations.Deviation, Deviations.Rev, Deviations.Title, Deviations.Issued, " _ 
& "Deviations.ExpiryDate, Deviations.ExpiryHours, Deviations.ExpOther, " _ 
& "Deviations.Active, Deviations." & Me!cmbAircraft _ 
& " FROM Deviations " _ 
& "WHERE Deviations." & Me!cmbAircraft & " =True " _ 
& "ORDER BY Deviations.Deviation DESC" 
CurrentDb.QueryDefs(<yourqueryname>).SQL = strSql 

つまり、データベースの代わりにスプレッドシートを作成したようです。 テーブルは正規化されていません。航空機は列ではなくレコードでなければなりません。データベース設計と正規化についてお読みになることをお勧めします。

+0

助けてくれてありがとう、私は動作するかもしれないと思う。データベース設計に関しては、あなたが言っていることを聞いていますが、このように構造化しなければなりませんでした。私はこの場合に使用されていない航空機番号のテーブルを持っています。私が扱っているテーブルは、1つまたは複数の異なる航空機に適用されるかもしれない航空機保守の偏差に基づいているため、偏差テーブルの各航空機のチェックボックスを備えた列があります。したがって、複数の航空機に対して偏差が公開された場合、偏差情報を入力して、適用する航空機を選択します。しかし、提案にオープン。 – tllewellyn

+1

3つのテーブル:1.航空機(航空機ID、<航空機に関するすべての必要なフィールド)2.偏差(偏差ID、<偏差に必要なすべてのフィールド>)3.航空機の偏差(航空機ID、偏差ID) – AVG

+0

ありがとう!今読んでください。まだこのシナリオでそれをどのように実装するのかが完全にはわかりませんが、アドバイスが正しい方向に私を導いてくれることを願っています。私の腸の本能は、私のdbデザインに欠陥があるかもしれないということについて私に早期に教えてくれました。その目的のために、私の逸脱形態がどのように見えるかを提案できますか?今私は各航空機を逸脱フォームのチェックボックスとして表し、各チェックボックスは基礎となるテーブルを入力します。これはまだ適切ですか、それは航空機のテーブルから作成されたコンボボックス/リストボックスですか?この場合、AircraftDeviationsテーブルはどのように設定されますか? – tllewellyn

関連する問題