Tag: ms access

在更改encryption方法后连接到encryption的Access数据库

基于从Excel中访问受密码保护的MS Access文件 ,我应该能够进入选项>客户端设置,并将encryption方法设置为“使用传统encryption”,然后能够通过Excel数据连接连接到我的encryption数据库。 但是,当我这样做时,我仍然会被反复提示input密码,最终必须点击取消(因此不能连接)。 我正在使用Excel 2010和Access 2010.我的数据库被encryption,并有链接表(以及许多查询,表单,报告,macros和VBA代码)。 任何人都可以帮我解决为什么这不工作?

在MS Access中查找和删除重复的值

Access中有三列: ZeroCurveID MarkRunID MarkAsOfDate 90-6589 6656 2/28/2012 90-6589 6656 2/28/2012 90-6589 6656 2/28/2012 14-8898 8898 8/12/2014 14-8898 8898 8/12/2014 14-8898 8898 8/12/2014 14-8898 8898 8/12/2014 14-8898 8898 8/12/2014 14-8898 8896* 8/12/2014 14-8898 8898 8/12/2014 14-8898 8898 8/12/2014 14-8898 8898 8/12/2014 14-8898 8898 8/12/2014 该数据集长达数千条logging。 每个ZeroCurveID应该有一个对应的MarkRunID和一个MarkAsofDate 。 对于相同的ZeroCurveID应该只有一个对应的MarkRunID和MarkAsofDate。 然而,在整个集合中,有一些情况下会有两个不同的MarkRunID用于相同的MarkasOfDate和ZeroCurveID,例如上面例子中的8896和8898 (显示在星号处)。 我需要确定这些重复发生的地方。 我如何在代码中识别这些实例? 我可以写什么查询来完成这个?

将Excel电子表格导入MS Access数据库

类似这篇文章,我需要从excel电子表格导入数据到一个新的访问表使用查询 有没有类似于这个查询导入访问数据库 INSERT INTO [tblTemp] ([Column1], [Column2], [Column3], [Column4]) SELECT A.[Column1], A.[Column2], A.[Column3], A.[Column4] FROM OPENROWSET ('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:\Excel.xls;HDR=YES', 'select * from [Sheet1$]') AS A;

Access中的IIF语句会破坏层次结构中稍后重叠的值

