我在訪問子形式: 將邏輯添加到Access中的子表單中?
的CopyNo是一個組合框,讓我從MovieCopies表中選擇。當我選擇一個時,我希望標題字段顯示與該副本的電影ID關聯的正確電影標題。我也想要顯示的格式。當我從DaysRented組合框中選擇,如果我選擇1並且電影是新的,我希望它顯示價格,如果它是正常的3天顯示正確的價格等。
我只是不知道如何給邏輯框提供邏輯。
如果任何人都可以指出我如何在Access 2007中做這種事情的正確方向,我會非常感激。
感謝
我在訪問子形式: 將邏輯添加到Access中的子表單中?
的CopyNo是一個組合框,讓我從MovieCopies表中選擇。當我選擇一個時,我希望標題字段顯示與該副本的電影ID關聯的正確電影標題。我也想要顯示的格式。當我從DaysRented組合框中選擇,如果我選擇1並且電影是新的,我希望它顯示價格,如果它是正常的3天顯示正確的價格等。
我只是不知道如何給邏輯框提供邏輯。
如果任何人都可以指出我如何在Access 2007中做這種事情的正確方向,我會非常感激。
感謝
事情是這樣的:
Private Sub cboCopyNo_AfterUpdate()
If Nz(Me.cboCopyNo, "") <> "" Then
Me.txtTitle = DLookup("Title", "MovieMaster", "MovieID = " & Me.cboCopyNo)
End If
End Sub
Private Sub cboDaysRented_AfterUpdate()
If Nz(Me.cboDaysRented, 0) > 0 Then
Dim strType as String
strType = DLookup("[Type]", "MovieMaster", "MovieID = " & Me.cboCopyNo)
If Me.cboDaysRented = 1 Then
Me.txtPrice = DLookup("Price1Day", "Price", "[Type] = '" & strType & "'")
Else
Me.txtPrice = DLookup("Price3Day", "Price", "[Type] = '" & strType & "'")
End If
End If
End Sub
夫婦筆記。某些字段名稱是某些數據庫中的保留字,例如「類型」。我強烈建議您嘗試使用Access或SQL Server中不是保留字的字段名稱。
DLookups不一定是查找數據的最快方式,但對於您要在此處執行的操作可能足夠快。有時我創建自己的DAO記錄集並查找我想要的值而不是使用DLookup。這基本上就像編寫你自己的DLookup功能一樣。
DLookup使用SQL語言,因此您的第三個參數WHERE子句中的語法需要與SQL匹配。如果WHERE子句中的字段是文本/字符串,則需要在值的任一側使用單引號(如上面圍繞strType變量所示)。如果是數字字段,則不需要引號。如果這是一個日期,你需要散列符號(#)。