标签: ms-access-2010

无法打开Access 2007中使用Access 2010创建的数据库,即使使用SP2

使用其中一个新排序顺序创建的数据库即使安装了Service Pack 2(SP2)也无法在Access 2007中打开.

ms-access ms-access-2007 ms-access-2010

8
推荐指数
1
解决办法
5718
查看次数

如何导出Access 2010数据宏

我需要将Access数据宏从我的测试数据库传输到我的生产数据库.有谁知道怎么做?

我知道将表从一个accdb转移到另一个accdb也会传输数据宏,但在我的情况下这不是一个选项.我也知道我可以在生产accdb中手动重新创建它们,但这使我容易出错,并且需要将生产数据库关闭的时间比脚本传输方案要长.

如果我不得不这样做一次就不会那么大,但我需要在开发项目的过程中多次这样做.

我已经尝试将表导出到xml,但不包括数据宏.

请注意,我在这里询问Access 2010 数据宏,而不是常规的Access宏.

macros ms-access ms-access-2010 ms-access-data-macro

7
推荐指数
3
解决办法
7823
查看次数

VBA:如何从ComboBox中选择项目

我有Access 2010表单,其中有一个ComboBox cmbSubTopic,列出了两列(SubTopicIDSubTopic).组合框绑定到包含的字段SubTopicID.SubTopicID组合框中的列是隐藏的,它只显示SubTopic.当用户SubTopic从下拉列表中选择a 时,相应的SubTopicID内容存储在表中.我为表单的on load事件编写了一些VBA代码,以便在表中查找SubTopicIDSubTopic在ComboBox中选择相应的.我目前的代码是这样的:

Set rsST = dbs.OpenRecordset(strSqlst)
For i = 0 To Me.cmbSubTopic.ListCount - 1
    If Me.cmbSubTopic.Column(0, i) = rsST.Fields("SubTopicID").Value Then
        Me.cmbSubTopic.SetFocus
        Me.cmbSubTopic.Selected(i) = True
        Exit For
    End If
Next i
Run Code Online (Sandbox Code Playgroud)

这给出了错误说:

您输入的文本不是列表中的项目

我也试过用这个:

Me.cmbSubTopic = Me.cmbSubTopic.Selected(i)
Run Code Online (Sandbox Code Playgroud)

这将选择ComboBox中的项目,但它也会将I的值写入ID我不想要的表的字段中.

ms-access vba combobox access-vba ms-access-2010

7
推荐指数
1
解决办法
7万
查看次数

MS Access中的CONCAT等效项

我在MS Access中做了一些工作,我需要在一堆字段中附加一个前缀,我知道SQL,但它似乎在Access中看起来不一样

基本上我需要这个翻译成一个可以访问的命令:

UPDATE myTable
SET [My Column] = CONCAT ("Prefix ", [My Column]) 
WHERE [Different Column]='someValue';
Run Code Online (Sandbox Code Playgroud)

我上下搜索,似乎找不到简单的翻译.

sql ms-access ms-access-2010

7
推荐指数
2
解决办法
3万
查看次数

在MessageBox中放置超链接

是否可以在消息框中添加超链接?我正在尝试做这样的事情:

   MsgBox "Sorry, but you have an out-of-date database version.  Please redownload via the batch file to ensure that you have the latest version. Contact the administrator of this database or your manager if you need help." & vbCr _
        & vbCr _
        & "Your current database version is " & CurrentVer & " which may be out of date. The current database version prescribed on the network share is " & FileVer & ". They must match in order …
Run Code Online (Sandbox Code Playgroud)

vba messagebox hyperlink access-vba ms-access-2010

7
推荐指数
1
解决办法
2万
查看次数

如何在LIKE运算符中为MS Access SQL引入多个条件

我想知道,如果有什么办法,如何在访问sql中实现这样的东西.

select * from my_table where column_name like ('ABC%', 'MOP%');
Run Code Online (Sandbox Code Playgroud)

我尝试使用这个:https://stackoverflow.com/a/1387797/1784053但这似乎不适用于Access.

有没有办法如何实现像基于动态条件的多重调节?这意味着,我不能使用OR没有UNION因为我的组条件是动态的.

类似的问题:我如何在LIKE运算符中引入多个条件

sql ms-access-2010

7
推荐指数
1
解决办法
1万
查看次数

如何连续开发和部署Access 2010数据库应用程序

我一直在开发Access 2010数据库应用程序,我们称之为Skill.accdb.我正处于我想开始部署它的阶段,以便用户可以开始使用它并同时继续开发.我一直在读

谈论分裂,编译,安装等,但它们在实际的程序步骤上非常简短.

我已将我的数据库应用程序拆分为后端和前端:Skill_Back.accdbSkill_Front.accdb.后端位于网络共享驱动器上,一些用户拥有前端的副本.到目前为止一切都那么好,特别是如果我从来没有做过任何更多的开发.但我现在还不清楚如何在不打扰"现场"后端的情况下继续开发前端.

