Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

按当前年月,列出过去36个月的年月清单

jutazhu  发表于:2018-09-27 15:44:07  
复制

最好能给出VBA的代码,因为我需要把这个清单写入一个表中做月度统计使用,谢谢。

若本月为1809,那我需要向表中写入1809,1808.......1510,1511



DateID TeMonth
1 1511
2 1512
3 1601
4 1602
5 1603
6 1604
7 1605
8 1606
9 1607
10 1608
11 1609
12 1610
13 1611
14 1612
15 1701
16 1702
17 1703
18 1704
19 1705
20 1706
21 1707
22 1708
23 1709
24 1710
25 1711
26 1712
27 1801
28 1802
29 1803
30 1804
31 1805
32 1806
33 1807
34 1808
35 1809
36 1810


 

Top
chinasa 发表于:2018-09-27 16:13:27
ny = Format(Now(), "yymm")
Do Until i > 36
wb = wb & Chr(13) & Chr(10) & ny
ny = ny - 1
i = i + 1
Loop
MsgBox wb

网行者 发表于:2018-09-29 21:02:56
Private Sub Command0_Click()
    On Error GoTo Err_Command0_Click
    
    Dim nian As Integer
    Dim yue As Integer
    Dim i As Integer
    
    Dim rst As ADODB.Recordset
    
    Set rst = New ADODB.Recordset
    
    rst.ActiveConnection = CurrentProject.Connection
    
    rst.Open "月度统计表", , adOpenKeyset, adLockOptimistic
    
    CurrentDb.Execute "delete from 月度统计表"
    
    nian = Format(Now(), "yy")
    yue = Format(Now(), "m")


    For i = 1 To 36
        rst.AddNew
        rst!TeMonth = Val(nian & Format(yue, "00"))
        rst.Update
        yue = yue - 1
        If yue = 0 Then
            nian = nian - 1
            yue = 12
        End If
    Next
    rst.Close
    
    MsgBox "All done!", vbOKOnly
    DoCmd.OpenTable "月度统计表"
    
Exit_Command0_Click:
    Exit Sub


Err_Command0_Click:
    MsgBox Err.Description
    Resume Exit_Command0_Click

End Sub


点击下载此附件



jutazhu 发表于:2018-10-10 14:04:44

谢谢网行者的帮助。要的就是这个结果



总记录:3篇  页次:1/1 9 1 :