AccessVBA編程(使用技巧大全)_第1頁(yè)
AccessVBA編程(使用技巧大全)_第2頁(yè)
AccessVBA編程(使用技巧大全)_第3頁(yè)
AccessVBA編程(使用技巧大全)_第4頁(yè)
AccessVBA編程(使用技巧大全)_第5頁(yè)
已閱讀5頁(yè),還剩128頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、ACCESSVBA編程.控件:常量 控件 acBoundObjectFrame 綁定對(duì)象框 acCheckBox 復(fù)選框 acComboBox 組合框 acCommandButton 命令按鈕 acCustomControl ActiveX(自定義)控件 acImage 圖像 acLabel 標(biāo)簽 acLine 線條 acListBox 列表框 acObjectFrame 未綁定對(duì)象框或圖表 acOptionButton 選項(xiàng)按鈕 acOptionGroup 選項(xiàng)組 acPage 頁(yè) acPageBreak 分頁(yè)符 acRectangle 矩形 acSubform 子窗體/子報(bào)表 acTabC

2、tl 選項(xiàng)卡 acTextBox 文本框 acToggleButton 切換按鈕在VB中對(duì)窗體控件的引用鍵入包含控件的窗體或報(bào)表的標(biāo)識(shí)符,后面緊接 ! 運(yùn)算符和控件的名稱。例如,下列標(biāo)識(shí)符將引用“訂單”窗體上“訂單ID”控件值: Forms!訂單!訂單ID 引用子窗體或子報(bào)表上的控件,不必使用“窗體”或“報(bào)表”屬性為窗體或報(bào)表指定完整的標(biāo)識(shí)符。例如,可以使用下列標(biāo)識(shí)符來(lái)引用“訂單”子窗體上的“數(shù)量”控件: Forms!訂單!訂單子窗體!數(shù)量 判斷窗體或報(bào)表中控件的數(shù)目,然后將該數(shù)目賦給一個(gè)變量。Dim intFormControls As IntegerDim intReportControl

3、s As IntegerintFormControls = Forms!Employees.CountintReportControls = Reports!FreightCharges.Count設(shè)置控件可見(jiàn)性Dim i, ii As IntegerFor ii = 3 To 10 Me.Controls.Item(ii).Visible = TrueNextFor i = 11 To 22 Me.Controls.Item(i).Visible = FalseNext按特殊名在VBA中設(shè)置控件的可見(jiàn)性:For i = 27 To 47 If Me.Controls.Item(i).Name

4、 Like A* Then Me.Controls.Item(i).Visible = False End If Next指定一個(gè)控件能否接受焦點(diǎn)Enabled屬性: me.控件.Enabled = true能 =false不能指定一個(gè)控件能否被編輯:locked如:me.控件.Locked = trueme.控件.Locked = false設(shè)置控件標(biāo)題顯示的文字Me.控件.Caption = 顯示窗體設(shè)置標(biāo)簽顏色:Me.LabelColor =200獲得焦點(diǎn)及失去焦點(diǎn)時(shí)字段變更顏色。如果你的控件是文本框,名稱為“txt字段”,寫(xiě)如下代碼:Private Sub txt字段_GotFocus

5、() Me.txt字段.BackColor = End Sub當(dāng)中“”是灰色,你可以自己選擇希望的顏色,如果想在失去焦點(diǎn)時(shí)改為原來(lái)的顏色,寫(xiě)如下代碼:Private Sub txt字段_LostFocus() Me.txt字段.BackColor = End Sub使標(biāo)簽閃爍以引人注意設(shè)置窗體的TimerInterval 值為1000 (1秒).forms OnTimer 加入代碼:Sub Form_Timer()YourTextLabel.Visible = Not YourTextLabel.VisibleEnd_Sub設(shè)置標(biāo)簽字體顏色:Me.Label1.ForeColor =設(shè)置文本框

