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

Forms 将记录添加到表中,并在两个单独的表中编辑记录,forms,vba,ms-access,Forms,Vba,Ms Access,嗨,我正在制作一个access数据库,但我不知道如何做一件特殊的事情 我有一个带有两个文本框的表单:MovieID和CustomerID。我还有三个独立的表格:MovieList、CustomerInfo和HireHistory。我需要的是,当我在给定框中输入电影ID和CustomerID,然后按我的按钮HireButton时,它会将特定电影ID的LastHireDate编辑为Today(),将特定CustomerID的LastHireDate编辑为Today(),然后在我的HireForm中(

嗨,我正在制作一个access数据库,但我不知道如何做一件特殊的事情

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

此外,我需要这样做,它会检查电影ID的类型,如果是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())

这能解释得更好吗?提前感谢您的帮助!:)

那么我该怎么做呢。首先必须为每个表创建一个记录集

对于我的年龄,我将使用此功能:

customerBirth=获取日期的代码
如果MovieID.Rating='R16'或'R18',则
如果年龄年(客户出生)小于16,则
msgbox(“对不起,太年轻了”)
其他的
MyCustomerRecordSet(“LastHireDate”)=现在
MyMovieRecordSet(“LastHireDate”)=现在
MyHireCorset.AddNew
我的雇佣服(“我不知道你在这里想干什么”)
MyHireCorset.Update
如果结束
其他的
MyCustomerRecordSet(“LastHireDate”)=现在
MyMovieRecordSet(“LastHireDate”)=现在
MyHireCorset.AddNew
我的雇佣服(“我不知道你在这里想干什么”)
如果结束

如果您有任何问题,请直接提问。

您好,很抱歉回复太晚。如何设置文本框中用作电影ID和CustomerID的值?我尝试了:
HireMovieID作为整数
设置HireMovieID=MovieID
,但它不起作用。我编辑了我的问题,这可能会有所帮助。:)你是说你想让你的文本框反映出表中的内容吗?是的,差不多。我需要它,以便它使用我的HireMovieID作为我的MovieList表中我的电影ID的过滤器,与CustomerID相同。:)您只需从设计视图添加一个现有字段。对不起,我误解了您的评论。我不希望文本框在表单中显示表中的内容,但我希望在文本框中输入ID:“HireCustomerID”(例如0003)时,该数字用于检查该客户(CustomerID=0003)是否超过16岁。
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