Tag: ms access 2007

Excel和Access之间的双向连接

我的要求是有多个相同的Excel工作表的多个副本与多个用户更新Excel表中的表。然后有一个访问数据库中的一个表从Excel表更新由多个用户更新,也是由Excel表格中的任何一位用户也应该反映其他所有用户的excel表格。 用户无权访问访问数据库。 我正在2007年版本。 我需要做的是 1.将所有excel副本连接到访问数据库。因此,如果任何用户做了任何更改,它将在访问数据库中更新。 2.现在Excel表格中的用户所做的更改也应反映在所有其他用户的Excel表格中。 我试图通过将excel文件链接到在访问中创build许多链接表的访问数据库来解决这个问题。 所以,这样excel文件中的变化反映在访问中创build的各自的链接表中。然后,我使用联合查询将所有链接表join到一个表(比如联接表)中。 然后,我将这个连接的表连接到多个Excel表。当用户打开或刷新Excel表时,Excel表中的表被更新。 但我现在面临的问题是,当在Excel文件中的一个logging中做了一些更改,而不是覆盖连接表中的logging,它创build另一个logging。所以,现在有两个logging一个logging没有更新的数据和另一个连接表中的更新数据,这两条logging也反映在Excel表格中。 所以说,如果我在每个链接文件中有50条logging,那么在访问数据库和Excel表中的连接表中创build了51条logging。 你能帮我解决这个,因为我已经尝试了很多,但是我无法解决这个问题。

MS查询与各种多个值参数

我有以下问题: 我在Excel中有5个多select列表框。 每个列表框的选定内容都写在一个单元格中,用逗号分隔。 例如在单元格A1中,所有选中的名字:Tim,Miranda,Laura 这些单元格是访问查询(where子句)的标准。 我打开MS Query并将下面的where子句添加到查询并定义参数: Where (Instr(?, [name])>0 And Instr(?, [number])>0 And Instr(?, [city])>0 And Instr(?, [phone])>0 And Instr(?, [email])>0) 它工作得很好,但是如果其中一个参数字段是空的 (例如用户没有select任何城市), 则查询将返回所有的行 ,其中城市是空的,而不是在这种情况下忽略该子句。 你可以帮我吗? 我不知道如何解决这个问题…也许有另一种解决scheme使用VBA和dynamicSQL。 不幸的是,我不知道如何实现这个… 注意:我必须使用Excel作为列表框而不是访问公式,因为工具也应该被没有访问数据库的人使用。 非常感谢! 伊丽莎白

导入数据时,请停止使用科学记数法访问2007年

所以我用VBA从Excel文件(从其他地方的CSV报告转换而来)导入一个庞大的零件号码清单。 在导入之前调用excel工作簿来准备数据,包括下面的代码来格式化零件编号,以确保零件编号不会丢失任何信息(刚刚发现): Columns("B:B").TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _ :=Array(1, 2), TrailingMinusNumbers:=True 一旦excel表被制成,我把它们导入到表中使用: DoCmd.TransferSpreadsheet acImport, 5, "PartNumberX", "D:\Target\Import Data.xlsx", -1, "PartNumberX!" & PartDim 在excel文件和Access表之间的某个地方,没有字母的零件号码和长度超过10位的数字正被转换为科学记数法,并丢失了数字上的最后几位。 我可以确认,Excel文件没有科学记数法,所以我相当确定这是发生在导入过程中的某个地方。 任何帮助,将不胜感激! -编辑: 当使用DoCmd.TransferSpreadsheet它创build表“PartNumberX” – 它不存在。 – 更新: 所以我认为导入到一个新的表格可能会导致这个问题。 导入到部件号字段作为文本字段的预定义表格中,在防止使用科学记数法访问表格方面没有区别。

将Excel文件导入Access时,ImportErrors表何去何从?

我试图导入一个大的Excel 2007文件到Access 2007中,但是失败: MS Access无法将所有数据附加到表中。 删除了43147条logging的内容,由于违规而丢失了0条logging。 你想继续吗? 当我之前遇到这个问题时,Access产生了一个ImportErrors表,显示了每个被拒绝的数据值所在的字段和行号。 然后,我可以回去看看Excel表格,找出问题所在。 这一次,logging被导入到Access表中,但是我没有得到任何ImportErrors表。 任何人都可以告诉我如何find它,或让Access生产吗?

TransferSpreadsheet方法剪切string

我创build了一个Access表单,允许分析人员将Excel表单中的数据导入到SQL Server中。 一旦他们按下表单上的一个button,它是TransferSpreadsheet方法,为数据导入触发。 DoCmd.TransferSpreadsheet Import, acSpreadsheetTypeExcel12, "Upload_tmp", TempVars!strFN, True, "" 凡TempVars!strFN – 是Excel文件的path。 除了一个小东西外,一切都很完美:有一个文本列“Comments”可以包含超过255个字符长度的string。 所有这些意见都截断了直到255个字符。 访问数据库中的“注释”列有MEMO数据types。 经过几个小时的testing,我发现如果一个带有长评论(超过255个字符)的string在文件的开始处 – 一切都会好的 – 它不会被截断。 但是,如果不是 – 那就是 – string被截断。 有谁知道总是做这项工作的诀窍? 用户表示他们不会每次在导入文件前下订单。 也许有另一种方法在Access中导入Excel数据? 谢谢

