网上有很多关于如何使用 pyodbc 在 MS Access 2007 中运行查询的提示,但所有这些查询都是在 Python 脚本本身中编码的。我想使用 pyodbc 调用已保存在 MS Access 中的查询。我怎样才能做到这一点?
我正在尝试使用jdbc-odbc桥创建一个简单的连接:
public static Connection getConnection() {
Connection con =null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String conStr = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" +
"c:\\myfolder\\accesdbfile.accdb";
con = DriverManager.getConnection(conStr);
} catch(Exception e) {
e.printStackTrace();}
return con;
}
Run Code Online (Sandbox Code Playgroud)
但后来我得到了这个例外:
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key Temporary (volatile) Ace DSN for process 0xa4 Thread 0xec0 DBC 0x2f8574c Jet'.
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
2009年3月24日更新:现在它正在运作.创建了一个用户数据源,由于某种原因,该异常消失了.
作为一般问题,在Java中处理数据库连接的最佳方法是什么?
我已经在ms-access 2007中创建了一个程序(内部程序).是否可以从access(.exe)创建独立程序?
我在获取查询以在MS Access 2007中运行时遇到一些问题.我有以下查询可以正常工作:
SELECT boq.PIPE_AG,
boq.PIPE_UG,
boq.Pipe,
boq.Unit,
SUM(boq.Quantity) AS SumOfQuantity
FROM [Total - BOQ] boq
GROUP BY boq.PIPE_AG, boq.PIPE_UG, boq.Pipe, boq.Unit
HAVING boq.PIPE_AG In (-1,1) OR boq.PIPE_UG In (-1,1);
Run Code Online (Sandbox Code Playgroud)
当我将calq.Pipe ='1'添加到HAVINGcaluse时,如下所示:
HAVING boq.Pipe ='1' AND (boq.PIPE_AG In (-1,1) OR boq.PIPE_UG In (-1,1))
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息:
您尝试执行的查询不包含指定的表达式'boq.Pipe ='1'和(boq.PIPE_AG In(-1,1)或boq.PIPE_UG In(-1,1))'作为集合函数.
我为什么抱怨而有点困惑.我在GROUP BY查询的子句中确实有三个文件.如果我将其更改为使用WHERE子句,查询工作正常,但我试图理解为什么当我将Pipe字段添加到HAVING子句时它会抱怨.
上周我在程序崩溃时修改了访问2010 db中的两个模块的部分,并且每次我尝试打开db时都会崩溃.我能够创建一个新数据库并从损坏的数据库中导入表和查询,但是当我尝试导入表单/宏/模块时,新数据库也会开始崩溃.我保留每日备份,但最终失去了几个小时的工作量.这种情况上周发生了两次,每次MS Access都会在没有警告的情况下崩溃并且VBA无法恢复.
该功能按预期工作,直到db崩溃似乎在某个未知点.我的VBA代码一定存在某种问题,因为这只是在我上周开始修改模块时才开始发生,但我无法确定它,因为在没有执行任何操作时实际发生了崩溃.即在保存期间.
有没有人知道是否可以将VBA导出而无需将其导出到另一个数据库?即导出它而不必使用MS Access这样做.在相关的说明中,是否有人创建了一个库,将查询定义,表模式和所有VBA导出到文本文件中,我可以将它们放入源代码管理中?
谢谢.
我正在尝试创建一个简单的Visual Basic 6程序/数据库,该程序/数据库使用ms Access 2007作为后端。我没有vb编程的背景。我只想作为连接vb和访问的最简单方法是什么?我已经在互联网上搜索了很多有关如何执行此操作的信息,但我认为我做错了。有谁能够帮助我?谢谢。
是否可以通过另一个数据库(数据库B)中的VBA代码关闭一个Access数据库(让我们称之为数据库A).
在此处的示例中,如果数据库A在数据库B启动时打开,我希望数据库A关闭.这可能使用VBA吗?
我有一个谷歌,但所有答案似乎都与使用VBA关闭当前数据库有关,当然我可以用DoCmd.Quit实现.
任何帮助是极大的赞赏.
我在Access 2007数据库中有一个从VB代码运行的存储过程。通常,代码运行良好;但是有时我会收到以下错误:
错误#-2147217900由Microsoft OLE DB提供程序生成,用于ODBC驱动程序[Microsoft] [SQL Server Native Client 10.0] [SQL Server]直接执行SQL;没有光标。
我对此进行了大量研究,但没有提出太多建议。我见过两个消息来源:一个原因是权限不足,另一个原因与存储过程本身的问题有关。我知道权限不是问题。而且,无论我运行了多少次,存储过程都可以在Management Studio中运行良好。
请帮忙!!!
vb6 ms-access stored-procedures ms-access-2007 sql-server-2008
在处理不同的Access版本(2002,2003和2007)时,我注意到具有filename.accdb的给定访问文件的文件大小远大于具有*.mdb文件类型的相同文件大小.
我通过另存为Access 2000-2003 batabase的方式将文件从2007(.acccdb)转换为2003( .mdb).
有人解释原因吗?
另一个问题是,对于强大的数据库而言,首选的选项*.mdb或*.accdb文件类型是什么?对于存储的数据是安全的,因为每天都有数据存储,因此知道这两种文件类型日复一日都在变大.
提前致谢
mhegazy
我是vba的新手,我正在尝试运行我的第一个VBA代码,我在表单中添加了一个按钮.然后我打开了点击事件并放置
Private Sub run_Click()
MsgBox "hello World"
End Sub`
Run Code Online (Sandbox Code Playgroud)
进入模块,但当我回到表单并在窗体视图中单击按钮时没有任何反应,我做错了什么,我试图运行许多其他代码片段但没有任何工作,我有点不确定我是如何行动的"运行"代码.

我点击运行然后我得到这个

我去了信任中心和启用宏,但我仍然得到这个错误?
//此问题已解决,我的信息中心未启用marcos