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