将记录添加到表中,并在2个单独的表中编辑记录

时间:2013-04-10 23:48:53

标签: forms vba ms-access

您好,我正在创建一个访问数据库,我无法弄清楚如何做一件特别的事情。

我有一个带有两个文本框的表单:MovieID和CustomerID。我还有三个单独的表:MovieList,CustomerInfo和HireHistory。我需要的是当我在给定的框中输入MovieID和CustomerID然后按下我的按钮HireButton,它将特定的MovieID的LastHireDate编辑为Today(),将特定的CustomerID的LastHireDate编辑为Today(),然后编辑我的HireForm(在第一行中有CustomerID的)它在CustomerID下面添加一条新记录,格式为:MovieID " on " Today()

另外,我需要制作它以便检查MovieID的类型,如果它是R16或R18,那么它会检查客户今天是否超过16或18,如果没有,则会出现错误框。我知道如何检查它们是否超过16或18,而不是错误框。

我知道这是很多文字,所以我只会写出我脑子里的东西(我看到代码应该如何),这样就可以更容易地看到我想要做的事情。

IF MovieID.Rating = 'R16' OR 'R18'
   THEN IF CustomerID.[Date(Year(DOB)+16,Month(DOB),(Day(DOB))] > Today()
           THEN DISPLAY Msgbox = "Sorry, too young"

           ELSE SET CustomerID.LastHireDate = Today() 
                SET MovieID.LastHireDate = Today()
                ADDRECORD in HireHistory for that CustomerID to (MovieID & " on " & Today())

   ELSE SET CustomerID.LastHireDate = Today() 
        SET MovieID.LastHireDate = Today()
        ADDRECORD in HireHistory for that CustomerID to (MovieID & " on " & Today())

这能解释得更好吗?在此先感谢您的帮助! :)

1 个答案:

答案 0 :(得分:0)

所以我在这里怎么做首先,您必须为每个表创建一个记录集。

对于这个年龄我会使用这个功能。 :http://www.fmsinc.com/MicrosoftAccess/modules/examples/AgeCalculation.asp

customerBirth = yourCode to get the date

If MovieID.Rating = 'R16' OR 'R18' then

    If AgeYears(customerBirth) < 16 then 
        msgbox("Sorry, too young")
    else
        MyCustomerRecordSet("LastHireDate") = now
        MyMovieRecordSet("LastHireDate") = now

        MyHireRecorset.AddNew
            MyHireRecorset("I don't know what your trying to do here")
        MyHireRecorset.Update

    end if

Else
        MyCustomerRecordSet("LastHireDate") = now
        MyMovieRecordSet("LastHireDate") = now
        MyHireRecorset.AddNew
        MyHireRecorset("I don't know what your trying to do here")

End if

如果您有任何疑问,请询问。