總網頁瀏覽量

顯示具有 VB筆記 標籤的文章。 顯示所有文章
顯示具有 VB筆記 標籤的文章。 顯示所有文章

2009年2月17日 星期二

VB數位日期時鐘

先在專案中加入兩個Label.一個將作為顯示日期用.一個將作為顯示時間用


專案中再加入一個Timer物件.物件中程式碼加入以下


Private Sub Timer1_Timer()
Label1 = Date$
Label2 = Time$
End Sub


在其Timer物件中的性質Interval中的數值為1000


專案中畫面應為下圖



運行後將會變為下圖.可將這組合加在任一專案中成為數位日期時鐘



2009年2月5日 星期四

在開啟程式時跳出使用者及密碼才能登入


構思:設一個使用者登入帳號及密碼的登入器.輸入三次錯誤自動關閉


創新表單


先設兩個Label.一個為:登入帳號.一個為密碼


再設兩個文字方塊TextBox在登入帳號及密碼這兩個Label的旁邊


設一個按鈕command1.按鈕名在屬性的caqtion更改為確定成為一個確定鈕


設一個按鈕command2.按鈕名在屬性的caqtion更改為確定成為一個清除鈕


預設:command1/帳號為123/密碼為456/正確後啟動表單2/正確後關閉登入器表單1


預設:command2/為按下後清除文字方塊帳號跟密碼的地方


在command的程式碼中輸入為:


Dim a As Integer '全域變數
Private Sub Command1_Click()
  a = a + 1
  If Text1.Text = "123" And Text2.Text = "456" Then
     Form2.Show
     Unload Me
  Else
    If a < 3 Then
       MsgBox "帳號或密碼錯誤" & a & "次,請重新輸入"
    Else
       MsgBox "已登入3次錯誤,程式即將關閉"
       End
    End If
  End If
End Sub



Private Sub Command2_Click()
    Text1.Text = ""
    Text2.Text = ""
End Sub


另一種方式


預設:command1/帳號為123/密碼為456/正確後啟動表單2/正確後關閉登入器表單1/錯誤3次關閉登入器表單1






Private Sub Command1_Click()
For i = 1 To 3
id = InputBox("請輸入帳號")
pass = InputBox("請輸入密碼")
If id = "123" And pass = "456" Then
MsgBox ("登入成功")
Form2.Show
Form1.Hide
Exit For
Else
MsgBox ("登入失敗")
End If
If i = 3 Then
End
End If
Form1.Hide
Next
End Sub


如果要加入未填入帳號或密碼時會跳出視窗警告就可以加

假如帳號沒填東西就會跳出一個視窗說"你帳號未填"
假如密碼沒填東西就會跳出一個視窗說"你密碼未填"


if len(text1.text)< 1 then msgbox "你帳號未填"
if len(text2.text)< 1 then msgbox "你密碼未填"


或


if Trim(text1.text) = "" then msgbox "你帳號未填"
if Trim(text2.text) = "" then msgbox "你密碼未填"


 


也可以用這種簡單的方式只有輸入密碼就可以登入的狀況


預設:command1/密碼為123456/正確後啟動表單2/錯誤時出現警告



Private Sub Command1_Click()

If Text1.Text = "12345" Then

Form2.Show

Unload Me

Else

MsgBox "密碼錯誤", vbOKOnly

End If

End Sub







2009年2月4日 星期三

VB控制ACCESS資料庫(新增.刪除.儲存.查詢.退出)COMMAND指令

以下按鈕COMMAND名稱都以Command1示範


以姓名欄位查詢


Private Sub Command1_Click()
searchstr$ = InputBox("請輸入姓名", "姓名查尋")
If searchstr$ = "" Then
reply = MsgBox("未輸入姓名", vbOKOnly, "錯誤訊息")
Exit Sub
Else
Data = "姓名='" & searchstr$ & "'"
Adodc1.Recordset.MoveFirst
Adodc1.Recordset.Find Data
End If
If Adodc1.Recordset.EOF = True Then
reply = MsgBox("找不到資料", vbOKOnly, "很抱歉找不到此筆資料")
Adodc1.Recordset.MoveFirst
End If
End Sub


