Ⅰ access怎么记录历史变动情况
其实Access是一个关系型数据库,如果想查看在Access中具体每步操作记录
比如:何时建了一个表,表中各字段是何类型,又何时将其删除。何时进行了数据查询,如何操作等这些具体的记录,好象在没有做相关功能开发的话,是没法进行查看的。除非你做了相关的日志记录。
以上是针对你的问题我自己的一点看法,当然如果你仅是查看其中的记录的话,那当另当别论。Access既然是一个数据库,那么对于数据的存储是不在话下的,对于其中所存的数据的查看那也是非常容易的。
希望我的回答对你有帮助。
Ⅱ access如何依据主表中输入的某项数据自动生成子表记录
每次点击按钮生成一条记录比较容易:
我曾经做过这样的案例:
先加上一句话:
DoCmd.SetWarnings False ‘这句话是关闭烦人的提示警告;
DoCmd.RunSQL "INSERT INTO 子表名称(子表字段1,子表字段2,子表字段3,……) values('Me.当前窗体控件1','Me.当前窗体控件2',now(),……);"
注意前后顺序要一一对应,注意字段的类型,如果“子表字段1”是日期格式,则“Me.当前窗体控件1”也必须是日期格式。
希望能帮到你。
Ⅲ 如何在ACCESS 窗体中向表中添加记录
在ACCESS窗体中向表中添加记录的具体操作步骤如下:
1、首先,使用“查询设计”新建一个查询:
Ⅳ access能不能根据别字段的记录自动生成新的记录
用SQL语句就可以了.
Ⅳ access数据怎么做用户操作记录的日志功能
建立一个通用函数
在这个函数中用于记录用户的操作,给日志表增加记录,通过函数的参数取得用户操作信息
再建立一个打开窗体的函数
这个函数中,先调用前面的函数记录用户操作信息,再打开 窗体
以后在所有要打开 窗体 的地方,使用方面第二个函数来打开窗体,就会同时记录用户操作信息
Ⅵ access如何在打开窗体时自动新建一个记录。
选中要操作的窗体,右键选“设计视图”,在打开的设计视图【窗体】属性中点击上方的“事件”选项卡,选中【加载】,然后点击后面的…按钮,弹出窗口中选择【宏生成器】或者【代码生成器】,然后对照下面操作:
方法一、【宏生成器】法:
1、弹出的对话框中先给宏指定一个名称,比如:添加新记录
2、在【添加新记录: 宏】窗口的“操作”处选择:GoToRecord
然后在下面的“操作参数”处进行如下设置:
1)对象类型:窗体
2)对象名称:选你要操作的窗体
3)记录:选“新记录”
4)保存退出。
方法二、【代码生成器】法:
在弹出的VB编辑器中鼠标光标激活处添加如下代码:
DoCmd.GoToRecord , , acNewRec
然后关闭VB编辑器。
最后:无论采取那个方法,关闭窗体的“设计视图”时选“保存”即可!
Ⅶ access怎么看操作记录
其实Access是一个关系型数据库,如果想查看在Access中具体每步的操作记录比如:何时建了一个表,表中各字段是何类型,又何时将其删除。何时进行了数据查询,如何操作等这些具体的记录,好象在没有做相关功能开发的话,是没法进行查看的。除非你做了相关的日志记录。
以上是针对你的问题我自己的一点看法,当然如果你仅是查看其中的记录的话,那当另当别论。Access既然是一个数据库,那么对于数据的存储是不在话下的,对于其中所存的数据的查看那也是非常容易的。如果你的问题是这样,那么你可以留言或在线交流。
Ⅷ 在access数据库中,如何建立查询所有用户的最近10个记录
要使用交叉查询
首先你表要增加一个字段,叫“购买序数”,就是购买第一次是1,第二次是2,...
TRANSFORM last(表.交货数量)
SELECT 表.用户
FROM 表
where 表.购买序数<=10
GROUP 表.用户
PIVOT 表.购买序数;
这个查询是:
1:查处所有购买序数在10以内的所有记录(这10次当然是最近的三次),
2:把查出的记录按照用户分组
3:将够买序数作为列标题,求出每个用户在各自10次内的各自购买数量
例如:查询结果
用户 1次, 2 次,3次, 4次, 5次, 6 次,7次, 8 次,9 次,10 次
张 11 , 0, 12, 23 , 24 , 5 , 67 , 88 ,91, 5
李 4 , 5 , 1 , 8 , 6, 10 , 23, 0, 0 , 0
结果的意思是张用户在最近10次购买记录内第一次购买了11个,第二次购买了0个,第三次购买了12个......
李用户在10次内第一次购买了4个.....
我给你弄了半天,也只能做到查出你表内所有用户最近10次购买记录的“购买数量”
不能够查出购买记录的所有字段,想必我的查询是最符合你的意思的了
如果你非要查出所有字段,我建议你用编程序的方法,设置数组来做,如果光靠查询,估计够呛
给分吧,哈哈。。。。。。。。。。
Ⅸ ACCESS中如何实现提取记录总数的方法
随机提取access数据库记录的几种方法
前天有人在QQ群里问如何从Access数据库里随机抽取几条记录。这个问题如果放在SQL Server上就比较容易解决,比如随机抽取10条记录,采用的T-SQL语句是:
Select Top 10 * From [SomeTable] Order By NewID()
可以获得很好的效果,但是对于Access数据库而言就没有这么方便了。
在以前我也遇到过这样的问题,当时写一篇整理文字来讨论这个问题。这两天找到了这篇文字重新整理一下放在这里。采用的Access数据库。总结了几种办法
方法一:有人用如下代码以记录总数为极大值来首先提取出指定数量的随机数,然后以这些随机数做为记录ID。
VBScript代码:
dim n,j
dim su()
dim a,b,k
b=myrs.RecordCount
Randomize
redim su(index_N)
su(1)=Int((b * Rnd) + 1)
for n=2 to index_N
a=Int((b * Rnd) + 1)
for j=1 to n
do while a=su(j)
a=Int((b* Rnd) + 1)
j=1
loop
next
su(n)=a
next
这种方式有一些问题,就是当主键ID不连续的话,有可能某些随机数不存在ID序列当中。另外ID的最大值与总的记录值不一定相等,这样有些记录ID会永远被忽略。
方法二:有人采用一条SQL语句解决此问题
select top 5 * From Table1 order by Rnd()*5
这条语句可以随机从Access数据库中摄取5条记录。但是实际操作中,其生成的记录结果是固定的,失去了随机摄取记录的意义。
方法三:有这样一种方法。
利用随机数生成主键的记录ID
yourstr="*1*3*4*6*12*...."
然后用
sql="select top 10 * form yourdb where instr('*'&id&'*','"&yourstr&"')<>0"
yourstr
可以生成随机数多一点大于所限定抽取的随机数为好。这样可以排除记录不足的情况。
此方法也不太好,而且采用InStr语句,不能利用索引优化,对资源有一定的消耗。
方法四:
代码实现如下:
<%
n=10 ''取任意10条记录
set rs = server.CreateObject ("adodb.recordset")
sql = "select * from table"
rs.open sql,conn,1,1
count=rs.recordcount ''记录总数
IF Count<>empty Then
Randomize
for i = 1 to n ''循环n次
num=Fix(Rnd*count) ''num便是随机产生的记录行数,用Fix(),使其不会大于count值。
rs.move num ''移到改随机行
Response.write rs(0) ''出该条记录
rs.movefirst ''别忘了再把指针移到第一条
next
End IF
rs.close
set rs = nothing
%>
这个方式感觉上比较好些。
方法五:
此方法应该算是比较接近于SQL Server的用法了。
代码:
randomize '得到随机的种子,9999根据你的记录数量级调整,具体调到你出来的记录集随机序列均化
seed=round(rnd*9999)
'以下两种方法都可以,id是主键自增字段
Sql="select id,分值 from table where order by rnd(-"&seed&"-id-"&seed&")"
……
如果还有更好的方法也可以提出来。
Ⅹ 如何让access窗体保存记录后自动新建记录
只需要一个按钮即可,这个按钮执行一项两条命令:(单引号后面为说明,插入命令时可以省略)
DoCmd.RunCommand acCmdSaveRecord ‘保存当前记录
DoCmd.GoToRecord , "", acNewRec ’新建新的纪录