(1)
消息框中按鈕之定義
MsgBox strMsg1, c1+c2+c3 , strMsg2
其中 strMsg1 為提示信息
strMsg2 為標題內容
c1+c2+c3 定義按鈕形式,具體如下:
c1: 按鈕的類型
0 vbOkOnly 只有一個按鈕“確定”
1 vbOkCancel 兩個按鈕“確定”和“取消”
2 vbAbortRetryIgnore 三個按鈕“終止”、“重試”和“忽略”
3 vbYesNoCancel 三個按鈕“是”、“否”和“取消”
4 vbYesNo 兩個按鈕“是”和“否”
5 vbRetryCancel 兩個按鈕“重試”和“取消”
返回值: vbOk 1 確定
vbCancel 2 取消
vbAbort 3 終止
vbRetry 4 重試
vbIgnore 5 忽略
vbYes 6 是
vbNo 7 否
c2: 圖標的類型
16 vbCritical ×
32 vbQuesion ?
48 vbExclamation !
64 vbInformation i
c3: 默認焦點
0 vbDefalaultButton1 左起第一個按鈕自動獲得焦點
256 vbDefalaultButton2 左起第二個按鈕自動獲得焦點
512 vbDefalaultButton3 左起第三個按鈕自動獲得焦點
和為: 00 0000 0000 B
c3 c2 c1
例: 1. i = MsgBox " 是否要刪除該條記錄 ? ", 1+32+0 , " 請確認"
2. MsgBox " 是否要刪除 ! ", 0+32+0 , " 請...."
(2)
判斷表的存在
Function M_fucScanTable(strTName As String) As Integer ' 搜索表 strTableName
On Error GoTo OpenErr
Set MyRsm = New Recordset
MyRsm.Open "Select * From " & strTName,Cn, adOpenKeyset, adLockOptimistic
MyRsm.MoveLast
M_fucScanTable = MyRsm.RecordCount ' 返回記錄數,0 為空表
MyRsm.Close
Set MyRsm = Nothin
Exit Function
OpenErr:
M_fucScanTable = -1 ' 無表
End Function
(3)
動態建立表
strSQL = "CREATE TABLE " & strTName & _
"( Xh char(3) Not Null Primary key,Mc char(10),Xb char(2)," & _
"Csrq char(10),Zw char(20),Gz numeric(9,2),Bz char(30),Xp image )"
cn.Execute strSQL, , adCmdText
其中: Primary key 為設置主鍵(唯一)
(4)
插入記錄 Insert
strSQL = "Insert Into A01(Xh,Mc,Xb,Csrq,Zw) " & _
"Values ( '" & Xhp & "','" & Mcp & "','" & Xbp &"','" &Rqp& "','" & Zwp & "' "
Cn.Execute strSQL
(5)
導出表格到excel
Dim newxls As Excel.Application
Dim newbook As Excel.Workbook
Dim newsheet As Excel.Worksheet
Set newxls = CreateObject("excel.application")
newxls.Visible = True
Set newbook = newxls.Workbooks.Add
Set newsheet = newbook.Worksheets(1)
For i = 0 To 7
For j = 0 To 4
MSFlexGrid1.Row = i
MSFlexGrid1.col = j
newsheet.Cells(1, 3) = Trim(Combo1.Text) & "班"
newsheet.Cells(1, 4) = "第" & bytXq & "學期"
newsheet.Cells(1, 5) = "課程表"
newsheet.Cells(i + 3, j + 2) = Trim(MSFlexGrid1.TextMatrix(i, j))
Next j
Next i
注意此項操作你先要 引用 excelctl type library 和 microsoft excel 9.0 object library
(6) with 語句的應用
With msflexgrid1
.CellAlignment = 4
.TextMatrix(1, 0) = "考試編號"
.TextMatrix(1, 1) = "學號"
.TextMatrix(1, 2) = "姓名"
.TextMatrix(1, 3) = "班號"
.TextMatrix(1, 4) = "課程名稱"
.TextMatrix(1, 5) = "分數"
End With
(7)
響應回車
Private Sub Text2_KeyPress(KeyAscii As Integer) ' Text2 響應回車鍵
If KeyAscii = 13 Then
Command1.SetFocus
End If
End Sub
(8)
隱藏任務欄
Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _
ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Private Sub Form_Load()
SetWindowPos Me.hwnd, -1, 0, 0, 0, 0, 3
End Sub
希望能給您在編程時帶來一點方便
同時我也只是起到一個拋磚引玉的 目的
希望您也能供稿 我方便大家努力
謝謝各位 vb 愛好者們
不同作用范圍變量的聲明方式
作用范圍 局部變量 模塊級變量 公用變量
聲明方式 Dim,ststic Dim,private Public
聲明位置 過程內部 通用部分 模塊的聲明段
其他過程能否調用 不能 能 能
其他模塊能否調用 不能 不能 能
2. 變量的聲明技巧
Public strSQL As String
Dim intI As Integer
由上面的兩個例子可以看出聲明變量時應該注意變量的命名規則
變量類型 & 變量名
變量一定要有意義,這樣的好處是當看到變量時很快就能知道變量的類型從而避免了變量賦值時出現類型不匹配的錯誤,而且增加了程序的可讀性.
3 在應用變量時一定要保正變量已賦初值.
二. 常量
用戶一但定義了常量,在以后的程序中不能再給這個常量賦新值,否則在程序運行時,vb會錯誤提示.
定義常量的例子:
Public Const Db_Name1 = "f:\qqqq\db\zhang.mdb"
關鍵字 常量名 = 常量的值
一. 條件判斷語句
1 . 單行 if …… then 與 iif( …… ) 結構
例: If Text1.Text = " " Then msgbox “ 空值”
例 strdata = iff( a>b , text1.text , text2.text)
目標變量 條件 值1 值2
當a>b = true 時 strdata=text1.text
當a>b= false 時 strdata=text2.text
2. if ….. then ….. else ……. end if
例:If Size > 0 Then
Text1.Text = ""
Else
Text1.Text = " ok "
End If
應該注意的是此種結構的書寫格式!
3. select case 結構
當需要完成多重判定的任務時,可以使用select case 結構
語法: Select 測試條件
Case 表達式1
語句組1
Case 表達式2
語句組2
……….
Case 表達式n
語句組n
End Select
二. 循環語句
Vb主要有兩種循環結構,即 do…..loop 和 for……next.
1. do….loop 結構
使用do 循環重復執行一語句塊,并計算測試條件以決定何時結束循環,循環條件必須是一個數值或者值為true 或false 的表達式. Do….loop語句有四種形式:
[1] do while [2] do
……. ……..
Loop Loop while
[3] do until [4] do
……… ……..
Loop Loop until
退出do循環用 Exit do
2 for ……. Next 結構
語法: for 計數器= 初值 to 終值
………….
Next
例: dim intz as integer , inty as integer
For intz =1 to 100
If intz mod 2 = 0 then inty =inty+1
next
其中的 計數器 ,初值 和 終值 都必須是數值型!
三. 定義過程和函數
1. 定義過程
語法: private sub P_fcz( )
………
End sub
例: 表格初始化.
Private sub P_bgcsh( )
With msflexgrid1
.TextMatrix(1, 0) = "考試編號"
.TextMatrix(1, 1) = "學號"
.TextMatrix(1, 2) = "姓名"
.TextMatrix(1, 3) = "班號"
.TextMatrix(1, 4) = "課程名稱"
.TextMatrix(1, 5) = "分數"
End With
End sub
過程調用 call 過程名
2. 函數定義
語法: Function 函數名(參數 As 類型) As 類型
…………
End function
例: Function M_sf1(strn As String) As String
Dim strSz As String, n As Integer, a As Integer, b As String
n = Len(strn)
strSz = " "
a = n - 8 - 5
If n = 1 Then strSz = "hello"
If n = 2 Then strSz = "pool"
If n = 3 Then strSz = "how do yu do"
b = Mid(strn, 6, a)
End Function
函數調用 目標量=函數名( 參數 )
原文轉自:http://www.anti-gravitydesign.com