MS-Access根据格式

时间:2018-10-29 15:30:34

标签: ms-access access-vba

在过去的一个月左右的时间里,我在Access中学到了很多东西,但是现在却很难解决一个我不知道该如何解决的问题。我敢肯定有一个简单的解决方案,但是我需要向正确的方向指出帮助。这是背景:

此问题涉及三种形式:

  1. frmProject-列出具有
  2. 的项目详细信息
  3. subfrm里程碑-里程碑详细信息
  4. frmProjMsgBox-收集信息以传递到Project表

我将其设置为当我在ProjectMsgBox上单击“确定”时,它将信息传递到“项目”表单并开始创建新记录。

  1. tblProject存储与项目相关的所有详细信息
  2. tblMilestones存储有关里程碑的所有详细信息,其中包含tblProject的密钥
  3. tblMilestones_Inf根据项目类型存储常见里程碑列表,具有tblProjectType的密钥,该密钥位于tblProject上

我的问题-

当我在ProjectMsgBox窗体上单击“确定”时,我希望它也从tblMilestones_Inf查找里程碑并将其插入tblMilestones。我还需要将表单上的Project_ID分配给创建。最好的方法是什么?

我已经在VBA中尝试了一些操作,但是没有成功。我可以创建一个查询,以提取里程碑,但不知道如何使用与项目表的关系来更新里程碑表。

我可以提供更多详细信息,但不确定什么是有用的,什么不是。我或多或少地在寻找一种资源(或要搜索的关键词),所以我可以自己解决这个问题

谢谢!

更新:

  1. tblProject与tblMilestones有一对多的关系
  2. tblProjectType与tblMilestones_Inf有一对多的关系

一旦我在frmProjMsgBox上单击确定,它将填充对frmProject具有控件的文本框,以在tblProject中创建父记录(我认为这是术语)。这很好。我想访问tblMilestones_Inf并匹配项目类型(子记录?)。然后,它将基于Milestone_Inf表上匹配的ProjectType添加4-5条记录。 我不需要代码,但可能需要查找动作/关键字,以便我自己解决。我稍后将发布一些代码以尝试实现此目的。

1 个答案:

答案 0 :(得分:0)

您可能想研究Query Defs,可以使用它们来从VBA更改查询的SQL语句。因此,如果您有类似的东西:

MyQryDef.SQL = "SELECT * FROM MyTable WHERE MyIndex = " & MyControl.Value & ";"

并将您的控制值设置为5,然后使用execute语句,然后您的Query SQL将读取:

SELECT * FROM MyTable WHERE MyIndex = 5;

要完成这项工作,您还需要查找几行,但这是一个非常基本的示例。