เราจะใช้้คุณสมบัติ Path ของวัตถุ Application เข้ามาใช้งาน หากแต่ว่าทำไมเมื่อมีการนำชื่อไฟล์มาต่อท้ายเส้นทางที่ได้ จากคุณสมบัติ Path ของออบเจค App บางครั้งก็ปรากฏข้อผิดพลาด แต่บางครั้งก็ไม่ปรากฏข้อผิดพลาด ทั้งนี้ก็เพราะเนื่องจากว่า ถ้าหากเส้นทางที่ได้นั้น ไม่ใช่ไดเรคทอรี่ราก (Root) ชื่อเส้นทางที่ได้จะไม่มีเครื่องหมาย BackSlash "\" รวมอยู่ด้วย แต่ถ้าหากเป็นไดเรคทอรี่ราก ชื่อเส้นทางที่ได้จะมีเครื่องหมาย BackSlash รวมอยู่ด้วย เช่น "C:\" เป็นต้น ดังนั้นเพื่อความถูกต้อง และ ปลอดภัย เราจะอาศัยโค้ด ดังตัวอย่างด้านล่างนี้
Function FilePath(strFileName As String) As String If Right$(App.Path, 1) = "\" Then FilePath = App.Path & strFileName Else FilePath = App.Path & "\" & strFileName End If End Function
|
หรือในกรณีที่นำไปใช้งานจริงกับการเชื่อมต่อไฟล์ฐานข้อมูล (แบบหากินจริงๆ)
Sub OpenDataBase()
Dim Conn As New ADODB.Connection
Dim RS As New ADODB.RecordSet
' หากต้องนำไปใช้ร่วมกับโปรแกรมย่อยอื่่นๆ ควรประกาศ Conn และ RS ในลักษณะของ Global น่ะขอรับ
Dim DB_File As String, SQLStmt As String
DB_File = App.Path If Right$(DB_File, 1) <> "\" Then DB_File = DB_File & "\" DB_File = DB_File & "DATABASE.MDB" ' Open a connection. Set Conn = New ADODB.Connection Conn.ConnectionString = _ "Provider = Microsoft.Jet.OLEDB.4.0;" & _ "Data Source = " & DB_File & ";" & _ "Persist Security Info = False" Conn.Open
' ตัวอย่างนำไปใช้งานกับการสร้าง RecordSet
SQLStmt = "SELECT * FROM tblSample" Set RS = Conn.Execute(SQLStmt, , adCmdText) End Sub
|
|