6、顏色:Me.TextColor = 300設(shè)置文本框字體顏色:Me.TextFontColor = 500標(biāo)簽等左邊距離:Me.Label2.Left = 2200定位控件Me.控件.Top = 8290Me. 控件.Left = 100設(shè)置控件寬度/高度Me.考生答案.Width = 10000Me.考生答案.Height = 1000標(biāo)簽等字體粗細(xì):Me.Label2.FontWeight = 20000控件邊框顏色:Me.Label2.BorderColor = 0控件邊框線條BorderStyle 屬性使用以下設(shè)置:透明 0 (僅對(duì)于標(biāo)簽、圖表和子報(bào)表而言是默認(rèn)值)透明的 實(shí)線 1 (

7、默認(rèn)值)實(shí)線 虛線 2 虛線 短虛線 3 短虛線 點(diǎn)線 4 點(diǎn)線 稀疏點(diǎn)線 5 點(diǎn)距較寬的點(diǎn)線 點(diǎn)劃線 6 虛線與點(diǎn)線組合的點(diǎn)劃線 點(diǎn)點(diǎn)劃線 7 虛線-點(diǎn)線-點(diǎn)線組合的點(diǎn)點(diǎn)劃線 雙實(shí)線 8 雙實(shí)線 指定控件的邊框?qū)挾仁褂?BorderWidth 屬性可以指定控件的邊框?qū)挾热≈担?或16指定控件是否透明使BackStyle 屬性可以指定控件是否透明。True 、False 解除子窗體鎖定Me.進(jìn)_子窗體.Locked = False 解除子窗體鎖定將窗體上所有控件的輸入法關(guān)掉!來(lái)源:不祥 Private Sub Form_Open(Cancel As Integer)Dim ctl As Acc

8、ess.ControlFor Each ctl In Me.ControlsDebug.Print ctl.Name & ctl.ControlTypeIf ctl.ControlType = acTextBox Thenctl.IMEMode = 2End IfNextEnd Sub 上述代碼控制文本框,你還可以控制其他的,只要copy進(jìn)窗體就可以了 列表框的值的引用如果是單選的列表框,用 me.列表框名 來(lái)引用;如果要引用不是結(jié)合型列的值,可以用 me.列表框名.column(n) (第一列n=0,第二列n=1)引用多列組合框或列表框中特定的列或列與行的組合用 0 引用第一列,用 1 引用

9、第二列,依此類推。用 0 引用第一行,用 1 引用第二行,依此類推。例如在含有一列客戶 ID 和一列客戶名稱的列表框中,可以使用如下方式引用第二列、第五行的客戶名稱:Forms!Contacts!Customers.Column(1, 4)可以使用 Column 屬性將組合框或列表框的內(nèi)容指定給另一控件,如文本框。例如,若要將文本框的 ControlSource 屬性設(shè)為列表框第二列中的值,可以使用以下表達(dá)式:=Forms!Customers!CompanyName.Column(1)如果引用了組合框或列表框中的列,但用戶未做選擇,則 Column 屬性設(shè)置將為 Null。可以使用 IsNul

10、l 函數(shù)來(lái)確定是否進(jìn)行了選擇,示例如下:If IsNull(Forms!Customers!Country) Then MsgBox No selection.End If顯示獲得焦點(diǎn)的控件的 Name: ctl As Control Set ctl = Screen.ActiveControl MsgBox ctl.Name窗體:如何讓窗體的標(biāo)題條閃爍以引起用戶注意?在窗體中放一個(gè)Timer控件Timer1,設(shè)置其Inteval=200*API函數(shù)聲明PrivateDeclareFunctionFlashWindowLibuser32(ByValhwndAsLong,ByValbInvert

11、AsLong)AsLong注釋:在窗體中寫(xiě)下如下代碼:PrivateSubTimer1_Timer()FlashWindowMe.hwnd,TrueEndSub窗體上如何使用windows的媒體播放器插入Microsoft Media Player控件插入控件后,在控件中屬性中的幾個(gè)主要選項(xiàng):FileName:要播放的文件名,包括路徑AutoStrat:是否自動(dòng)播放AutoRevind:播放完后是否自動(dòng)回到起點(diǎn)指定當(dāng)窗體上的命令按鈕保持按下?tīng)顟B(tài)時(shí),是否重復(fù)執(zhí)行事件過(guò)程或宏使用 AutoRepeat 屬性可以指定當(dāng)窗體上的命令按鈕保持按下?tīng)顟B(tài)時(shí),是否重復(fù)執(zhí)行事件過(guò)程或宏True 、False以隱

12、藏方式打開(kāi)一個(gè)窗體me.visible=false允許添加me.AllowAdditions=True記錄不鎖定me.RecordLocks=1是否自動(dòng)居中AutoCenter=True,False 是否自動(dòng)調(diào)整AutoResize=True,False 窗體邊框樣式 me.BorderStyle=1 中譯:無(wú) 其它1無(wú)2細(xì)邊框3可調(diào)邊框4對(duì)話框邊框設(shè)置窗體、頁(yè)眉、頁(yè)腳顏色:Me.Section(0).BackColor = 200Me.Section(1).BackColor = 200Me.Section(2).BackColor = 200窗體標(biāo)題me.Caption=中國(guó)ACCESS軟

