具有access前端的mysql数据库结构

具有access前端的mysql数据库结构,mysql,database,ms-access,vba,data-structures,Mysql,Database,Ms Access,Vba,Data Structures,我有一个收集大量信息的服务器。现在每个月都有一个数据库,每个月的每一天都有一个表。通常每天大约有200000多行(一个表大约有150MB) 在另一篇帖子中,有人建议我每月只使用一个表,以便于操作数据。这并不难,因为所有条目都有日期\时间戳 问题是我们必须使用MS Access前端,并且数据没有链接,而是每天导入以进行修订。这对于自动连接到正确的数据库和表的VBA脚本非常有效 sConnect = "ODBC;Driver={MySQL ODBC 5.1 Driver};" & _ "

我有一个收集大量信息的服务器。现在每个月都有一个数据库,每个月的每一天都有一个表。通常每天大约有200000多行(一个表大约有150MB)

在另一篇帖子中,有人建议我每月只使用一个表,以便于操作数据。这并不难,因为所有条目都有日期\时间戳

问题是我们必须使用MS Access前端,并且数据没有链接,而是每天导入以进行修订。这对于自动连接到正确的数据库和表的VBA脚本非常有效

sConnect = "ODBC;Driver={MySQL ODBC 5.1 Driver};" & _
  "SERVER=172.16.0.0;" & _
  "PORT=3306;" & _
  "DATABASE=" & "Mon" & dbMonth & ";" & _
  "USER=USER;" & _
  "PASSWORD=PASS;"

DoCmd.TransferDatabase acImport, "ODBC Database", _
  sConnect, acTable, "Data" & dbDay, "Revise", , True
有人建议用一种简单快捷的方法,从一个有600多万条记录的数据库中自动导入当天的信息吗?现在,通过局域网导入一天的数据大约需要20秒


谢谢

一个进入我脑海的问题是,为什么你要这样分离你的信息——为什么不简单地在条目上加上时间戳,然后将其全部转储到一个数据库中进行处理。更易于跟踪、维护、备份和恢复—然后只需编写VBA以获取适当的记录供前端进行修订,一旦修订完成,就将其推回到该数据库中的表中—可能选中“修订”复选框以指示下次不应提取这些记录(如果我正确理解目的)

另一个问题是为什么不想链接到数据库,或者至少是数据库的视图


我在这里还是一个新手,所以可能有更大的问题我没有看到-如果是这样,我也希望得到启发。

我会将所有数据放在一个表中,创建一个链接,而不是从VBA导入和生成查询。是的,这可能有点复杂,但在我看来,最容易合作继续工作和维护


我们混合了MySql、Access数据库、Access窗体、VB6和VB.Net。使用所有这些技术是一件痛苦的事情。我已经对应用程序做了足够多的工作,知道一个表和重新链接是最好的选择。

我会坚持使用MySql中的一个表,并添加一个默认为当前时间戳的时间戳字段,这样MySql将自动运行-填充此时间戳字段

然后,一个简单的查询可以返回一个月的记录,您可以将这些记录附加到temp(?)表中

然而

我们需要将数据导入到 表,而不仅仅是链接


你确定你真的需要这样做吗?如果你通过vba进一步处理每条记录,你能不能在原始的MySQL表中不包含任何额外的信息作为额外的字段?

好吧,我要重新构造数据库,因为我发现Access有一个“隐藏”字段从链接表填充筛选列表的方法。在“数据库选项”中,您可以告诉它也使用ODBC作为筛选列表。这很难找到&我甚至认为这是不可能的。现在我有了更多的选项,因为我可以链接表


感谢所有试图提供帮助的人。

我对使用mysql也很陌生。情况有点复杂,因为我们需要将数据导入到表中,而不仅仅是链接。我不确定如何将仅一天的记录导入Access表中。也许我可以链接它,而不是导入,并使用V生成查询BA想创建一个新表,但这似乎有点复杂。但问题是,为什么你认为你需要导入它,而不仅仅是链接?这有点愚蠢,使用Access界面的人对计算机不太在行,已经习惯了Access的功能,它提供了一个复选框列表,你可以看到它显示co中的所有可用值在筛选数据表时使用列。问题是,当我从链接表中获取数据时,这对我的查询不可用。只有当它是导入的表时,它才起作用。我认为如果不导入数据,就无法解决该问题。换句话说,你是在围绕Access UI设计数据库?这似乎是b感谢我!您会注意到,每个答案都提出了相同的问题,即,为什么您认为需要将其导入表中,而不仅仅是链接到原始数据源。不导入的一个原因是Jet/ACE对文件大小有2GB限制,每天有200K条记录,除非它们是非常窄的记录(即,具有紧凑数据类型的少数列),在不太长的一段时间内,您可以很容易地超过Jet/ACE的容量来存储那么多的数据。也许您没有在MySQL中正确地为表编制索引。谢谢,maxhugen。我在上面的评论中解释了这种情况。也许您有一个建议。我使用一个主窗体,一个连续窗体子窗体,以及一个单独的带有Filte的子窗体r字段。这些筛选器字段可以是组合,并填充适当的值。然后,实际的[Filter]按钮可以使用WHERE子句修改原始SQL,或使用continuous forms子窗体.HTH的Filter属性。