新增資料


Private Sub Command1_Click()
reply = MsgBox("要新增資料?", vbOKCancel + vbQuestion, "新增資料")
If reply = vbOK Then
Adodc1.Recordset.AddNew
End If
End Sub


儲存資料


Private Sub Command1_Click()
If Adodc1.Recordset.BOF = False Then
Adodc1.Recordset.MovePrevious
Adodc1.Recordset.MoveNext
reply = MsgBox("資料已儲存", vbOKOnly, "儲存成功")
End If
End Sub


刪除資料


Private Sub Command1_Click()
Dim ret As Integer ' MsgBox的傳回值
' 顯示確認刪除的訊息對話方塊
Beep
ret = MsgBox("是否真的要刪除此筆資料", vbYesNo, "刪除資料")
' 確認刪除
If ret = vbYes Then
Adodc1.Recordset.Delete
End If
End Sub


離開程式


Private Sub Command1_Click()
vale = MsgBox("真的要離開程式", vbOKCancel, "離開程式")
If 1 = vale Then
Debug.Print MsgBox("離開程式", vbOKOnly)
End
Else
Debug.Print MsgBox("不離開", vbOKOnly)
End If
End Sub


以上COMMAND按鈕常用指令使用前請確認VB表單已跟ACCESS資料庫鏈結成功


或資料庫鍊結路徑是否為正確.VB與ACCESS資料庫鍊結方式請參考以下文章


http://blog.xuite.net/eyestop.smw/00206/22102364


當要讓FORM1表單跳至FORM2表單

Private Sub Command1_Click()
Form2.Show
End Sub


在表單FORM1設一個COMMAND按鈕或IMAGE圖按.其中指令輸入上面


Form2.Show(意思就是跳至表單Form2的意思.SHOW=展現.跳至的意思)


三天從完全不會到寫出一個VB客戶資料管理

三天前對VB還是完全無知.對ACCESS資料庫也完全不了解.這三天來都是用上網找資料的方式


一天約使用2-3小時研究.發現其中有很多樂趣.也從中摸索到了解皮毛.終於在三天後的今天


寫出一個簡單的VB資料庫程式.這個是以眼鏡業的使用格式下去編寫.別的行業其實也可以編修


翻整一下一樣能套用.以下就是成果


 





2009年2月3日 星期二

VB和Access資料庫連結

一.開啟新表單,在功能表列"專案";"設定使用元件";選Micorsoft ADO Data Control6.0(OLEDB),將ADODC1的物件放入表單上。



二.在ADODC1的物件上,按滑鼠右鍵,選ADODC的屬性,然後會出現一個屬性頁的視窗。在屬性頁視窗的"一般"項目裡,點選"使用連線字串",然後按右方的"建立"鈕後,會在出現一個資料連結內容的視窗。



三.
資料連結內容視窗的"提供者"項目裡,選取"Microsoft Jet 4.0 OLE DB
Provider",按"下一步",資料連結內容視窗會切換到"連線"項目裡,然後在"1.選擇或輸入資料庫名稱"下方空白處輸入要連結的Access檔
案名稱及路徑,也可直接按右方的"..."鍵去加入檔案,檔案加入後按下方"測試連線"鈕,如果出現測試連線成功的視窗,就表示VB和Access的檔案
已經連結了,按"確定"鈕回到屬性頁的視窗。



四.在屬性頁視窗的"資料錄來源"項目裡,命令類型請選擇"2-adCmd
Table",資料表或預存程序的名稱請選擇你Access檔案內的資料表名稱(通常只會有一個而已,除非你的Access有做二個以上的資料
表,Access的內定檔名是"資料表1")按"確定"鈕。



五.在表單上放入Combo1物件,將物件的屬性DataSource選擇"Adodc1",然後再將Combo1的屬性DataField選擇你要顯示的"欄位"。



六.執行程式,Access的資料就會顯示在Combo1