设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1425|回复: 8
打印 上一主题 下一主题

[查询] 关于查询

[复制链接]
跳转到指定楼层
1#
发表于 2012-9-10 21:53:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎样在一月和四月中自动生成二月和三月,二月和三月的金额与一月的金额相等

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2012-9-11 11:00:29 | 只看该作者
描述不清
3#
发表于 2012-9-11 11:31:12 | 只看该作者
是不是这个意思??
  1. Private Sub Command0_Click()
  2.     Dim rs As New ADODB.Recordset
  3.     Dim strSQL As String
  4.     Dim i As Long, j As Long, k As Long
  5.     Dim curA As Currency
  6.     strSQL = "select * from 表1 order by 日期"
  7.     rs.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
  8.     rs.MoveLast
  9.     k = rs.Fields("日期") - 1
  10.     rs.MoveFirst
  11.     j = rs.Fields("日期") + 1
  12.     curA = rs.Fields("金额")
  13.     For i = j To k
  14.         If DCount("*", "表1", "日期='" & i & "'") = 0 Then
  15.             strSQL = "insert into 表1(日期,金额)values('" & i & "'," & curA & ")"
  16.             CurrentDb.Execute strSQL
  17.         End If
  18.     Next
  19.     DoCmd.OpenTable "表1"
  20.     rs.Close
  21.     Set rs = Nothing
  22. End Sub
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
4#
 楼主| 发表于 2012-9-11 20:19:45 | 只看该作者
Henry D. Sy 发表于 2012-9-11 11:31
是不是这个意思??

对的,版主,就是这样,不过当有两段不连续的日期时,第二段的金额不跟临近的金额,而跟第一段金额相等,如第一行201201,金额1,第二行201205,金额5,第三行201209,金额9,当执行命令后第二到第三行插入的金额是1,而不是5.
5#
发表于 2012-9-12 13:05:32 | 只看该作者
huanglucy 发表于 2012-9-11 20:19
对的,版主,就是这样,不过当有两段不连续的日期时,第二段的金额不跟临近的金额,而跟第一段金额相等, ...

什么意思?
6#
 楼主| 发表于 2012-9-12 16:14:18 | 只看该作者
Henry D. Sy 发表于 2012-9-12 13:05
什么意思?

谢谢老师,就是未单击窗体上的命令按钮时,表中有三条记录:
日期        金额
201201          100
201203           300
201205          600
单击按钮后要变成:
201201          100
201202          100
201203           300
201204        300
201205          600
而不是:
201201          100
201202          100
201203           300
201204        100
201205          600
7#
发表于 2012-9-12 16:40:54 | 只看该作者
huanglucy 发表于 2012-9-12 16:14
谢谢老师,就是未单击窗体上的命令按钮时,表中有三条记录:
日期        金额
201201          100

你一开始就应该提供能说明问题的例子
8#
发表于 2012-9-12 16:46:29 | 只看该作者
没有测试,你自己测试一下!
  1. Private Sub Command0_Click()
  2.     Dim rs As New ADODB.Recordset
  3.     Dim strSQL As String
  4.     Dim i As Long, j As Long, k As Long
  5.     Dim curA As Currency
  6.     strSQL = "select * from 表1 order by 日期"
  7.     rs.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
  8.     rs.MoveLast
  9.     k = rs.Fields("日期") - 1
  10.     rs.MoveFirst
  11.     j = rs.Fields("日期") + 1
  12.     curA = rs.Fields("金额")
  13.     For i = j To k
  14.         If DCount("*", "表1", "日期='" & i & "'") = 0 Then
  15.             strSQL = "insert into 表1(日期,金额)values('" & i & "'," & curA & ")"
  16.             CurrentDb.Execute strSQL
  17.         Else
  18.             curA = DLookup("金额", "表1", "日期='" & i & "'")
  19.         End If
  20.     Next
  21.     DoCmd.OpenTable "表1"
  22.     rs.Close
  23.     Set rs = Nothing
  24. End Sub
复制代码
9#
 楼主| 发表于 2012-9-12 17:26:46 | 只看该作者
谢谢老师,太好了,我测试过来,可以的,开始我没说明白!我在编制自己用的财务软件,因为觉得金蝶、用友等专业财务软件使用起来不方便,生成总分类账时遇到了问题,就是一年中没发生过业务的科目,没在总分类账中生成,现在可以解决了,再次谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-6-5 11:23 , Processed in 0.113590 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表