設(shè)為首頁收藏本站Access中國

Office中國論壇/Access中國論壇

 找回密碼
 注冊

QQ登錄

只需一步,快速開始

返回列表 發(fā)新帖
查看: 3096|回復(fù): 6
打印 上一主題 下一主題

[窗體] 關(guān)于VBA代碼執(zhí)行問題,請大家看看為什么不能執(zhí)行

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2014-12-29 10:42:36 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
DoCmd.SetWarnings False

Dim A, B, C, D

A = Year(Date)
B = Month(Date)
C = Format((A & "-" & B - 1 & "-21"), "YYYY-MM-DD") - Format((A & "-" & B & "-20"), "YYYY-MM-DD")
D = Format((A & "-" & B - 1 & "-21"), "YYYY-MM-DD")
Do
  
  DoCmd.RunSQL "insert into [~TMPCLP考勤](日期) values(D)"
  D = D + 1
  C = C - 1
Loop Until C = 0


DoCmd.SetWarnings True


[~TMPCLP考勤](日期),這個(gè)表中的日期字段屬性為日期,但是在執(zhí)行的過程中說類型不匹配,請大家看看如何修改。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 分享淘帖 訂閱訂閱
2#
 樓主| 發(fā)表于 2014-12-29 10:44:19 | 只看該作者
我想追加上個(gè)月的21日到這個(gè)月的20日的日期作為考勤的日期列表的值,但是現(xiàn)實(shí)類型不匹配,請教大家了。
3#
發(fā)表于 2014-12-29 11:31:14 | 只看該作者
本帖最后由 roych 于 2014-12-29 11:32 編輯

敢不敢再復(fù)雜點(diǎn)?
  1. Sub tt()
  2. Dim d As Date
  3. DoCmd.SetWarnings False
  4. For d = Date - 38 To Date - 9
  5.     DoCmd.RunSQL "insert into [~TMPCLP考勤](日期) values(#" & d & "#)"
  6. Next
  7. DoCmd.SetWarnings True
  8. End Sub
復(fù)制代碼
1、變量沒定義。A、B都是數(shù)值型,在C的賦值里需要轉(zhuǎn)換為文本才可以執(zhí)行format函數(shù)。
2、SQL語句中“D”已經(jīng)轉(zhuǎn)換為文本“D”。
3、即便要使用你的語句,也要加上“#”來轉(zhuǎn)換為日期格式。而且根本不必這樣寫,formatDateTime就可以直接轉(zhuǎn)換為日期格式,此舉簡直就是畫蛇添足。
4、最后一點(diǎn),建議先把基礎(chǔ)夯實(shí)再去學(xué)代碼。access本身的日期格式就可以加減,根本不必那么復(fù)雜。
4#
發(fā)表于 2014-12-29 11:41:07 | 只看該作者
本帖最后由 todaynew 于 2014-12-29 14:11 編輯

sub InserDate(y as integer,m as integer)
    '參數(shù):y--年度,m--月度
    dim d0 as date,d1 as date
    dim ssql as string
    d0=DateSerial(y,m,21)
    d1=dateadd("1","m",d0)
    ssql="delete * from [~TMPCLP考勤] where 日期>=#" & d0 & "# and 日期<#" & d1 & "#"
    CurrentDb.Execute ssql
    do while d0<d1
         ssql="insert into [~TMPCLP考勤]  (日期) values (#" & d0 & "#)"
         CurrentDb.Execute ssql
         d0=dateadd("d",1,d0)
    loop
end sub
5#
 樓主| 發(fā)表于 2014-12-29 14:09:24 | 只看該作者
roych 發(fā)表于 2014-12-29 11:31
敢不敢再復(fù)雜點(diǎn)?
1、變量沒定義。A、B都是數(shù)值型,在C的賦值里需要轉(zhuǎn)換為文本才可以執(zhí)行format函數(shù)。
2 ...

謝謝啊,基本功確實(shí)不行,以后還得繼續(xù)學(xué)習(xí)。
6#
 樓主| 發(fā)表于 2014-12-29 14:09:49 | 只看該作者
todaynew 發(fā)表于 2014-12-29 11:41
sub InserDate(y as integer,m as integer)
    '參數(shù):y--年度,m--月度
    dim d0 as date,d1 as date

謝謝。以后還得多向你們請教。
7#
發(fā)表于 2015-11-28 13:08:24 | 只看該作者
每次回帖、謝謝!辛苦了。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則

QQ|站長郵箱|小黑屋|手機(jī)版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2025-7-13 08:37 , Processed in 0.120265 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表