13、件網(wǎng) 中譯:窗體標(biāo)題為中國(guó)ACCESS軟件網(wǎng)(不含引號(hào))關(guān)閉按鈕me.CloseButton=True 中譯 允許關(guān)閉按鈕其它:true:允許 False:不允許控制框me.ControlBox=True 允許其它:true:允許 False:不允許默認(rèn)視圖me.DefaultView=0 為單一窗口其它:0:單一窗口1:連續(xù)窗體2:數(shù)據(jù)表vba如何獲取/設(shè)置在數(shù)據(jù)表方式下個(gè)列的寬度一、Me.RowHeight = 800二、Me.子窗體名.Form.Controls(列名).ColumnWidth = 400允許分隔線me.DividingLines=True 中譯 允許分隔線其它:true

14、:允許 False:不允許允許打印版式英文:me.LayoutForPrint=True 中譯 允許打印版式其它:true:允許 False:不允許無(wú)最大最小化按鈕英文:me.MinMaxButtons=0 中譯 無(wú)最大最小化按鈕其它:0:無(wú) 1:最大化 2:最小化 3:兩者都有允許瀏覽按鈕英文:me.NavigationButtons=True 中譯 允許瀏覽按鈕其它:true:允許 False:不允許滾動(dòng)條me.ScrollBars=0二者均無(wú)其它:0:二者均無(wú) 1:只垂直 2:只水平3:二者都有允許/不允許添加me.AllowAdditions=True/False 允許/不允許刪除me

15、.AllowDeletions=True/False 允許/不允許編輯me.AllowEdits=True/False 指定是否允許打開(kāi)綁定窗體進(jìn)行數(shù)據(jù)輸入使用 DataEntry 屬性可以指定是否允許打開(kāi)綁定窗體進(jìn)行數(shù)據(jù)輸入。DataEntry 屬性不決定是否可以添加記錄,只決定是否顯示已有的記錄。Boolean 型,可讀/寫(xiě)。True 、False允許/不允許篩選me.AllowFilters=True/FalseFilter=篩選內(nèi)容篩選應(yīng)用與/否篩選FilterOn=True/False 將 MyForm 窗體的 BackColor 屬性,改成 ColorCode 參數(shù)指定的色彩。使用

16、 QBColor 函數(shù)將 MyForm 窗體的 BackColor 屬性,改成 ColorCode 參數(shù)指定的色彩。QBColor 可接受 0 到 15 的整型值。Sub ChangeBackColor (ColorCode As Integer, MyForm As Form) MyForm.BackColor = QBColor(ColorCode)End Sub窗體真正居中顯示如下代碼可以做到真正居中顯示Private Sub Form_Load()DoCmd.Echo FalseDim x, y As IntegerDoCmd.Maximizex = Me.WindowWidthy =

17、 Me.WindowHeightDoCmd.RestoreDoCmd.Echo TrueMove (x - Me.WindowWidth) / 2, (y - Me.WindowHeight) / 2End Sub隱藏窗體學(xué)生名冊(cè)數(shù)據(jù)表視圖中的性別字段Table!學(xué)生名冊(cè)!性別.ColumnHidden = -1顯示獲得焦點(diǎn)窗體的 Name 屬性設(shè)置:使用 ActiveForm 屬性(和 Screen 對(duì)象一起)可以標(biāo)識(shí)或引用獲得焦點(diǎn)的窗體。Dim dqhdct As FormSet dqhdct = Screen.ActiveFormMsgBox dqhdct.Name判斷窗體是否打開(kāi)的方法

18、Function IsLoaded(strName As String, Optional intObjectType As Integer =acForm)IsLoaded = (SysCmd(acSysCmdGetObjectState, intObjectType, strName) 0)End Function使用 IsLoaded 屬性可以確定當(dāng)前是否加載了 AccessObject。Boolean 型,只讀。以下是一個(gè)示例:If CurrentProject.AllForms(frmMain).IsLoaded = True ThenForms!frmMain.Form.Visib

