北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |
窗体中输入【开始日期】:2012-1-1,【结束日期】:2013-2-2,得到如下结果,我表示很不懂,望详细指点:
本意:从“开始日期”递增月份至结束日期,号数保持开始日期的号数(此处为“1”)。
周期 |
---|
2012-1-1 |
2012-2-2 |
2012-3-4 |
2012-4-7 |
2012-5-11 |
2012-6-16 |
2012-7-22 |
2012-8-29 |
2012-10-6 |
2012-11-15 |
2012-12-25 |
2013-2-7 |
2013-3-19 |
2013-5-1 |
结果中缺少2012年9月,2013年1、4月。
另外,日期应该不变化,只是月份递增。
代码如下:
Private Sub Command1_Click()
On Error GoTo Err_Command1_Click
Dim str As String
Dim lsh1 As Date
Dim lsh2 As Date
Dim lsh As Integer
Dim dzlsh As Date
Dim 项目名称 As String
lsh1 = Me.开始日期
lsh2 = Me.结束日期
lsh = DateDiff("m", lsh1, lsh2) + 1
dzlsh = DateAdd("m", i, lsh1)
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
str = "select * from cost"
rs.Open str, CurrentProject.Connection, adOpenKeyset, adLockPessimistic
rs.Update
For i = 1 To lsh
rs.AddNew
rs("项目开始日期") = dzlsh
rs("项目名称") = Me.项目名称
lsh1 = lsh1 + i
dzlsh = DateAdd("m", i, lsh1)
rs.Update
Next i
rs.Close
Set rst = Nothing
MsgBox "已添加到表中"
Me.开始日期 = Null
Me.结束日期 = Null
Me.项目名称 = Null
Exit_Command1_Click:
Exit Sub
Err_Command1_Click:
MsgBox Err.Description
Resume Exit_Command1_Click
End Sub