我部分地提炼了一个早先的问题,试图在这里提出一些具体的问题。 为了解决这个问题,我有一个有点大的数据集(大约250k行),我需要根据是否在字段中find某个文本string,将给定的连接字段转换为每个行项目的输出。 这已经在Excel中pipe理(使用IF(IFERROR(FIND())),但是公式对Excel太重要了,我需要将整个过程移到Access以更好地自动化。最终目标是生成一个表格可以粘贴到一个Excel模型,然后刷新修改date。 现有的SQL: SELECT my_field_1 , my_field_2, my_field_3, IIF(Active = 'Yes' AND Issue IS NULL,'OK', IIF(Issue LIKE '123','123', IIF(Issue LIKE'234','234', IIF(Issue LIKE '345','345', //* Etc going down to 14 nested IIF statements in the above format and //* returning NULL where conditions are not met. I then roll up the 3 issue //* sets […]

访问VBA:使用现有的Excel工作簿(运行时错误9,如果文件已经打开)

我在Access中写一个macros(希望)会: 创build一个Excel工作表 根据Access数据库中的信息进行设置和格式化 用户input后,将input的数据馈送到现有的Excel主文件中 打开空白纸等工作绝对好,但我卡住试图将现有的主文件设置为一个variables : Sub XLData_EnterSurvey() Dim appXL As Excel.Application Dim wbXLnew, wbXLcore As Excel.Workbook Dim wsXL As Excel.Worksheet Dim wbXLname As String Set appXL = CreateObject("Excel.Application") appXL.Visible = True wbXLname = "G:\[*full reference to file*].xlsm" IsWBOpen = fnIsWBOpen(wbXLname) 'separate function (Boolean), using 'attempt to open file and lock it' method 'from Microsoft […]

VBA刷新链接从Access表格到Excel工作簿

我有一个Access 2010数据库,使用链接到5个Excel 2010工作簿的5个表。 表名与工作簿名称相匹配(例如,链接到My_Data1.xlsx My_Data1表)。 此数据库和链接的工作簿需要分发给多个用户,但文件path在每台计算机上都是相同的(例如C:\Users\Public\MyDataFiles\ )。 我想确保一旦将文件放置在每个人的机器上而几乎不需要用户交互,就可以build立/刷新与Excel工作簿的链接。 有什么build议么?

使用Excel更新Access数据库 – 最佳方法

我有一个Access数据库和Excel电子表格,有几百行数据可以更新到数据库中。 Access数据库中的某些字段不在Excel电子表格中。 编写Excel VBA脚本来更新Access数据库最好还是有更好的方法? 我对Access并不是很熟悉,而且我的VBA技能也很生疏,所以我们不胜感激。 一些示例数据,这是从Excel: MN File Identifier 587034901 PN000352 3248029409 PN000352 3066978806 PN000456 574565507 PN000477 MN将是Access中的“唯一键”(我习惯于SQL)。 这些将是更新,而不是插入。 谢谢。

当不是所有的Excel文件都具有相同的工作表时,将多个Excel文件和工作表导入到Access

我有一个大约75个Excel文件(.xlsx)的文件夹。 Excel文件应该都有五个命名的工作表(例如: SurveyData , AmphibianSurveyObservationData , BirdSurveyObservationData , PlantObservationData和WildSpeciesObservationData )。 不幸的是,有时Excel文件只有工作表的一个子集(即一个Excel文件可能有全部五个工作表,而另一个只有SurveyData和AmphibianSurveyObservationData工作表)。 我想将所有这些Excel文件导入到Access中,并将每个工作表中的信息放入一个单独的表中。 例如,我希望将所有Excel文件中SurveyData工作表的所有数据放入名为SurveyData的访问表中。 我发现这个VBA代码(见下文),当所有的工作表都出现在Excel文件中时,它似乎工作正常,但是当一个工作表丢失时,脚本停止,并且不会继续导入任何其他文件。 有没有办法只导入工作表,如果它存在于Excel文件,否则只是跳过导入? Function ImportExcelFiles() Dim strFile As String DoCmd.SetWarnings False ' Set file directory for files to be imported strPath = "D:\SpeciesData\MoELoadform\2015SpeciesDetectionLoadforms – Copy\" ' Tell it to import all Excel files from the file directory strFile = Dir(strPath & "*.xls*") ' […]

在C#中查找具有相同ID的数据行

这是我第一次使用Datarows或表格数据。 考虑到我有一个简单的两列表,其中一个包含ID,另一个包含名称string。 我需要做的是find两个具有相同ID的Datarows,并将这两行传递给另一个函数,我们称之为HandleTheDuplicates 。 此刻,我正在尝试将以前的ID存储在另一个variables中,并检查它是否与当前ID相匹配,然后将其添加到DataRowtypes的列表中。 List<DataRow> RowList = new List<DataRow>(); int previous = 0 ; foreach (DataRow rowToMatch in importSetOfTables.Tables["MyTable"].Rows) { int rowID = Convert.ToInt32(rowToMatch["ID"]); if (previous == rowID) { RowList.Add(rowToMatch); } else { RowList.Clear(); } previous = rowID; if(RowList.Count > 1) //in case of a match { HandleTheDuplicates(RowList); } } 我不知道这是做这种事情的正确方法,还是可以做更简单的事情。

在Excel中运行macros而不打开Access

我有一个Excel数据写入数据的Excel程序。 在这个数据库中,我有一个macros,运行时将数据复制到另一个excel文件中。 我想编辑原始的excel程序,以便在将数据写入Access数据库之后,它会自动运行macros。 现在,我已经把它设置成将数据写入数据库,然后打开数据库,运行macros,然后closures数据库 – 这似乎有些不够用。 以下是访问数据库中的macros: Sub copy() Dim strTable As String Dim strWorksheetPath As String strWorksheetPath = "FilePath" & "test.xlsx" strTable = "test" DoCmd.OutputTo acOutputTable, strTable, acFormatXLSX, strWorksheetPath End Sub 程序中的相关代码只是打开数据库,调用macros并closures它。 如果有办法解决这个问题,不用打开数据库就好了。 谢谢。 即只是为了说清楚,我正在寻找一种方法来模仿上述代码在Excel中,所以我不需要打开访问数据库在所有即无论如何将数据从访问传输到Excel工作簿,没有使用访问VBA。