簡體   English   中英

vba的訪問和條件格式設置

[英]vba in access and conditional formatting of forms

我有一個收集不同類型數據的表格。 其中之一是文檔類型。 在訪問選項卡時,用戶必須從下拉列表中選擇一種文檔類型。 如果將文檔選擇為“ NDA”,則必須啟用名為“ NDA類型”的選項卡。 以下是我嘗試使用的代碼:

 Private Sub doc_AfterUpdate()
    If doc.Value="NDA" then
       tnda.enabled=true
    else
       tnda.enabled=false
    End if
 End Sub

pgm很簡單,但是每當我運行我的表單時,它總是顯示“錯誤:類型不匹配”,並且代碼停止工作。

感謝您為我提供上述代碼。 這次,我嘗試了使用更多選項的更復雜形式的代碼。 我試圖禁用所有其他選項,並僅根據我選擇的選項(從表單的“文檔類型”選項卡中)啟用它們。以下是代碼:

    Private Sub doc_BeforeUpdate(cancel as integer)
    tnda.enabled=false
    tagr.enabled=false
odoc.enabled=false
    End Sub

    Private Sub doc_AfterUpdate()
    Select Case doc.column(1)
    Case "NDA"
    tnda.enabled=true
    Case "Agreement"
    tagr.enabled=true
    Case "Other"
    odoc.enabled=true
    Case Else
    End Select
    End Sub

    Private Sub doc_Oncurrent()
    Select Case doc.column(1)
    Case "NDA"
    tnda.enabled=true
    Case "Agreement"
    tagr.enabled=true
    Case "Other"
    odoc.enabled=true
    Case Else
    End Select
    End Sub

運行pgm后,無論選擇何種文檔,我的所有選項卡均保持禁用狀態。 請在這方面提供寶貴的意見。 注釋tnda:NDA標記的類型:協議類型odoc:其他文檔和doc =文檔類型在此處查找我的表格圖像

這是因為Doc是一個組合框,因此可能綁定到數字ID。

所以:

If doc.Value = <insert value of ID of text "NDA"> then

或使用包含“ NDA”的列ID,很可能是下一個:

If doc.Column(1) = "NDA" then

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM