我正在寻求关于如何安排自动更新数据库(.accdb)的意见,因为我对自己设置的过程不太了解。 目前,它的工作原理如下: 任务计划程序调用.bat .bat调用.vbs .vbs打开数据库并调用一个macros macros调用一个函数(VBA级别) 该函数调用更新子程序 我认为有太多的步骤,而且它需要与数据库相关的两个外部文件(.Bat和.vbs),并且存储在系统中会增加程序中断的风险。 显然(但请告诉我,我错了,我怎么可以改变它).vbs不能调用一个子程序,但只有一个macros。 同样,如果用户希望进入数据库的VB环境,则访问macros不能调用子例程,而只能调用函数。 这就是为什么我调用函数(VBA Level)然后调用子程序的原因。 希望你们中的一些人知道如何缩短步骤,最终得到.bat和.vbs的搭档
我如何访问Python中的Microsoft Access数据库? 用SQL? 我会优先考虑一个适用于Linux的解决scheme,但我也可以适应Windows。 我只需要读取权限。
public void LoadDB() { string FileName = @"c:\asdf.accdb"; string query = "SELECT ID, Field1 FROM Table1 WHERE ID=? AND Field1=?"; string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FileName; OleDbConnection odc = new OleDbConnection(strConn); dAdapter = new OleDbDataAdapter(); OleDbCommand cmd = new OleDbCommand(query,odc); cmd.Parameters.Add("?", OleDbType.Integer, 5).Value = 1234; cmd.Parameters.Add("?", OleDbType.BSTR, 5).Value ="asdf"; dAdapter.SelectCommand = cmd; ds = […]
我执行以下查询从我的Web应用程序和访问2007年查询向导。 我得到了两个不同的结果。 SELECT R.Rept_Name, D.Dist_Name,S.State_Name FROM (tblReporter AS R LEFT JOIN tblDist AS D ON R.Dist_Id=D.Dist_Id) LEFT JOIN tblState AS S ON S.State_Id=R.State_Id WHERE R.Rept_Name LIKE '*Ra*' ORDER BY R.Rept_Name; 从Web应用程序的结果是0行,从查询向导2行。如果我删除条件比两个结果是相同的。 请帮我查询有什么问题。 如果有其他信息需要请告诉我。 Web应用程序代码… public DataTable getRept(string rept, string mobno) { DataTable dt = new DataTable(); using (OleDbConnection conn = new OleDbConnection(getConnection())) { using (OleDbCommand […]
我试图连接到一个mdb文件,我明白,我将需要Microsoft.OLEDB.JET.4.0数据提供程序。 不幸的是,我没有安装在(大学)机器上。 既然,他们不提供这个提供者,我相信应该有办法。 如何在没有Microsoft.OLEDB.JET.4.0的情况下连接到文件,或者是否有其他select? 我有以下提供者: 我曾尝试使用OLE DB Provider for Microsoft Directory Services ,在testing连接时,我得到'testing成功,但某些设置不被提供程序接受'。 我拿了这个string,并用它,我得到ADsDSOObject' failed with no error message available, result code: DB_E_ERRORSINCOMMAND(0x80040E14) 。
有什么理由为什么 SELECT * FROM MyTable WHERE [_Items] LIKE '*SPI*' 不使用OleDbAdapter.Fill(DataSet)或OleDbCommand.ExecuteReader()返回任何logging? 当我直接在MS Access中运行相同的SQL时,它将返回预期的logging。 此外,在相同的代码中,如果我更改SQL SELECT * FROM MyTable 所有logging都会返回。
我们正在考虑为多个用户“增长”一些MS-Access数据库,并提供一些表格,表单和查询。 (使用不同的后端是另一个,但更长期的select,不幸的是目前不能接受。) 大多数用户将是只读的,但会有一些(当前是一两个)用户必须能够进行更改(而只读用户也使用数据库)。 我们没有太在意安全方面的问题,而是关于以下一些问题: 我们如何确保写入用户可以在其他用户使用数据的同时对表格数据进行更改? 读取的用户是否在桌子上放置了锁? 写入用户是否必须将locking在桌子上? Access是否为我们做这个或者我们必须明确地编码这个? 是否有任何我们应该知道的“MS Access交易”的常见问题? 我们可以在表单,查询等工作时使用吗? 我们如何“编程”而不妨碍用户呢? MS Access中的哪些设置会影响事情的处理方式? 我们的背景大多是在Oracle中,Access在处理多个用户方面有哪些不同? 在Access中有没有“隔离级别”的东西? 任何提示或有用的文章指针将不胜感激。
在Access2003 / 2007中使用VBA。 如何将stringvariables的内容复制到剪贴板? 该站点build议创build一个零长度的TextBox,将该string复制到TextBox,然后运行DoCmd.RunCommand acCmdCopy 。 啊。 我的意思是,我们可能会走下去的路线。 但仍然。 啊。 虽然MS知识库文章向我们展示了如何做,但涉及到许多Windows API调用。 育。 这是唯一的两个select吗?
如何在Access 2007 VBA中显示打开的文件(或文件select)对话框? 我已经尝试使用Application.GetOpenFileName,因为我会在Excel中,但此function不存在于Access中。
我似乎无法得到一个答案所有在一起,我真正的问题从数据库检索图像时,无效的参数所以,我试图一块一块。 在C#和MS Access 2010中使用Visual Studio 2012.我的解决scheme是与应用程序无关的web。 我不确定这个部分,所以在这里我的问题是如何正确地从一个查询中的行中的一个OLE对象的图像到一个字节数组( byte [] ),因为当然不是我如何用下面的代码来做这件事。 我在说的是row [“FOTO”] 。 OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * FROM [APP_Equipamento_Geral] WHERE COD_ETIQ like '%" + codigo + "%'", l); DataSet ds = new DataSet(); adapter.Fill(ds, "[APP_Equipamento_Geral]"); string s = ds.Tables["[APP_Equipamento_Geral]"].Columns[16].ColumnName; foreach (DataRow row in ds.Tables["[APP_Equipamento_Geral]"].Rows) { eq.NSerie = row["N_SERIE"].ToString(); eq.NInventario = row["Codigo"].ToString(); if (row["FOTO"] […]