




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、ACCESSVBA編程.控件:常量 控件 acBoundObjectFrame 綁定對象框 acCheckBox 復(fù)選框 acComboBox 組合框 acCommandButton 命令按鈕 acCustomControl ActiveX(自定義)控件 acImage 圖像 acLabel 標(biāo)簽 acLine 線條 acListBox 列表框 acObjectFrame 未綁定對象框或圖表 acOptionButton 選項(xiàng)按鈕 acOptionGroup 選項(xiàng)組 acPage 頁 acPageBreak 分頁符 acRectangle 矩形 acSubform 子窗體/子報(bào)表 acTabC
2、tl 選項(xiàng)卡 acTextBox 文本框 acToggleButton 切換按鈕在VB中對窗體控件的引用鍵入包含控件的窗體或報(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í)符來引用“訂單”子窗體上的“數(shù)量”控件: Forms!訂單!訂單子窗體!數(shù)量 判斷窗體或報(bào)表中控件的數(shù)目,然后將該數(shù)目賦給一個(gè)變量。Dim intFormControls As IntegerDim intReportControl
3、s As IntegerintFormControls = Forms!Employees.CountintReportControls = Reports!FreightCharges.Count設(shè)置控件可見性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è)置控件的可見性: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字段”,寫如下代碼:Private Sub txt字段_GotFocus
5、() Me.txt字段.BackColor = End Sub當(dāng)中“”是灰色,你可以自己選擇希望的顏色,如果想在失去焦點(diǎn)時(shí)改為原來的顏色,寫如下代碼: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 (僅對于標(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)掉!來源:不祥 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.列表框名 來引用;如果要引用不是結(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ù)來確定是否進(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注釋:在窗體中寫下如下代碼:PrivateSubTimer1_Timer()FlashWindowMe.hwnd,TrueEndSub窗體上如何使用windows的媒體播放器插入Microsoft Media Player控件插入控件后,在控件中屬性中的幾個(gè)主要選項(xiàng):FileName:要播放的文件名,包括路徑AutoStrat:是否自動(dòng)播放AutoRevind:播放完后是否自動(dòng)回到起點(diǎn)指定當(dāng)窗體上的命令按鈕保持按下狀態(tài)時(shí),是否重復(fù)執(zhí)行事件過程或宏使用 AutoRepeat 屬性可以指定當(dāng)窗體上的命令按鈕保持按下狀態(tài)時(shí),是否重復(fù)執(zhí)行事件過程或宏True 、False以隱
12、藏方式打開一個(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 中譯:無 其它1無2細(xì)邊框3可調(diào)邊框4對話框邊框設(shè)置窗體、頁眉、頁腳顏色:Me.Section(0).BackColor = 200Me.Section(1).BackColor = 200Me.Section(2).BackColor = 200窗體標(biāo)題me.Caption=中國ACCESS軟
13、件網(wǎng) 中譯:窗體標(biāo)題為中國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:不允許無最大最小化按鈕英文:me.MinMaxButtons=0 中譯 無最大最小化按鈕其它:0:無 1:最大化 2:最小化 3:兩者都有允許瀏覽按鈕英文:me.NavigationButtons=True 中譯 允許瀏覽按鈕其它:true:允許 False:不允許滾動(dòng)條me.ScrollBars=0二者均無其它:0:二者均無 1:只垂直 2:只水平3:二者都有允許/不允許添加me.AllowAdditions=True/False 允許/不允許刪除me
15、.AllowDeletions=True/False 允許/不允許編輯me.AllowEdits=True/False 指定是否允許打開綁定窗體進(jìn)行數(shù)據(jù)輸入使用 DataEntry 屬性可以指定是否允許打開綁定窗體進(jìn)行數(shù)據(jù)輸入。DataEntry 屬性不決定是否可以添加記錄,只決定是否顯示已有的記錄。Boolean 型,可讀/寫。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é)生名冊數(shù)據(jù)表視圖中的性別字段Table!學(xué)生名冊!性別.ColumnHidden = -1顯示獲得焦點(diǎn)窗體的 Name 屬性設(shè)置:使用 ActiveForm 屬性(和 Screen 對象一起)可以標(biāo)識(shí)或引用獲得焦點(diǎn)的窗體。Dim dqhdct As FormSet dqhdct = Screen.ActiveFormMsgBox dqhdct.Name判斷窗體是否打開的方法
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里寫: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無數(shù)據(jù)點(diǎn)平滑線散點(diǎn)圖xlXYScatterSmoothNoMarkers折線散點(diǎn)圖xlXYScatterLines無數(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à)圖盤高-盤低-收盤圖xlStockHLC成交量-盤高-盤低-收盤圖xlStockVHLC開盤-盤高-盤低-收盤圖xlStockOHLC成交量-開盤-盤高-盤低-收盤圖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)無邊框窗體例子模塊: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)沒有標(biāo)題欄的窗
30、口?我們一般是用鼠標(biāo)按住窗口的標(biāo)題欄,然后移動(dòng)窗口,當(dāng)窗口沒有標(biāo)題欄時(shí),我們可以用下面的方法來移動(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, 訂購日期)顯示日期字段
32、值前 10 天的日期值。=DateAdd(y, -10, 應(yīng)付日期)顯示日期字段值前一個(gè)月的日期值。=DateAdd(m,-1,Date()顯示日期1和日期2之間相差的天數(shù)。=DateDiff(d, 訂購日期, 發(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)來當(dāng)時(shí)間分隔符。格式化時(shí)間值時(shí),時(shí)間分隔符可以分隔時(shí)、分、秒。時(shí)間分隔符的真正字符在格式輸出時(shí)取決于系統(tǒng)的設(shè)置。(/) 日期分隔符。在一些區(qū)域,可能用其他符號(hào)來當(dāng)日期分隔符。格式化日期數(shù)值時(shí),日期分隔符可以分隔年、月、日。日期分隔符的真正字符在格式輸出時(shí)取決于系統(tǒng)設(shè)置。C 以 ddddd 來顯示日期并且以 ttttt 來顯示時(shí)間。如果想顯示的數(shù)值無小數(shù)部分,則只顯示日期部分,如果想顯示的數(shù)值無整數(shù)部分,則只顯示時(shí)間部分。D以沒有前導(dǎo)零的數(shù)字來顯示日 (131)。Dd以有前導(dǎo)零的數(shù)字來顯示日 (0131)。ddd以簡寫來表示日 (SunSat)。dddd以全稱來表示日 (Sunda
34、ySaturday)。ddddd以完整日期表示法顯示(包括年、月、日),日期的顯示要依系統(tǒng)的短日期格式設(shè)置而定。缺省的短日期格式為 m/d/yy。dddddd以完整日期表示法顯示日期系列數(shù)(包括年、月、日),日期的顯示要依系統(tǒng)識(shí)別的長日期格式而定。缺省的長日期格式為 mmmm dd, yyyy。aaaa與dddd 一樣,它只是該字符串的本地化版本。W將一周中的日期以數(shù)值表示(1 表星期日 7表星期六)。ww將一年中的星期以數(shù)值表示 (154)。M以沒有前導(dǎo)零的數(shù)字來顯示月 (112)。如果 m 是直接跟在 h 或 hh 之后,那么顯示的將是分而不是月。mm以有前導(dǎo)零的數(shù)字來顯示月 (0112)
35、。如果m是直接跟在h或hh之后,那么顯示的將是分而不是月。mmm以簡寫來表示月 (JanDec)。mmmm以全稱來表示月 (JanuaryDecember)。oooo與mmmm一樣,它只是該字符串的本地化版本。Q將一年中的季以數(shù)值表示 (14)。Y將一年中的日以數(shù)值表示 (1366)。Yy以兩位數(shù)來表示年 (0099)。yyyy以四位數(shù)來表示年 (0099)。H以沒有前導(dǎo)零的數(shù)字來顯示小時(shí) (023)。Hh以有前導(dǎo)零的數(shù)字來顯示小時(shí) (0023)。N以沒有前導(dǎo)零的數(shù)字來顯示分 (0 59)。Nn以有前導(dǎo)零的數(shù)字來顯示分 (00 59)。S以沒有前導(dǎo)零的數(shù)字來顯示秒 (0 59)。Ss以有前導(dǎo)零
36、的數(shù)字來顯示秒 (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í)配合大寫 AM 符號(hào)來使用;在中午和 11:59 P.M.間以 12 小時(shí)配合大寫 PM 來使用。Am/pm在中午前以 12 小時(shí)配合小寫 am 符號(hào)來使用;在中午和 11:59 P.M.間以 12 小時(shí)配合小寫 pm 來使用。A/P在中午前以 12 小時(shí)配合大寫A符號(hào)來使用;在中午和 11:59
37、P.M.間以12 小時(shí)配合大寫P來使用。a/p在中午前以 12 小時(shí)配合小寫a符號(hào)來使用;在中午和 11:59 P.M.間以 12 小時(shí)配合小寫p來使用。AMPM在中午前以 12 小時(shí)配合系統(tǒng)設(shè)置的 AM字符串文字來使用;在中午和 11:59 P.M. 間以 12 小時(shí)配合系統(tǒng)設(shè)置的 PM 字符串文字來使用。AMPM 可以是大寫或小寫,但必須和您的系統(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()把日期大寫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è)月的最后一天拿出來DAY一下!應(yīng)該還有更好的方法!比如說可以定義一個(gè)數(shù)組,把每個(gè)月的日子放進(jìn)去,或者說寫一個(gè)函數(shù)算每一個(gè)月的天數(shù)只要考慮一下閨年的問題就可以了!如何得到某年每個(gè)月的第一天是星期幾Private Sub Command1_Click()Dim i As Integer, A As Integer, B As Integer, C As StringA = InputBox(請輸入年份, 某年每個(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ì)算、連接:通過英特網(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ù)庫網(wǎng)絡(luò)使用時(shí),速度很慢!即使采取始終隱藏運(yùn)行一個(gè)聯(lián)接后端表的窗體的辦法!也必須運(yùn)行一次一個(gè)無條件的查詢(窗體狀態(tài))后,速度才比較令人滿意!有沒有更好的辦法! 在ADSL連接的互連網(wǎng),而不是局域網(wǎng)!一,建立一個(gè)隱藏運(yùn)行的連接后端的窗體.二,在打開啟動(dòng)窗體時(shí)自動(dòng)運(yùn)行一個(gè)用窗體顯示的查詢,注意,要顯示到最后一條記錄,不然,速度只能提高一部分,然后自動(dòng)關(guān)閉該窗體(以上過程都要隱藏,所以實(shí)際上看不見,另因?yàn)橐\(yùn)行一定的時(shí)間,最好設(shè)置一個(gè)正在連接和連接完畢的的提示框),這樣一來,讀取速度幾乎跟在單機(jī)上使用沒有區(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ù):原來的號(hào)碼 *返回:升位后的18位號(hào)碼 Dim i As Integer Dim num As Integer Dim code As String num = 0 IDCode15to18 = Left(sCode1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國耳用繃帶行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國老年步行者行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國美容霜行業(yè)市場深度調(diào)研及發(fā)展策略與風(fēng)險(xiǎn)研究報(bào)告
- 2025-2030中國網(wǎng)絡(luò)連接設(shè)備行業(yè)市場深度調(diào)研及前景趨勢與投資研究報(bào)告
- 2025-2030中國纖維膠市場調(diào)研及發(fā)展策略研究報(bào)告
- 2025年脈搏血氧飽和度監(jiān)護(hù)儀項(xiàng)目可行性研究報(bào)告
- 2025-2030中國等離子體滅菌器行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 火災(zāi)加固施工方案
- 2025-2030中國碾米行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 2025-2030中國硬盤錄像機(jī)(HDR)行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 小學(xué)硬筆書法課教案(1-30節(jié))
- 煤炭公司先進(jìn)個(gè)人掘進(jìn)機(jī)司機(jī)事跡材料
- 固體飲料生產(chǎn)許可證審查細(xì)則
- 污水池內(nèi)防腐施工方案
- 關(guān)于對領(lǐng)導(dǎo)班子的意見和建議
- 火警火災(zāi)處理標(biāo)準(zhǔn)流程
- TCCIAT 0043-2022 建筑工程滲漏治理技術(shù)規(guī)程
- 初中美術(shù)七年級(jí)下冊《第4課扮靚生活的花卉紋樣》課件
- 土建、裝飾、維修改造等零星工程施工組織方案設(shè)計(jì)技術(shù)標(biāo)范文
- 宮頸癌病歷書寫模板
- 芭蕾基訓(xùn)課程課時(shí)教案
評論
0/150
提交評論