2016-11-28 13 views
0

私はこの問題に対する答えを見回しましたが、何も気付いていません。お手伝いできる人なら、事前にありがとうございます。私は、複数のフィールドに基づいて、レコードを検索して変更しようとしています。しかし、私のフォームは空白になります。 のSample->セット - > Catch->長さ - >ダイエット(キー・フィールド:SampleID、SETID、など)空白のサブフォーム:複数のフィールドに基づいてレコードを見つけることができません

予備的なデータがある

私は、次の表のための多くのリンクを1つを使用してデータベースを持っています入力されました。私は長さとダイエットのテーブルに入力するいくつかの個人のための追加データがあります。そこで、コンボボックスを使ってフォームを作成しました。このフォームでは、Date、Station、Set、Species、およびLengthを選択して正しい魚にナビゲートできます。だから、私が日付を選んだとき、その日にサンプリングされた駅などに限られています。コンボボックスに入力された条件に一致する結果に制限するクエリ文字列が設定されています。私のサブフォームは、この文字列の最後のクエリに基づいています(クエリ5)。長さテーブルの主キーフィールド(LengthID)にリンクされています。これまでのすべての罰金。

問題:フォームを開いて各コンボボックスの値を選択すると、サブフォームは空白のままです。ただし、この時点でサイドバーからクエリ5を実行でき、正常に実行されます。私はちょうどクエリに直接データを入力することができますが、それは合理化されておらず、人為的ミスに対して脆弱です。

サブフォームをサイドバーから直接開こうとしました。私がこれを行うと、日付、駅、セット、種、および長さのアクセスを私に求められます。 2倍。フォームが表示され、すべてのフィールドが空白になります(これは、既存のレコードを検索しているため)。私はなぜそれが2回私にプロンプ​​トを知らないが、私はデータベースがLengthIDフィールドを空白と見なすので、サブフォームが通常のフォームビューで表示されないと思う。

コンボボックスは、特定のレコードに正しく移動するように見えます。コンボボックスとサブフォームのクエリ文字列は、直接実行するとすべての作業に基づいています。しかし、サブフォームにデータを入力することはできません。おそらくサブフォームが正しいレコードを見つけることができないのは、それが基になっているクエリがうまく見つけることができるからです。トラブルシューティングのアイデアがなくなり、アドバイスをいただければ幸いです。ありがとう!

答えて

0

私が正しく理解している場合、コンボボックスを利用してクエリWHERE句を達成しようとしています。これについては多くのSOの質問がありますが、これはあなたに行く必要があります。あなたが困ったときに私に教えてください。私はあなたを助けます。

あなたはリンクされた親/サブフォームコンボを持っていると仮定します。このコードは、親フォームの検索ボタンを次のようになります。

Dim strSQL As String 
strSQL = " 1=1 " 

If Not IsNull(cmbComboBox1) Then 
    strSQL = strSQL & " AND Field1 = " & cmbComboBox1 
End If 

If Not IsNull(cmbComboBox2) Then 
    strSQL = strSQL & " AND Field2 = " & cmbComboBox2 
End If 

If Not IsNull(cmbComboBox3) Then 
    strSQL = strSQL & " AND Field3 = " & cmbComboBox3 
End If 

Me.Filter = strSQL 
Me.FilterOn = True 
+1

あなたはコンボボックスに、マスターと子サブフォームのフィールドをリンクすることができます。 – Fionnuala

関連する問題