2017-10-16 8 views
0

データシートのレコードをフィルタリングするためのグラフィカルインターフェイスを提供するフォームがあります。私は後でリコールできるように、ユーザーがフィルタ設定を保存できるように一連のコントロールを追加しています。保存されたフィルタはテーブルに保存されます。各レコードにはニックネーム(主キー)と実際のSQLステートメントのフィールドがあります。メインフォームには、保存されたすべてのフィルタをニックネームで表示するリストボックスがあります(下記参照)。このリストボックスのRowSourceが保存にバインドされている私は、ユーザーが保存したフィルタのニックネームおよび/またはSQLステートメントを変更できるようにしたいテーブルテーブルにバインドされたリストボックスは、クエリの後にテーブルへの更新を完全に反映しません。

Saved Filter List

をフィルタリングします。これを実現するには、[編集]ボタンをクリックして、選択したレコードのフィールドが入力された2つのテキストボックスを含むサブフォームを開きます。サブフォームが閉じられると、レコードに変更を保存するかどうかをユーザーに確認します(このため、サブフォームとそのコントロールはSaved Filtersテーブルにバインドされません)。

私が知る限り、レコードのサブレコードおよび更新レコードをスムーズに実行する関数があります。ただし、保存されたフィルタニックネームのリストボックスに問題があります。レコードのニックネームが編集されると、テーブルとリストボックスの両方に変更が反映されます。リストボックスの.Valueプロパティが古い名前を返しているため、ユーザーは保存されたフィルタをすぐに再度編集しようとすると問題に遭遇します。ユーザーが他のニックネームを選択した後、最初の選択に戻り、編集しようとすると、サブフォームが正しく開きます。

コントロールを検索する前にリストボックスを再クエリしようとしましたが、問題を解決できませんでした。私はリストボックスと再クエリーの項目の選択を外そうとしましたが、それはどちらもうまくいきませんでした。ユーザーが保存されたフィルタを変更したときにリストボックスコントロールが適切に更新されるようにするにはどうすればよいですか?ここで

は私のコードです:

(親フォーム)

'Function that is bound to the OnClick event of the Edit button 
Private Function sfEdit() 

    Dim sfLabel As String 
    sfLabel = Me.List_Saved.Value 

    If epuModule.OpenEditor(sfLabel) = False Then 
     MsgBox "Unable to locate record with name " & Chr(34) & sfLabel & Chr(34), vbCritical 
    End If 

    Debug.Print Me.List_Saved.Value 
    Me.List_Saved.Requery 

End Function 

([Form_SQLエディタ]別名編集ポップアップ)

Private Sub Form_Close() 
    If PromptSave = True Then 
     Select Case MsgBox("Do you want to save your changes?", vbYesNo) 
      Case vbYes 
       sfModule.Edit RecordLabel, Me.tbTerms.Value, NewLabel 
      Case vbNo 

     End Select 
     PromptSave = False 
    End If 
End Sub 
+0

あなたはこの質問を最小限に抑えることができますか?クリーンなデータベースでそれを複製しようとしますか?そのコードがすべて適切であるとは思われません。参照:[最小限で完全で検証可能な例を作成する方法](https://stackoverflow.com/help/mcve) –

+0

@ErikvonAsmuthが行います。申し訳ありませんが、これのすべてにはまだ新しいです。 –

答えて

0

移動Me.List_Saved.Requery(適切に置き換えますあなたがForm_Closeの後にの後に「私」とグローバル識別子を付けてください)。編集フォームがモーダルでない限り、編集は実際に実行/保存される前に実行されます。

関連する問題