如何让前端的开发版本指向后端的虚拟版本,以便我不会搞乱实时版本?然后,当我希望发布新版本的前端时,如何让它再次指向后端的实时版本?

如果我重新拆分(即再次使用Move Data | Access Database工具)指向一个尚未存在的虚拟后端,我被告知所有表现在都是空的 - 不是我想要的.如果我重新分裂以指向活动后端的副本,我会被问到是否要替换它 - 也不是我想要的.如果我这样做,我会再次告诉"此数据库中没有表.后端数据库将为空." 然而我看到它(前端)仍然指向现场后端!

我错过了什么重要的概念/工具/程序?(我不是要求编译或运行时或构建安装程序 - 这些都是以后的问题.)

附录

继续按照下面的正确答案中的建议,我发现了其他一些描述程序的文章:

deployment ms-access ms-access-2010

7
推荐指数
1
解决办法
1853
查看次数

使用vba将格式化文本复制到访问中

我需要在Access数据库中保存Word中的格式化文本.

到目前为止,我已经设法找出如何在访问字段中存储格式化文本(在表中创建备注字段并将文本格式设置为富文本).正在搜索SO我还没有遇到如何将所述文本从单词传输到Access的解决方案.

我知道这是可能的,因为如果您手动执行此操作,只需复制和粘贴信息即可.

我的问题是,如何使用VBA将格式化文本从word复制到表中的字段?

通过实验我创建了以下内容来测试它.到目前为止没有成功......

Sub GetComments()
'Imports Analyst Comments from Excel files als OLE Objects.
'---------------------------------

'Access Variables
Dim dbsFundDB As DAO.Database
Dim rsComments As DAO.Recordset

Set dbsFundDB = CurrentDb
Set rsComments = dbsFundDB.OpenRecordset("tblFunds")

'Word Variables
Dim doc             As Word.Application
Dim dcmt            As Word.Document
Dim sectn           As Word.Section
Dim obCommentText   As Object
Dim sAnalystText    As String

'Open New Word File
Set doc = New Word.Application
doc.Visible = True
Set dcmt = doc.Documents.Open(sPathTemplate)
Set sectn = dcmt.Sections(1)

sectn.Range.Select
Selection.InsertFile FileName:="myfile.rtf", …
Run Code Online (Sandbox Code Playgroud)

ms-access ms-word access-vba word-vba ms-access-2010

7
推荐指数
1
解决办法
5206
查看次数

编辑迷路了

背景:

拆分访问数据库,最多两个用户.后端位于映射驱动器上的两台计算机之一,前端是本地的.计算机通过wifi连接到路由器.(我试图让他们通过电缆连接电脑失败)

编辑:此问题现在发生在单个用户环境中.

问题:

这只发生在一个特定的形式上.它的基础表有一个多值字段.

问题1:我们的情况是编辑一个字段,但只要焦点移动到另一个字段,编辑就会恢复为原始值.

问题2:编辑一个字段时,其他一些字段将获取先前显示的记录的值.

注意:从一个记录到另一个记录的导航操作如下:

    Me.RecordsetClone.FindFirst "ID = " & cmbLocateRecipientID
    Me.Bookmark = Me.RecordsetClone.Bookmark
Run Code Online (Sandbox Code Playgroud)

问题只发生在偶然.

这在Access方面是一种非常奇怪的行为,因此当用户首次报告问题时,我确信他们错误地将信息输入到另一条记录中.但是,他们已经向我展示了现场发生的问题.

关闭并重新打开表单可以解决问题.但是,它们显然不能以这种方式工作.

我无法在我的开发机器上重现这个问题.

ms-access multi-user ms-access-2010

7
推荐指数
1
解决办法
158
查看次数

来自数据库的困难分组报告

ID  |  Start of range | End of range
------------------------------------
ID1 |  Ok-000001      | Ok-000009
ID1 |  Ok-000010      | Ok-000014
ID1 |  Ok-000015      |
ID1 |  Ok-000016      | Ok-000018
ID1 |  Ok-000037      | Ok-000042
ID2 |  Ok-000043      | Ok-000045
ID2 |  Ok-000046      | Ok-000052
Run Code Online (Sandbox Code Playgroud)

从上面的示例数据库记录中,我想生成一个具有以下格式的报告:

ID1 Ok-000001 - Ok-000018, Ok-000037 - Ok-000042
ID2 Ok-000043 - Ok-000052
Run Code Online (Sandbox Code Playgroud)

在实际数据库中,有554条记录,其中包含1,559个唯一ID.

我会接受任何和所有的指导.我知道我需要按ID分组.我知道我应该忽略"Ok-"并且只使用数值.我不知道如何查看一条记录中的"范围开始",看它是否是当前记录中"范围结束"的延续.

sql ms-access vba ms-access-2010

7
推荐指数
1
解决办法
66
查看次数