19、le = FalseEnd If窗體中組合框不在列表中示例不在列表中事件代碼:Private Sub 名稱_NotInList(NewData As String, Response As Integer) Response = acDataErrContinue If MsgBox(您輸入的名稱不在列表中,在列表中添加新記錄嗎?, 68, 銀河酒業(yè)) = 6 Then Me!名稱 = Null DoCmd.GoToControl 單價(jià) DoCmd.OpenForm 酒名列表, , , , acAdd, acNormal Else Me!名稱 = Null Me!名稱.Dropdown End

20、 IfEnd Sub獲得焦點(diǎn)事件代碼:Private Sub 名稱_GotFocus()Me!名稱.RequeryEnd Sub如何讓窗體總在最前面?*API函數(shù)聲明DeclareFunctionSetWindowPosLibuser32(ByValhwndAsLong,ByValhWndInsertAfterAsLong,ByValxAsLong,ByValyAsLong,ByValcxAsLong,ByValcyAsLong,ByValwFlagsAsLong)AsLong注釋:常量聲明PrivateConstSWP_NOSIZE=&H1PrivateConstSWP_NOMOVE=&H2

21、PrivateConstHWND_TOPMOST=-1PrivateConstHWND_NOTOPMOST=-2注釋:在某個(gè)form里寫(xiě):SetWindowPosme.hWnd,WND_TOPMOST,0,0,0,0,SWP_NOMOVE注釋:或下面SetWindowPosme.hWnd,WND_TOPMOST,0,0,0,0,SWP_NOSIZE用代碼選擇圖表樣式 柱形圖 Me.graphnow.Object.ChartType = xlColumnClustered 折線圖Me.graphnow.Object.ChartType = xlLineMarkers餅形圖Me.graphnow.

22、Object.ChartType = xl3DPie條形圖Me.graphnow.Object.ChartType = xlBarClustered柱形圖簇狀柱形圖xlColumnClustered三維簇狀柱形圖xl3DColumnClustered堆積柱形圖xlColumnStacked三維堆積柱形圖xl3DColumnStacked百分比堆積柱形圖xlColumnStacked100三維百分比堆積柱形圖xl3DColumnStacked100三維柱形圖xl3DColumn條形圖簇狀條形圖xlBarClustered三維簇狀條形圖xl3DBarClustered堆積條形圖xlBarStack

23、ed三維堆積條形圖xl3DBarStacked百分比堆積條形圖xlBarStacked100三維百分比堆積條形圖xl3DBarStacked100折線圖折線圖xlLine數(shù)據(jù)點(diǎn)折線圖xlLineMarkers堆積折線圖xlLineStacked堆積數(shù)據(jù)點(diǎn)折線圖xlLineMarkersStacked堆積百分比折線圖xlLineStacked100百分比堆積數(shù)據(jù)點(diǎn)折線圖xlLIneMarkersStacked100三維折線圖xl3DLine餅圖餅圖xlPie分離型餅圖xlPieExploded三維餅圖xl3Dpie三維分離型餅圖xl3DPieExploded復(fù)合餅圖xlPieOfPie復(fù)合柱餅圖

24、xlBarOfPieXY(散點(diǎn)圖)散點(diǎn)圖xlXYScatter平滑線散點(diǎn)圖xlXYScatterSmooth無(wú)數(shù)據(jù)點(diǎn)平滑線散點(diǎn)圖xlXYScatterSmoothNoMarkers折線散點(diǎn)圖xlXYScatterLines無(wú)數(shù)據(jù)點(diǎn)折線散點(diǎn)圖xlXYScatterLinesNoMarkers氣泡圖氣泡圖xlBubble三維氣泡圖xlBubble3DEffect面積圖面積圖xlArea三維面積圖xl3DArea堆積面積圖xlAreaStacked三維堆積面積圖xl3DAreaStacked百分比堆積面積圖xlAreaStacked100三維百分比堆積面積圖xl3DAreaStacked100圓環(huán)圖

25、圓環(huán)圖xlDoughnut分離型圓環(huán)圖xlDoughnutExploded雷達(dá)圖雷達(dá)圖xlRadar數(shù)據(jù)點(diǎn)雷達(dá)圖xlRadarMarkers填充雷達(dá)圖xlRadarFilled曲面圖三維曲面圖xlSurface曲面圖(俯視圖)xlSurfaceTopView三維曲面圖(框架圖)xlSurfaceWireframe曲面圖(俯視框架圖)xlSurfaceTopViewWireframe股價(jià)圖盤(pán)高-盤(pán)低-收盤(pán)圖xlStockHLC成交量-盤(pán)高-盤(pán)低-收盤(pán)圖xlStockVHLC開(kāi)盤(pán)-盤(pán)高-盤(pán)低-收盤(pán)圖xlStockOHLC成交量-開(kāi)盤(pán)-盤(pán)高-盤(pán)低-收盤(pán)圖xlStockVOHLC圓柱圖簇狀柱形圓柱圖x