如何摆脱#func! 出现在ms访问的查询表中?

我在查询中创build了一个名为Expr1的字段,使用名为HOME_CARD的另一个字段的中间函数来提取特定的string。 这个HOME_CARD字段有如下的数据: IA1234 IA6787 KL8900 MH5689 这是我试图只提取我的Expr1领域的IA部分,它的工作原理。 Expr1:Mid([HOME_CARD],InStr(1,[HOME_CARD],“IA”),2) 我的问题是,我正在#func! 我的查询结果中的错误除了像这样的数据: KL8900 MH5689 在MS Excel中,我可以通过在我的公式前面使用IFERROR来处理这个问题,所以在没有findIA的情况下,这个单元格只会是空白的。 请帮助我的朋友,我宁愿我的查询结果没有IA的空白(空)比返回一个#func! 先谢谢你。

访问/ Excel交叉:我应该附加电子表格logging

我目前有一个古老的客户logging系统,我正在努力改进。 对于每个客户端我有一个目录,在该目录中,我包含了每个作业的目录。 每个工作都有一个电子表格,我用它来存储他们的个人信息,并根据他们的需求运行计算和成本计算。 反过来,我也有文字链接到他们的电子表格自动更新相应的文件。 电子表格也以PDF格式导出 我正在尝试在Access中build立一个客户logging的数据库,直截了当。 对于每个新客户,我需要能够将相应的电子表格添加到他们的logging,更新电子表格相应的细节,使用电子表格来计算他们的成本计算等。我不想重复input相同的信息,并希望一个有凝聚力的系统,数据在access和excel之间传递。 这应该很容易做到这两个包?

SSRS图表报告与滑块筛选或更改数据集

我有excel工作表每月销售/成本数据。 每个月我都会使用excel来生成各种图表,然后将其作为pdf发布。 但是我希望别人能够利用图表上的不同数据。 我想发布网页上的报表,当它加载时,根据表生成图表。然后,我希望用户能够使用button或滑块来更改数据集的范围(主要有date或季度或产品types等) ),然后用新的结果更新图表。 此外,任何人都可以帮助我find相当于这个文件的SQL 2008? 我正在寻找像这样的图表 我做了一些阅读,发现SSRS可以创buildExcel可以完成的所有图表。 但我不知道它是否也可以做所有的计算? 我也读过,我们可以在SQL中创build数据透视表,但不知道它们是否与Excel中的数据库相同,我们可以使用它们来过滤数据,并且graphics会实时显示变化。 我也读了关于使用ASP.net MS图表控制,但我不知道ASP,我不知道多less研究会帮助我在我的情况。 我只是希望我的访问者能够操纵在访问时生成图表的数据集。 而已。 不要“存储他们的变化或任何东西。 你们推荐什么? 顺便说一句,我有SQL 2008在做这件事。 你们推荐我使用Access 2007吗?

使用来自访问的公式来自动化Excel列

我有一个excel电子表格有一个公式=IF(L2=N2, IF(N2>0,TRUE, FALSE), FALSE)给我一个真或假的值。 如果我在Excel中打开这个电子表格,并按升序对它进行sorting,那么sorting是正确的。 从logging返回的macros如下所示。 ActiveWorkbook.Worksheets("Incorrect Items").AutoFilter.Sort.SortFields.Clear ActiveWorkbook.Worksheets("Incorrect Items").AutoFilter.Sort.SortFields.Add _ Key:=Range("X1:X2188"), SortOn:=xlSortOnValues, Order:=xlAscending, _ DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Incorrect Items").AutoFilter.Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With 当我转移到访问我有。 With WorkSheet .AutoFilter.Sort.SortFields.Clear .AutoFilter.Sort.SortFields.add _ Key:=.range("X1:X2188"), SortOn:=0, Order:=1, DataOption:=0 With .AutoFilter.Sort .Header = 1 .MatchCase = False .Orientation = 1 […]

访问VBA在Excel中分割出所有合并的单元格

我需要将一些Excel文件导入到Access数据库中。 我知道如何在VBA中编写导入函数,但它不能像我所期望的那样工作,因为Excel中的一些合并单元格会给我带来麻烦。 例如,在Excel电子表格中 当导入到Access表时,它逐行导入。 所以第一行应该是1-铅笔-90,这是正确的,但是第二行和第三行由于合并的单元而是空的。 结果是 No|Product|Storage 1 | pencil|90 | |23 | |41 但预期的结果应该是: No|Product|Storage 1 | pencil|90 1 | pencil|23 1 | pencil|41 我希望VBA拆分合并的单元格,并用合并单元格中的信息填充空白数据。 请记住,我有很多合并单元格,手动更改是不可能的。 我愿意帮助我实现愿望的任何解决scheme。 P / S:aata可以留空,所以我不能使用条件检查,如果它是空白的,然后查找上述数据。