Option Explicit
' ประกาศตัวแปรสำหรับ ADO Stream Object
Dim strData As New ADODB.Stream
' โปรแกรย่อยที่ใช้ในการแปลงข้อมูล และั ทำการแสดงผล
Private Sub cmdSearch_Click()
Dim Criteria As String
Criteria = Trim(txtSearch.Text)
Set RS = New Recordset
' ตัวอย่างเลือกจากการค้นหาข้อมูล
If Criteria <> "" Or Len(Criteria) <> 0 Then
' ตัวอย่างตารางเดียว
'RS.Open "SELECT * FROM tblCustomer WHERE " & _
" [FirstName] " & " Like '%" & Criteria & "%'" & " OR " & _
" [LastName] " & " Like '%" & Criteria & "%'" & _
" ORDER BY CustomerID ", _
ConnMyDB, adOpenForwardOnly, adLockReadOnly, adCmdText
' QUERY
RS.Open " SELECT tblCustomer.*, tblTitle.TitleName, tblProvince.ProvinceName " & _
" FROM (tblCustomer INNER JOIN tblProvince ON tblCustomer.ProvinceID = tblProvince.ProvinceID) " & _
" INNER JOIN tblTitle ON tblCustomer.TitleID = tblTitle.TitleID " & _
" WHERE " & _
" [CustomerID] " & " Like '%" & Criteria & "%'" & " OR " & _
" [FirstName] " & " Like '%" & Criteria & "%'" & " OR " & _
" [LastName] " & " Like '%" & Criteria & "%'" & " OR " & _
" [TitleName] " & " Like '%" & Criteria & "%'" & _
" ORDER BY CustomerID ", _
ConnMyDB, adOpenForwardOnly, adLockReadOnly, adCmdText
Else
' ตัวอย่างตารางเดียว
'RS.Open " SELECT * FROM tblCustomer " & _
" ORDER BY CustomerID ", _
ConnMyDB, adOpenForwardOnly, adLockReadOnly, adCmdText
RS.Open " SELECT tblCustomer.*, tblTitle.TitleName, tblProvince.ProvinceName " & _
" FROM (tblCustomer INNER JOIN tblProvince ON tblCustomer.ProvinceID = tblProvince.ProvinceID) " & _
" INNER JOIN tblTitle ON tblCustomer.TitleID = tblTitle.TitleID " & _
" ORDER BY CustomerID ", _
ConnMyDB, adOpenForwardOnly, adLockReadOnly, adCmdText
End If
' กำหนดให้ RecordSet เพื่อรับค่ารูปแบบของ XML อันนี้ต้อง Define ก่อนใช้ Method - SaveToFile
RS.Save strData, adPersistXML
' บันทึกผลที่ได้ไปสู่เอกสาร XML ตามที่ระบุไว้
' adSaveCreateOverWrite เพื่อสร้างไฟล์ใหม่หากไม่มีไฟล์นั้นๆ และเขียนทับลงไปหากมีไฟล์เดิมอยู่แล้ว
strData.SaveToFile App.Path & "\MyDB.xml", adSaveCreateOverWrite
' นำไฟล์ XML มาแสดงผลบน Web Browser
webXML.Navigate App.Path & "\MyDB.xml"
' นำไฟล์ XML มาแสดงผลในตารางกริด
Set DS = New Recordset
DS.Open App.Path & "\MyDB.xml", "Provider=MSPersist;", _
adOpenForwardOnly, adLockReadOnly, adCmdText
' ผูก Control เข้ากับแหล่งข้อมูล
Set fg.DataSource = DS
' ปิดการใช้งาน
DS.Close: Set DS = Nothing
RS.Close: Set RS = Nothing
strData.Close: Set strData = Nothing
End Sub
Private Sub Form_Load()
Me.Move (Screen.Width - Width) \ 2, (Screen.Height - Height) \ 2
Me.Height = Me.ScaleHeight
Me.Width = Me.ScaleWidth
txtSearch.Text = ""
' ให้แสดงหน้า HTML ว่างเปล่า
webXML.Navigate App.Path & "\Blank.html"
' เชื่อมต่อไฟล์ฐานข้อมูล MS Access ... เข้าสู่ Module หากินอีกแล้ว 55555
Call OpenDataBase
End Sub
Private Sub Timer1_Timer()
' แสดงเวลาแบบ Real Time
staProgram.Panels(3).Text = Format(Hour(Time), "00") & ":" & _
Format(Minute(Time), "00") & ":" & _
Format(Second(Time), "00") & " " & _
FormatDateTime(Now(), vbShortDate)
End Sub
Private Sub txtSearch_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
' ปิดเสียงลำโพง ... หนวกหู
KeyAscii = 0
Call cmdSearch_Click
End If
End Sub
|