私はバックエンドが暗号化されていて、ペシミスティックなロックを許さないスプリットマルチユーザDbを持っています。バックエンドのテーブル内のタスクは、割り当てられたフィールドが未割り当てとして自動入力されて毎日事前にロードされます。従業員が開始タスクをクリックするか、次のタスクにジャンプするために提出すると、dlookupはdlookupを使用して次の未割り当てタスクを識別し、フィールドをその名前に更新します。スプリットマルチユーザMSアクセスDb。テーブルを上書きする問題
テーブルが十分に速く更新されていないように見えるため、テーブルが更新されて同じレコードを上書きすることを認識せずに複数の人のフロントエンド(accdeを使用)に遭遇しています。 60から2秒に自動リフレッシュを更新しましたが、希望の結果が得られません。
私は各コマンドボタンでクリックして実際のリンクテーブルをリフレッシュする方法はありますか?
以下は、「開始」ボタンのコードです。 [Submit/Next Task]ボタンは、同じ種類のコーディングを使用して次のタスクを探します。
Private Sub butagingicoms202_begin_Click()
Dim strsql As String
Dim AuditCheck As String
Dim NYPhone As String
Dim CAPhone As String
Dim LastTask As String
DoCmd.SetWarnings False
If IsNull(DLookup("[Sys]", "Aging_ICOMSWorkable", "assigned = 'unassigned'")) Then
LastTask = True
Else
LastTask = False
End If
If LastTask = True Then
MsgBox "All tasks have been assigned. Please move on to your next assigned project"
DoCmd.SetWarnings True
DoCmd.Close acForm, "Aging_ICOMS202DailyWorkable_frm"
Else
Call RandomTime
butagingicoms202_submit.Visible = True
Me.butagingicoms202_submit.SetFocus
butagingicoms202_queue.Visible = True
butagingicoms202_begin.Visible = False
txtagingicoms202_sysacct = DLookup("[sysacct]", "Aging_ICOMSWorkable", "[SYS]=202 AND [Assigned] = 'unassigned' AND [SecondaryTask]<>'50 Day' AND [SecondaryTask]<>'Spec Review' AND [SecondaryTask]<>'Low Bal Rpt'")
DoCmd.RunSQL "UPDATE Aging_ICOMSWorkable SET assigned = '" & Me.txtagingicoms202_assigned & "' WHERE sysacct = [txtagingicoms202_sysacct]"
txtagingicoms202_acct = DLookup("[AccountNumber]", "Aging_ICOMSWorkable", "sysacct = '" & Me.txtagingicoms202_sysacct & "' AND assigned = '" & Me.txtagingicoms202_assigned & "'")
txtagingicoms202_sys = DLookup("[Sys]", "Aging_ICOMSWorkable", "sysacct = '" & Me.txtagingicoms202_sysacct & "' AND assigned = '" & Me.txtagingicoms202_assigned & "'")
txtagingicoms202_name = DLookup("[Name]", "Aging_ICOMSWorkable", "sysacct = '" & Me.txtagingicoms202_sysacct & "' AND assigned = '" & Me.txtagingicoms202_assigned & "'")
'txtagingicoms202_fn = DLookup("[FirstName]", "Aging_ICOMSWorkable", "[Assigned] = 'unassigned'")
'txtagingicoms202_ln = DLookup("[LastName]", "Aging_ICOMSWorkable", "[Assigned] = 'unassigned'")
txtagingicoms202_task = DLookup("[Task]", "Aging_ICOMSWorkable", "sysacct = '" & Me.txtagingicoms202_sysacct & "' AND assigned = '" & Me.txtagingicoms202_assigned & "'")
txtagingicoms202_tt = DLookup("[Task]", "Aging_ICOMSWorkable", "sysacct = '" & Me.txtagingicoms202_sysacct & "' AND assigned = '" & Me.txtagingicoms202_assigned & "'")
txtagingicoms202_assignment = DLookup("[SecondaryTask]", "Aging_ICOMSWorkable", "sysacct = '" & Me.txtagingicoms202_sysacct & "' AND assigned = '" & Me.txtagingicoms202_assigned & "'")
'NYPhone = DLookup("[NYSTATE]", "Aging_ICOMSWorkable", "sysacct = '" & Me.txtagingicoms202_sysacct & "' AND assigned = '" & me.txtagingicoms202_assigned &"'")
'CAPhone = DLookup("[PW CAL PHONE?]", "Aging_ICOMSWorkable", "sysacct = '" & Me.txtagingicoms202_sysacct & "' AND assigned = '" & me.txtagingicoms202_assigned &"'")
txtagingicoms202_TotalAR = "$" & Format(DLookup("[Total A/R Balance]", "Aging_ICOMSWorkable", "sysacct = '" & Me.txtagingicoms202_sysacct & "' AND assigned = '" & Me.txtagingicoms202_assigned & "'"), "0.00")
txtagingicoms202_PDbal = "$" & Format(DLookup("[Delinquent Balance]", "Aging_ICOMSWorkable", "sysacct = '" & Me.txtagingicoms202_sysacct & "' AND assigned = '" & Me.txtagingicoms202_assigned & "'"), "0.00")
'txtagingicoms202_secassign = DLookup("[Secondary Task]", "Aging_ICOMSWorkable", "[Assigned] = 'unassigned'")
txtagingicoms202_starttime = Now()
strsql = "UPDATE Aging_ICOMSWorkable SET Start_Time = '" & Me.txtagingicoms202_starttime & "' WHERE sysacct = [txtagingicoms202_sysacct]"
DoCmd.RunSQL strsql
Me.comagingicoms202_res.RowSource = "SELECT [ResolutionCodes] FROM [Resolutions]" & "WHERE [tasktype] = '" & Me.txtagingicoms202_tt & "'"
Me.comagingicoms202_res.Requery
DoCmd.SetWarnings True
End If
End Sub
ありがとうFreeMan - 私はこれらのアップデートに取り組み、結果に戻ってきます。私はここで細部を本当に感謝します。 – Matt
お手伝いします!これが役に立つと分かった場合は、上矢印をクリックすることを忘れないでください。これがあなたの答えを提供していると思われる場合は、準備ができたらチェックマークをクリックしてください。 – FreeMan
私はこれに取り組んでいるうちに、別の考えが私の心に浮かんだ。私はaccに変換する前にFEを介してレコードロックを設定することができます。最初の更新後にレコードを「ロック」し、タスクを提出してから「リリース」する方法もありますか?私は修正されたコードを考えてエラー処理を追加しましたが、これは上書きの問題を解決するための最終ステップかもしれません。 – Matt