vb 編程的一點心得和體會 ,希望會給您帶來一點幫助

發表于:2007-05-25來源:作者:點擊數: 標簽:編程帶來希望一點體會
(1) 消息框中按鈕之定義 MsgBox strMsg1, c1+c2+c3 , strMsg2 其中strMsg1為提示信息 strMsg2為標題內容 c1+c2+c3定義按鈕形式,具體如下: c1: 按鈕的類型 0vbOkOnly只有一個按鈕確定 1vbOkCancel兩個按鈕確定和取消 2vbAbortRetryIgnore三個按鈕終止、重

(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

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97