26、lCylinderColClustered簇狀條形圓柱圖xlCylinderBarClustered堆積柱形圓柱圖xlCylinderColStacked堆積條形圓柱圖xlCylinderBarStacked百分比堆積柱形圓柱圖xlCylinderColStacked100百分比堆積條形圓柱圖xlCylinderBarStacked100三維柱形圓柱圖xlCylinderCol圓錐圖簇狀柱形圓錐圖xlConeColClustered簇狀條形圓錐圖xlConeBarClustered堆積柱形圓錐圖xlConeColStacked堆積條形圓錐圖xlConeBarStacked百分比堆積柱形圓錐圖x

27、lConeColStacked100百分比堆積條形圓錐圖xlConeBarStacked100三維柱形圓錐圖xlConeCol棱錐圖簇狀柱形棱錐圖xlPyramidColClustered簇狀條形棱錐圖xlPyramidBarClustered堆積柱形棱錐圖xlPyramidColStacked堆積條形棱錐圖xlPyramidBarStacked百分比堆積柱形棱錐圖xlPyramidColStacked100百分比堆積條形棱錐圖xlPyramidBarStacked100三維堆積柱形棱錐圖Color屬性移動(dòng)無(wú)邊框窗體例子模塊:Declare Function SendMessage Lib u

28、ser32 Alias SendMessageA (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongDeclare Function ReleaseCapture Lib user32 () As LongPublic Const WM_NCLBUTTONDOWN = &HA1Public Const HTCAPTION = 2應(yīng)用:Private Sub Form_Close()DoCmd.RunCommand acCmdAppMaximizeEnd SubPrivate

29、Sub Form_Load()DoCmd.RunCommand acCmdAppMinimizeEnd SubPrivate Sub XPForm_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 Then ReleaseCapture SendMessage Me.hwnd, WM_NCLBUTTONDOWN, HTCAPTION, 0& End IfEnd SubPrivate Sub 命令20_Click()DoCmd.CloseEnd Sub如何移動(dòng)沒(méi)有標(biāo)題欄的窗

30、口?我們一般是用鼠標(biāo)按住窗口的標(biāo)題欄,然后移動(dòng)窗口,當(dāng)窗口沒(méi)有標(biāo)題欄時(shí),我們可以用下面的方法來(lái)移動(dòng)窗口:*API函數(shù)聲明:DeclareFunctionReleaseCaptureLibuser32()AsLongDeclareFunctionSendMessageLibuser32AliasSendMessageA(ByValhwndAsLong,ByValwMsgAsLong,ByValwParamAsLong,lParamAsAny)AsLongPublicConstHTCAPTION=2PublicConstWM_NCLBUTTONDOWN=&HA1在Form_MouseDown事件中

31、:PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)ReleaseCaptureSendMessagehwnd,WM_NCLBUTTONDOWN,HTCAPTION,0&EndSub日期、時(shí)間函數(shù)如何將文本型:2003.08.04 轉(zhuǎn)換為日期型:2003-08-04cdate(replace(2003.08.04,.,-)顯示當(dāng)前日期在該年中所處的星期號(hào)=Format(Now(), ww)ww 為 1 到 53。顯示日期字段值的四位年份值。=DatePart(yyyy, 訂購(gòu)日期)顯示日期字段

32、值前 10 天的日期值。=DateAdd(y, -10, 應(yīng)付日期)顯示日期字段值前一個(gè)月的日期值。=DateAdd(m,-1,Date()顯示日期1和日期2之間相差的天數(shù)。=DateDiff(d, 訂購(gòu)日期, 發(fā)貨日期)從今天算起到三個(gè)月后的日期之間的記錄。Betweeb date() and adddate(3,date()根據(jù)出生日期計(jì)算年齡(周歲)=IIf(Month(Date()-Month(出生年月日)-1,Year(Date()-Year(出生年月日),Year(Date()-Year(出生年月日)-1)自定義日期/時(shí)間格式 (Format 函數(shù))(:) 時(shí)間分隔符。在一些區(qū)域,

33、可能用其他符號(hào)來(lái)當(dāng)時(shí)間分隔符。格式化時(shí)間值時(shí),時(shí)間分隔符可以分隔時(shí)、分、秒。時(shí)間分隔符的真正字符在格式輸出時(shí)取決于系統(tǒng)的設(shè)置。(/) 日期分隔符。在一些區(qū)域,可能用其他符號(hào)來(lái)當(dāng)日期分隔符。格式化日期數(shù)值時(shí),日期分隔符可以分隔年、月、日。日期分隔符的真正字符在格式輸出時(shí)取決于系統(tǒng)設(shè)置。C 以 ddddd 來(lái)顯示日期并且以 ttttt 來(lái)顯示時(shí)間。如果想顯示的數(shù)值無(wú)小數(shù)部分,則只顯示日期部分,如果想顯示的數(shù)值無(wú)整數(shù)部分,則只顯示時(shí)間部分。D以沒(méi)有前導(dǎo)零的數(shù)字來(lái)顯示日 (131)。Dd以有前導(dǎo)零的數(shù)字來(lái)顯示日 (0131)。ddd以簡(jiǎn)寫(xiě)來(lái)表示日 (SunSat)。dddd以全稱來(lái)表示日 (Sunda

34、ySaturday)。ddddd以完整日期表示法顯示(包括年、月、日),日期的顯示要依系統(tǒng)的短日期格式設(shè)置而定。缺省的短日期格式為 m/d/yy。dddddd以完整日期表示法顯示日期系列數(shù)(包括年、月、日),日期的顯示要依系統(tǒng)識(shí)別的長(zhǎng)日期格式而定。缺省的長(zhǎng)日期格式為 mmmm dd, yyyy。aaaa與dddd 一樣,它只是該字符串的本地化版本。W將一周中的日期以數(shù)值表示(1 表星期日 7表星期六)。ww將一年中的星期以數(shù)值表示 (154)。M以沒(méi)有前導(dǎo)零的數(shù)字來(lái)顯示月 (112)。如果 m 是直接跟在 h 或 hh 之后,那么顯示的將是分而不是月。mm以有前導(dǎo)零的數(shù)字來(lái)顯示月 (0112)

35、。如果m是直接跟在h或hh之后,那么顯示的將是分而不是月。mmm以簡(jiǎn)寫(xiě)來(lái)表示月 (JanDec)。mmmm以全稱來(lái)表示月 (JanuaryDecember)。oooo與mmmm一樣,它只是該字符串的本地化版本。Q將一年中的季以數(shù)值表示 (14)。Y將一年中的日以數(shù)值表示 (1366)。Yy以兩位數(shù)來(lái)表示年 (0099)。yyyy以四位數(shù)來(lái)表示年 (0099)。H以沒(méi)有前導(dǎo)零的數(shù)字來(lái)顯示小時(shí) (023)。Hh以有前導(dǎo)零的數(shù)字來(lái)顯示小時(shí) (0023)。N以沒(méi)有前導(dǎo)零的數(shù)字來(lái)顯示分 (0 59)。Nn以有前導(dǎo)零的數(shù)字來(lái)顯示分 (00 59)。S以沒(méi)有前導(dǎo)零的數(shù)字來(lái)顯示秒 (0 59)。Ss以有前導(dǎo)零

36、的數(shù)字來(lái)顯示秒 (00 59)。t t t t t以完整時(shí)間表示法顯示(包括時(shí)、分、秒),用系統(tǒng)識(shí)別的時(shí)間格式定義的時(shí)間分隔符進(jìn)行格式化。如果選擇有前導(dǎo)零并且時(shí)間是在 10:00 A.M. 或 P.M.之前,那么將顯示有前導(dǎo)零的時(shí)間。缺省的時(shí)間格式為 h:mm:ss。AM/PM在中午前以 12 小時(shí)配合大寫(xiě) AM 符號(hào)來(lái)使用;在中午和 11:59 P.M.間以 12 小時(shí)配合大寫(xiě) PM 來(lái)使用。Am/pm在中午前以 12 小時(shí)配合小寫(xiě) am 符號(hào)來(lái)使用;在中午和 11:59 P.M.間以 12 小時(shí)配合小寫(xiě) pm 來(lái)使用。A/P在中午前以 12 小時(shí)配合大寫(xiě)A符號(hào)來(lái)使用;在中午和 11:59

37、P.M.間以12 小時(shí)配合大寫(xiě)P來(lái)使用。a/p在中午前以 12 小時(shí)配合小寫(xiě)a符號(hào)來(lái)使用;在中午和 11:59 P.M.間以 12 小時(shí)配合小寫(xiě)p來(lái)使用。AMPM在中午前以 12 小時(shí)配合系統(tǒng)設(shè)置的 AM字符串文字來(lái)使用;在中午和 11:59 P.M. 間以 12 小時(shí)配合系統(tǒng)設(shè)置的 PM 字符串文字來(lái)使用。AMPM 可以是大寫(xiě)或小寫(xiě),但必須和您的系統(tǒng)設(shè)置相配。其缺省格式為 AM/PM。日期函數(shù)示例當(dāng)天日期:=Date()當(dāng)日:=Day(date)當(dāng)月:=Month(date()當(dāng)年:=Year(date()當(dāng)季:=DatePart(q,Date()把日期大寫(xiě)Function Date2Chi

38、nese(iDate) Dim num(10) Dim iYear Dim iMonth Dim iDay num(0) = num(1) = 一 num(2) = 二 num(3) = 三 num(4) = 四 num(5) = 五 num(6) = 六 num(7) = 七 num(8) = 八 num(9) = 九 iYear = Year(iDate) iMonth = Month(iDate) iDay = Day(iDate) Date2Chinese = num(iYear 1000) + _ num(iYear 100) Mod 10) + num(iYear _ 10) Mo

39、d 10) + num(iYear Mod _ 10) + 年 If iMonth = 10 Then If iMonth = 10 Then Date2Chinese = Date2Chinese + _ 十 + 月 Else Date2Chinese = Date2Chinese + _ 十 + num(iMonth Mod 10) + 月 End If Else Date2Chinese = Date2Chinese + _ num(iMonth Mod 10) + 月 End If If iDay = 10 Then If iDay = 10 Then Date2Chinese = D

40、ate2Chinese + _ 十 + 日 ElseIf iDay = 20 Or iDay = 30 Then Date2Chinese = Date2Chinese + _ num(iDay 10) + 十 + 日 ElseIf iDay 20 Then Date2Chinese = Date2Chinese + _ num(iDay 10) + 十 + _ num(iDay Mod 10) + 日 Else Date2Chinese = Date2Chinese + _ 十 + num(iDay Mod 10) + 日 End If Else Date2Chinese = Date2Ch

41、inese + _ num(iDay Mod 10) + 日 End IfEnd Function算出每個(gè)月的天數(shù)一法: Dim a, b, ca = Year(Now()b = Month(Now()c = Format(a & / & b + 1 & /1), #) - Format(a & / & b & /1), #)二法: DateDiff(d, Format(Date, yyyy-mm-01), Format(DateAdd(m, -1, Date), yyyy-mm-01)DateDiff可以算出兩個(gè)日期之間相差幾天!三法:Day(DateAdd(d, -1, Format(Da

42、te, yyyy-mm-01)day函數(shù)可以知道某個(gè)日期是這個(gè)月的第幾天,我們把這個(gè)月的最后一天拿出來(lái)DAY一下!應(yīng)該還有更好的方法!比如說(shuō)可以定義一個(gè)數(shù)組,把每個(gè)月的日子放進(jìn)去,或者說(shuō)寫(xiě)一個(gè)函數(shù)算每一個(gè)月的天數(shù)只要考慮一下閨年的問(wèn)題就可以了!如何得到某年每個(gè)月的第一天是星期幾Private Sub Command1_Click()Dim i As Integer, A As Integer, B As Integer, C As StringA = InputBox(請(qǐng)輸入年份, 某年每個(gè)月的第一天是星期幾)Form1.ClsFor i = 1 To 12C = A & - & i & -1

43、B = Weekday(C)Select Case BCase vbSundayPrint A & 年 & i & 月1日是 星期日Case vbMondayPrint A & 年 & i & 月1日是 星期一Case vbTuesdayPrint A & 年 & i & 月1日是 星期二Case vbWednesdayPrint A & 年 & i & 月1日是 星期三Case vbThursdayPrint A & 年 & i & 月1日是 星期四Case vbFridayPrint A & 年 & i & 月1日是 星期五Case vbSaturdayPrint A & 年 & i &

44、月1日是 星期六End SelectNext i End Sub計(jì)算天數(shù)及月初月末日期Function 本月天數(shù)(日期 As Date) As Byte 本月天數(shù) = DateSerial(Year(日期), Month(日期) + 1, Day(日期) - 日期 End Function Function 月末(日期 As Date) As Date 月末 = DateSerial(Year(日期), Month(日期) + 1, 1) - 1 End Function Function 月初(日期 As Date) As Date 月初 = 日期 - Day(日期) + 1 End Fun

45、ction本月最后一日是周幾SELECT Weekday(DateAdd(m,1,DateSerial(Year(Date(),Month(Date(),1)-1) AS 本月最后一日是周幾,下月最后一日是周幾SELECTWeekday(DateAdd(m,2,DateSerial(Year(Date(),Month(Date(),1)-1) AS 下月最后一日是周幾,本月最后一個(gè)周5到月底的天數(shù)SELECT(Weekday(DateAdd(m,1,DateSerial(Year(Date(),Month(Date(),1)-1)+1) Mod 7 AS 本月最后一個(gè)周5到月底的天數(shù);下月最后

46、一個(gè)周5到月底的天數(shù)SELECT(Weekday(DateAdd(m,2,DateSerial(Year(Date(),Month(Date(),1)-1)+1) Mod 7 AS 下月最后一個(gè)周5到月底的天數(shù);本月最后一個(gè)周5的日期SELECTDateAdd(m,1,DateSerial(Year(Date(),Month(Date(),1)-1-(Weekday(DateAdd(m,1,DateSerial(Year(Date(),Month(Date(),1)-1)+1) Mod 7 AS 本月最后一個(gè)周5的日期;下月最后一個(gè)周5的日期SELECTDateAdd(m,2,DateSeri

47、al(Year(Date(),Month(Date(),1)-1-(Weekday(DateAdd(m,2,DateSerial(Year(Date(),Month(Date(),1)-1)+1) Mod 7 AS 下月最后一個(gè)周5的日期;數(shù)據(jù)輸入、查詢、計(jì)算、連接:通過(guò)英特網(wǎng)的ACCESS聯(lián)接在ACCESS中使用ADO: Private Sub ABC_Click()Dim cn As New ADODB.ConnectionDim rs As New ADODB.Recordsetcn.OPEN DSN=alwin;UID=;PWD=;rs.OPEN Select * from tbTAB

48、LE, cn, adOpenDynamic, adLockReadOnlyrs.ABC App.Path & testdata.dat, adPersistADTGrs.Closecn.CloseMsgBox (OPERATION OK)End SubPrivate Sub OPEN_Click()Dim strConnect As StringstrConnect = Provider=MSPersistDim rs As New ADODB.Recordsetrs.OPEN http:/遠(yuǎn)程服務(wù)器的IP/test/testdata.dat, strConnectDo While Not r

49、s.EOFDebug.Print rs(USERID).valuers.MoveNextLoopEnd Sub 數(shù)據(jù)庫(kù)網(wǎng)絡(luò)使用時(shí),速度很慢!即使采取始終隱藏運(yùn)行一個(gè)聯(lián)接后端表的窗體的辦法!也必須運(yùn)行一次一個(gè)無(wú)條件的查詢(窗體狀態(tài))后,速度才比較令人滿意!有沒(méi)有更好的辦法! 在ADSL連接的互連網(wǎng),而不是局域網(wǎng)!一,建立一個(gè)隱藏運(yùn)行的連接后端的窗體.二,在打開(kāi)啟動(dòng)窗體時(shí)自動(dòng)運(yùn)行一個(gè)用窗體顯示的查詢,注意,要顯示到最后一條記錄,不然,速度只能提高一部分,然后自動(dòng)關(guān)閉該窗體(以上過(guò)程都要隱藏,所以實(shí)際上看不見(jiàn),另因?yàn)橐\(yùn)行一定的時(shí)間,最好設(shè)置一個(gè)正在連接和連接完畢的的提示框),這樣一來(lái),讀取速度幾乎跟在單機(jī)上使用沒(méi)有區(qū)別!將用戶輸入的身份證號(hào)15位數(shù)據(jù)轉(zhuǎn)化為18位。 Function IDCode15to18(sCode15 As String) As String *功能:將15的身份證號(hào)升為18位(根據(jù)GB 11643-1999) *參數(shù):原來(lái)的號(hào)碼 *返回:升位后的18位號(hào)碼 Dim i As Integer Dim num As Integer Dim code As String num = 0 IDCode15to18 = Left(sCode1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論