这是我的第一篇文章,我爱这个网站上的人是多么有帮助!需要做一个按钮创建一个记录,并附上一个文件
我对vba的使用经验很少,所以请耐心等待。在你问之前,我花了很多时间在这个网站上搜索我的答案,以及没有运气的msdn。
我正在为我的工作设计一个数据库,以跟踪员工及其联系信息,培训课程和招聘文档。我用招聘表格打了一个小路障。
我有一个带有员工信息和子表单的表单,其中包含所有文档的列表。每个文档都是一个单独的“文档”表上的记录,用查询拉起来。该表有一个雇员姓名字段,文档类型(resume等等)和附件本身。我有一个包含文档类型列表的下拉框。当我从组合框中选择一个选项时,我希望它使用显示的当前员工的员工姓名,从组合框中选择的文档类型在“文档”表中创建新记录,然后打开选择文件对话框。
我已阅读上添加这是有益的,但并没有告诉我如何创建另一个表的新记录的附件微软的文章。
任何帮助,将不胜感激:)
更新:我来的代码很长的路要走,但我不让自己被插入附件
Sub test()
Dim dbs As DAO.Database
Dim rst As DAO.Recordset2
Dim rsA As DAO.Recordset2
Dim fld As DAO.Field2
'variables for file path
Dim sName
Dim f As Object
Dim strFile As String
Dim strFolder As String
Dim varItem As Variant
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("documents")
Set fld = rst("doc")
Set rsA = fld.Value
rst.AddNew
rst!inspector = "test"
rst.Update
Set f = Application.FileDialog(3)
f.AllowMultiSelect = True
If f.Show Then
For Each varItem In f.SelectedItems
strFile = Dir(varItem)
strFolder = Left(varItem, Len(varItem) - Len(strFile))
'MsgBox "Folder: " & strFolder & vbCrLf & _
"File: " & strFile
Next
End If
Set f = Nothing
sName = strFolder & strFile
rst.Edit
rst.AddNew
rsA("FileData").LoadFromFile sName ' <<<this is where i get stuck
rsA.Update
rst.Update
MsgBox ("done") 'test
End Sub
您需要运行插入查询并使其通过组合框更改事件触发。将它连接到按钮会更安全,这样错误地选择错误的文档将不会创建虚假记录。然后你想刷新你的表单查询源。总而言之,可能大约有6行VBA。走开,让我们知道你是否有问题。 – GavinP
谢谢加文。我已经知道要使用更改事件,但它是我遇到麻烦的vba代码。因为我没有足够的声誉,所以我不能在新评论中发布我的代码。请参阅我对原文的编辑。也许你可以发现我的问题在哪里。 –