2016-11-02 21 views
1

ユーザーがコンボボックス内のリストから値を選択し、ボタンをクリックして選択した別のフォームを開く単純なフォームがあります。開発とテストでは正常に動作しますが、Prodユーザーは時々実行時エラー2101を受け取ります。「入力した設定はこのプロパティに対して有効ではありません。ユーザーがマシンを再始動すると、少なくともしばらくはエラーは持続しません。フォームボタンが断続的に実行時エラー2101を返します

これは、ユーザーが「OK」ボタンをクリックすると発生します。これは、選択フォームを閉じ、メインインターフェイスフォームを開きます。ボタンのコードはわずかである。

Private Sub btnOK_Click() 
    DoCmd.OpenForm "CC_Tracker_from_form", acNormal, , , acFormEdit 
    DoCmd.CLOSE acForm, "frmCoord_Selector" 
End Sub 

ユーザがエラーポップアップを閉じ、選択フォームがあるため、障害がDoCmd.CLOSE行にある場合、ソートの意味が主インターフェースの上に表示されたままアクセスはすでにメインフォームを開いているはずです。

エラー2101は、ユーザーがまったく同じアクション(コンボボックスと同じ選択)を実行したときに、一部の時間だけトリガするのはなぜですか?

私は、このエラーは、メインフォームのための基礎となるレコードソースとは何かを持っているとは思いませんが、念のためにここでそのコードは次のとおりです。

SELECT 
    [Bunch of columns], 
    IIf(dbo_CC_Tracker.RISK_LVL='Low',Null,dbo_CC_Tracker.CHRA+365) AS CHRA_Next, 
    IIf(dbo_CC_Tracker.RISK_LVL='High',dbo_CC_Tracker.[ICP/Review]+29, 
    IIf(dbo_CC_Tracker.RISK_LVL='Medium',dbo_CC_Tracker.[ICP/Review]+89,Null)) AS ICP_Next, 
    IIf((dbo_CC_Tracker.RISK_LVL='Low' Or dbo_CC_Tracker.RISK_LVL='Medium'),Null,dbo_CC_Tracker.F2F+179) AS F2F_Next, 
    IIf(dbo_CC_Tracker.RISK_LVL='Low',Null,dbo_CC_Tracker.ICTCont+89) AS ICT_Next, 
    dbo_CC_Tracker.HTR_Letter +30 AS Final_Follow, 
    dbo_CC_Tracker.ASSIGNED +59 AS Deadline_1, 
    dbo_CC_Tracker.ASSIGNED +89 AS Deadline_2 
FROM dbo_CC_Tracker 
WHERE 
(((dbo_CC_Tracker.ASSIGNED_CARE_COORDINATOR)=Forms!frmCoord_Selector!cmbCoords)   
     And dbo_CC_Tracker.[CLOSE] is null)  
Or Forms!frmCoord_Selector!cmbCoords Is Null; 
+0

2番目のフォームが再クエリされた場合(ユーザーがShift + F9を押すなどの理由で)、frmCoord_Selectorがもう開いていないと不平を言うのはどうでしょうか?フォームを開いたままにしておくか、 'DoCmd.SetParameter'を使うか、あるいはpublic関数を使います。 – Andre

答えて

0

ドロップダウン選択を2番目のフォームに渡す前に最初のフォームが閉じている可能性があるという考えに基づいて、DoCmd.CLOSE acForm, "frmCoord_Selector"というフォームを閉じることから、フォームを隠すように変更しました。Me.Visible = Falseフォームは表示されなくなりました。

1

それが何らかの理由で、フォームはあなたがいる可能性があります閉じようとしても更新を保存できませんでした。

私はので、多分

If Me.Dirty Then Me.Dirty = False

は、既存のフォームを閉じる前に保存強制的に追加、フォームがある場合は、任意のデータは、それが保存されている変更されたことを確認するだろう。

+0

ええええええええええええええええええええええええええええええええええええええええええええええ、 – Rominus

+0

もう1つのオプションは、参照している値が取得される前に基になるフォームが閉じていることです。私はこれがアンドレが指しているものだと思います。 他のフォームを閉じなければならない場合は、cmbCoordsの値をOpenArgsとして "CC_Tracker_from_form"に渡して、単に現在のフォームとしてアンバインドコントロールとして照会して参照します。 – Minty

+0

選択フォームを開いたままにしておくと、問題を防ぐことができると思いますか? – Rominus

関連する問題