第一篇:Vb常用語句
Vb常用語句
語句
1.賦值語句
? 變量的賦值
格式:
[Let] <變量> = <表達式>
? 功能:先計算賦值號右邊表達式的值,然后將值賦值給變量。
注意:
? “=” 意義是“賦值”而不是“等于”,x = y和y = x不等價。
?? “=”左邊只能是變量,不能是數值或表達式,下面語句是錯誤的:
? 4 = x+y
? a + b/2 = 6
? 一次只能給一個變量賦值,如果要給多個變量賦相同的值,只能使用多個賦值語句。
? 例如:sum = 0 : i = 0不能寫成:sum = i = 0
? 對象屬性的動態設置、對象屬性值的返回
? 對象屬性的動態設置
? 格式:對象名.屬性名 = <屬性值>
? 例如:
Command1.Caption = “計算”
Text2.Text=Str(c)
? 注意:Name屬性只能在屬性窗口賦值
? 對象屬性值的返回
? 例如:
R = Val(Text1.Text)
(2)Print語句
[<對象名>.]Print[<表達式表>][,|;]
功能:在指定的對象上輸出<表達式表>中各元素的值。
例
Private Sub Command1_Click()
a = 123: b = 456: c = 789
Form1.Print a;b;c'輸出在窗體Form1上
Print “中華”, “天下”, a + b + c?輸出在窗體Form1上
Picture1.Print “中華”, “天下”, a + b + c'輸出在圖片框Picture1上Debug.Print “中華”, “天下”, a + b + c'輸出在立即窗口上
End Sub
注意:
只能在窗體、圖片框、打印機、立即窗口上輸出內容
Print的相關函數
①Tab()函數
Tab(N)
功能:把光標移到由N確定的位置。
②Spc()函數
Spc(N)
功能:光標移到N個空格之后的位置。
③Cls方法
[<對象名>.]Cls
功能:清除由Print方法顯示的信息。
④Format$函數
Format$(表達式,格式字符串)
功能:將數值、字符串或日期等數據按照指定的格式生成字符串
3.注釋語句
Vb中添加注釋語句的方法為在字符“?”(即單引號)后加注釋內容或采用Rem 注釋內容的形式
參照print語句中的例子
4..結束語句
語法格式:end
功能:強制程序結束運行
練習:
1.用vb語言編程序,分別為每個基本數據類型聲明一個變量,給變量賦一個合適的值,使用print語句輸出變量值
2.上機編寫如下代碼
Private Sub Form_Click()
Print “北京”,“奧運”
Print“北京”;“奧運”
表達式列表各輸出項之間有分隔符。運行上面的程序說出逗號分隔符和分號分隔符的不同 采用逗號分隔符各輸出項
采用分號分隔符各輸出項
3.編寫一個程序,用end語句結束這個程序,體會一下end語句的用法。
綜合練習:
新建一工程,在窗體中有兩個命令按鈕,通過代碼使一按鈕顯示“輸出”,另一按鈕顯示“結束”。定義一變量a,類型為數值型且賦值123。定義一變量s, 類型為字符型且賦值為I am a student.要求當點擊輸出按鈕時,用print語句輸出“I am a student 學號位123”。點擊結束按鈕時,結束本程序。
選擇:
1、在VB應用程序中,修改控制代碼,使Command1按鈕顯示“end”,正確的設置是()。
A.Command1.Text=“end”B.Command1.Caption=“end”
C.Command1.Name=endD.Command1.Caption=end2、在VB程序中,當變量H的值等于8時,執行“IF H>8 then R=10 else R=20”語句后,R值為()。
A.5B.10C.20D.10或20
3.下列句子中,()不是賦值語句。
A.A=”123” +”456”B.Label1.Captin=”你好!”
C.r=Val(Text1.Text)D.x+1=y
4.下列程序運行后,變量s=()。
Dim a,b,c,s As Integer
a=9
b=41
c=2*(a+b)
s=a*c
A.100B.50C.900D.300
4.VB的注釋語句是以()開始的?
(A)Rem或'(B)Rem或;(C)Note或*(D)Note或!
5.針對下面的賦值語句,哪個敘述是正確的?
HA123=&HA456
(A)“=”左右兩邊的都是變量(B)“=”左邊的是變量,右邊是常量
(C)“=”左邊的是常量,右邊是變量(D)“=”左右兩邊的都是常量
6.下列哪個是結束程序的語句
(A)End(B)Stop(C)Exit(D)Pause
第二篇:VB循環語句
注:被中括號(“[”、“]”)括起來的都是可選參數!
For Each...Next 語句: 語句格式
For Each Variant In Collection Or Array
[Statement(s)]
[Exit For]
[Statement(s)] Next [Variant] 參數解釋
Variant: 如果In后面是一個集合(Collection),Variant可以是任何數據類型的一個變量;如果In后面是一個數組(Array),Variant就只能是一個Variant變量。
Collection: 可以是任何一個對象集合。Array: 可以是任何一個數組(Type數組除外)。Statement(s): 可以是任何一句或多句語句。
Exit For: 可以強制退出循環體。For Each...Next 語句的作用
集合/數組里面有多少對象/多少維,For Each...Next 語句就會執行多少次Statement(s)。
Do...Loop 語句: 語句格式
Do [{While | Until} Condition]
[Statement(s)]
[Exit Do]
[Statement(s)] Loop [{While | Until} Condition] 參數解釋
While: 如果While在Do后面,那么循環體一開始就會檢查Condition的值,如果Condition的值為False,就退出循環體;否則,執行Statement(s);如果While在Loop后面,則在執行完第一次Statement(s)時才檢查Condition的值,如果Condition的值為False,就退出循環體;否則,繼續循環。
Until: 如果Until在Do后面,那么循環體一開始就會檢查Condition的值,如果Condition的值為True,就退出循環體;否則,執行Statement(s);如果Until在Loop后面,則在執行完第一次Statement(s)時才檢查Condition的值,如果Condition的值為True,就退出循環體;否則,繼續循環。
Condition: 可以是任何一個表達式。Statement(s): 可以是任何一句或多句語句。
Exit Do: 可以強制退出循環體。Do...Loop 語句的作用
重復循環Statement(s),直到Condition為True或False(在指定了While或Until的情況下)。
For...Next 語句: 語句格式
For Counter = Start To End [Step Step]
[Statement(s)]
[Exit For]
[Statement(s)] Next [Counter] 參數解釋
Counter: 可以是任何一個變量(但不能是Boolean或者是數組),用來做計數器。Start: Counter的初值。End: Counter的終值。
Step: Counter一次增加多少,默認為1。1次增加n: For...=...To...Step n;1次減n: For...=...To...Step-n。
Statement(s): 可以是任何一句或多句語句。
Exit For: 可以強制退出循環體。For...Next 語句的作用
重復執行((End-Counter)Step)次Statement(s)。
While...Wend 語句: 語句格式
While Condition
[Statement(s)] Wend 參數解釋
Condition: 可以是任何一個表達式。Statement(s): 可以是任何一句或多句語句。
While...Wend 語句的作用
重復執行語句,直到Condition不為True。
第三篇:VB循環語句的用法
1.While...Wend 語句
只要指定的條件為 True,則會重復執行一系列的語句。語法
While condition [statements]..Wend 2.Do...Loop 2.1 第一種用法
用 Do 循環重復執行一語句塊,且重復次數不定。Do...Loop 語句有幾種演變形式,但每種都計算數值條件以決定是否繼續執行。如同 If...Then condition 必須是一個數值或者值為 True(非零)或 False(零)的表達式。
在下面的 Do...Loop 循環中,只要 condition 為 True 就執行 statements。
Do While condition statements..Loop 2.2 第二種用法
Do...Loop 語句的另一種演變形式是先執行語句,然后在每次執行后測試 condition。這種形式保證 statements 至少執行一次:
Do statements Loop While condition 注:其它兩種演變形式類似于前兩個,所不同的是,只要 condition 為 False 而不是 True,它們就執行循環。循環零次或多次
Do Until condition statements Loop
至少循環一次
Do statements Loop Until condition 3.For...Next 在不知道循環內需要執行多少次語句時,宜用 Do 循環。但是,在知道要執行多少次時,則最好使用 For...Next 循環。與 Do 循環不同,For 循環使用一個叫做計數器的變量,每重復一次循環之后,計數器變量的值就會增加或者減少。For 循環的語法如下:
For counter = start To end [Step increment] statements Next [counter] 參數 Counter、Start、end 和 increment 都是數值型的。
注意 increment 參數可正可負。如果 increment 為正,則 Start 必須小于等于 end,否則不能執行循環內的語句。如果 increment 為負,則 Start 必須大于等于 end,這樣才能執行循環體。如果沒有設置 Step,則 increment 缺省值為 1。實例:
以下代碼打印出所有有效的屏幕字體名:
Private Sub Form_Click()Dim I As Integer For i = 0 To Screen.FontCount
Print Screen.Fonts(i)Next End Sub 4.For Each...Next For Each...Next 循環與 For...Next 循環類似,但它對數組或對象集合中的每一個元素重復一組語句,而不是重復語句一定的次數。如果不知道一個集合有多少元素,For Each...Next 循環非常有用。
For Each...Next 循環的語法如下:
For Each element In group statements Next elementt 例如,下面的子過程打開 Biblio.mdb,把每一個表的名字加到列表框中。
Sub ListTableDefs()Dim objDb As Database
Dim MyTableDef as TableDef Set objDb = OpenDatabase(“c:vbbiblio.mdb”, _ True, False)For Each MyTableDef In objDb.TableDefs()
List1.AddItem MyTableDef.Name Next MyTableDef End Sub 請記住使用 For Each...Next 時的幾點限制:
對集合,element 只能是 Variant 變量,或一般的 Object 變量,或“對象瀏覽器”中列出的對象。
對數組,element 只能是 Variant 變量。
For Each...Next 不能與用戶自定義類型的數組一起使用,因為 Variant 不可能包含用戶自定義類型。
第四篇:VB數據庫SQL語句學習
1.Select * from student查詢所有原始記錄
2.Select StudentID, StudentName from student 只查詢學號和姓名
3.Select StudentID as 學號, StudentName as 姓名, Sex as 性別,Class as 班級,NormalScore as平時成績,ExperimentScore as 實驗成績, ExaminationScore as 考試成績 from student
4.Select * from student where sex=’男’只需要查看男生的成績
5.Select * from student where NormalScore>80只需要查看平時成績大于80分的記錄
6.Select * from student where studentname like ‘陳%’查詢姓陳的同學的記錄
7.Select * from student order by examinationScore根據考試成績排序
8.Select * from student order by examinationScore排序---降序
9.Select Sum(examinationScore)as 總成績 from student求總成績
10.Select Avg(examinationScore)as平均成績 from student求平均成績
11.Select count(*)as 總記錄數 from student求總記錄數
12.Select Max(ExaminationScore)as 最高分 from student求最高分
13.Select Min(ExaminationScore)as 最高低分 from student求最低分
14.Select Class as 班級, Avg(ExaminationScore)as平均成績 from student group by class各班級成績的分類匯總
Public Class frmMain
Private ObjCnn As New OleDbConnection
Private ObjCmd As OleDbCommand
Private StrDir As String = “D:MIS1025StudentMgr.accdb”
Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs)Handles MyBase.Load
ObjCnn.ConnectionString = “Provider=Microsoft.ACE.OLEDB.12.0;Data Source=” & StrDir
ObjCnn.Open()
ObjCmd = New OleDbCommand
ObjCmd.Connection = ObjCnn
End Sub
Private Sub FindRecord(ByVal StrSQL As String)
ObjCmd.CommandText = StrSQL
Dim rd As OleDbDataReader = ObjCmd.ExecuteReader
Dim tbl As New DataTable
tbl.Load(rd)
DataGridView1.DataSource = tbl
End Sub
Private Sub CmdFind_Click(ByVal sender As System.Object,System.EventArgs)Handles CmdFind.Click
FindRecord(txtSQL.Text)
End Sub ByVal e As
第五篇:vb錯誤處理
Vb錯誤處理 出錯處理
(1)設置錯誤陷阱
On Error Resume Next
若出現錯誤,則將當前錯誤語句忽略,執行下條語句。
On Error GoTo 語句標號
On Error GoTo 0 不進行任何處理
(2)編寫錯誤處理程序
Resume:接著錯誤的地方執行,重試。
Resume Next:類似On Error Resume Next,忽略當前錯誤語句,執行下一語句Resume <標號>:到標號那里去處理。
過程級、模塊級
節選:
Onerrorgoto標簽是放在錯誤發生之前,有效范圍是到此事件的結束,包括錯誤處理時發生的錯誤。(此時的錯誤一般是沒有想到的,故也沒有處理)所以要保證不要在錯誤處理的代碼中寫復雜的代碼。
OnErrorGotoErr_Normal
'一般代碼
sql= “insertinto......”
OnErrorGotoErr_Roll
adocn.BeginTrans
adocn.Executesqladocn.CommitTrans
OnErrorGotoErr_Normal
....Exitsub
Err_Normal:
'正常錯誤處理
ExitSub
vb6.0 遇到錯誤能不退出嗎
2012-1-25 20:04提問者: 咫·尺 | 瀏覽次數:278次
比如遇到數據溢出啊等,彈出錯誤以后,就直接把程序關閉了,數據都沒保存,能彈出錯誤后,不關閉程序嗎?
滿意回答
插入以下代碼:
On Error Resume Next
即可。意思是,程序遇到錯誤不理會,繼續執行。
或者使用GoTo,比如下面的代碼計算肯定是溢出的,但程序不會退出,不過會提示: On Error GoTo ToExit
Dim g, ErrNum As Boolean
g = 1
Do Until ErrNum
g = g * 1024
Loop
ToExit:
If Err.Number = 6 Then
Print “程序溢出,計算結果不準確”, g
Exit Sub
End If
或者使用以下代碼,可以完全顯示計算過程:
Dim WithEvents List As ListBox
Private Sub Form_Load()
On Error GoTo ToExit
Dim g, ErrNum As Boolean
g = 1
Set List = Me.Controls.Add(“VB.ListBox”, “List”)
With List
.Left = 0
.Top = 0
.Width = Form1.Width490
.Visible = True
End With
Do Until ErrNum
g = g * 1024
List.AddItem g
Loop
ToExit:
If Err.Number = 6 Then
List.AddItem “程序溢出,計算結果不準確” & g
Exit Sub
End If
End Sub
追問
是不是要在每一個容易出錯的sub里面都要這樣加一下?有沒有整體設置一下或者寫代碼的?每個sub都寫一下也挺麻煩的回答
首先,第一行是每個里邊都需要有的,有了這一行,才會執行錯誤跳轉。
比如上邊的第二段代碼也可以這樣寫:這樣在每段容易出錯的過程中,加上第一個的On Error GoTo ToExit和最后一行的ToExit: MsgBox “程序出現錯誤!” & Chr(10)& “錯誤類型:” & Error(Err.Number), 16即可。當然,你需要在Esub這個子過程中,把所有可能會涉及到的錯誤代碼都添加上。如果只想知道哪里錯了,也可以直接提醒,出錯也是可以的Private Sub Form_Load()
On Error GoTo ToExit
Dim g, ErrNum As Boolean
g = 1
Do Until ErrNum
g = g * 1024
Loop
ToExit: MsgBox “程序出現錯誤!” & Chr(10)& “錯誤類型:” & Error(Err.Number), 16
End Sub