IF Conn.State=1 Then Conn.Close "透過閱讀整個程式碼可以知道,這裡Conn一定是ADODB.Connection用來連線資料庫,State=1是判斷是否已連線資料庫,如果連線了就關閉連線呼叫Close方法,這段為了後面的語句防止出錯做準備,因為資料庫已經連線了就不能再次連線,否則報錯
Call openconn"這裡的寫法就是在呼叫自定義函式,從字面意思理解那就是開啟資料庫連線
IF Rs.State=1 Then Rs.Close"這裡的RS透過閱讀整個程式,這個就是ADODB.RecordSet
特意電腦登陸來逐行解釋
Private Sub Form_click()
"這是宣告一個過程,VB裡分函式和過程,區別是函式有返回值,過程不能有返回值,否則會報錯
Dim a(),b(9),i%
"逐一解釋上面的宣告語句
"a()表示陣列,VB裡陣列可以在宣告時不指定大小,賦值時指定大小,目的是為了實現動態陣列。
"b(9)也是陣列,這裡表示b陣列最多存9個元素,這種就是宣告指定大小
"i%這個等同於i As Integer也就是強調i是整形變數也就是0-9的數字型
a=("巴基斯坦","迦納","尼泊爾","奈及利亞","斯里蘭卡","坦尚尼亞","土耳其","葉門","印度尼西亞")
"這句就是在給a陣列賦值,正好9個國家和b數組裡的長度9是一致的
For i=LBound(a) To UBound(a)
"這是VB裡的For迴圈標準寫法,前面宣告的i就是迴圈迴圈變數,For迴圈需要有兩個值初始值和結束值,初始值這裡用了一個LBound(a)這個函式只有一個作用返回一個數組的最小元素位置值,這裡個人覺得沒必要這樣寫完全可以i=0,因為所有陣列都是從0開始這是已知的。
"UBound(a)是求陣列的長度也就是有幾個元素,這個函式在動態陣列不知道有多少個元素的時候用這個函式獲知陣列長度
IF Conn.State=1 Then Conn.Close "透過閱讀整個程式碼可以知道,這裡Conn一定是ADODB.Connection用來連線資料庫,State=1是判斷是否已連線資料庫,如果連線了就關閉連線呼叫Close方法,這段為了後面的語句防止出錯做準備,因為資料庫已經連線了就不能再次連線,否則報錯
Call openconn"這裡的寫法就是在呼叫自定義函式,從字面意思理解那就是開啟資料庫連線
IF Rs.State=1 Then Rs.Close"這裡的RS透過閱讀整個程式,這個就是ADODB.RecordSet
"因為光有資料庫連線不夠,要想操作資料庫資料還需要一個操作元件這個元件就是ADODB.RecordSet
Rs.Open "select * from [表1] where 國籍=""&a(i)&""",Conn,1,3
"這句話的意思就是查詢資料庫裡有一個叫做[表1]的表,國籍欄位是陣列a(i)中的一個元素
b(i)=Rs.RecordCount"這句是返回上面那句查詢資料庫查到的資料有幾條資料
Next i"這是固定語法寫法,VB的For迴圈必須這樣結尾i是迴圈變數
IF Conn.State=1 Then Conn.Close"作用和上面一樣不解釋了,看前面的解釋
For i=0 To 9"標準For迴圈寫法,上面解釋過了,不再解釋了
Print a(i)&"的留學生人數為"&b(i)&"人""這句話就是直接把文字顯示在Windows窗體上,截圖裡面個人覺得會報語法錯誤因為VB裡字串和變數連線用&截圖裡的寫法是明顯有錯,我這個寫法是符合語法要求的
Next i"不解釋了上面解釋過了標準的For迴圈結尾語法
End Sub"表示Sub和End Sub之間的程式碼屬於同一個過程的程式碼