สามารถดึงเอาชื่อไฟล์ฐานข้อมูลเข้าตารางได้ไหมคะ
กระทู้เก่าบอร์ด อ.Yeadram

 1,465   10
URL.หัวข้อ / URL
สามารถดึงเอาชื่อไฟล์ฐานข้อมูลเข้าตารางได้ไหมคะ

เช่น สมมติว่าเรามีไฟล์ฐานข้อมูลชื่อ Home.mdb อยู่ แล้วในไฟล์ฐานข้อมูลดังกล่าว ก็จะมีอยู่หนึ่งเทเบิ้ล ซึ่งมีฟิลด์ชื่อว่า Project อยู่ด้วย สำหรับเอาไว้เก็บชื่อไฟล์ฐานข้อมูลนั้นๆค่ะ แต่เดิม เมื่อชื่อไฟล์ฐานข้อมูลเปลี่ยนไป เราก็ต้องเข้าไปเปลี่ยนข้อมูลในฟิลด์นี้ใหม่ เพื่อให้ตรงกับชื่อของไฟล์ฐานข้อมูลนั้นอยู่เสมอค่ะ

คาวมต้องการของหนูก็คือ หนูอยากให้เทเบิ้ลนี้ โหลดเอาชื่อไฟล์ฐานข้อมูล ในที่นี้ก็คือ Home เข้าเก็บในฟิลด์ Project โดยอัตโนมัติเลยค่ะ หมายความว่า หากชื่อไฟล์ฐานข้อมูลถูกเปลี่ยนไป ข้อมูลในฟิลด์ Project ก็จะถูกเปลี่ยนตามไปด้วยโดยอัตโนมัติ ซึ่งอาจให้โหลดผ่านฟอร์ม
หรืออะไรก็ได้ค่ะ

ไม่ทราบว่าต้องทำอย่างไรคะ

10 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R04120
ที่ Form ตั้งต้น

Private Sub Form_Load()
Dim strProjectName As String
      'หาชื่อไฟล์ฐานข้อมูล
      strProjectName = CurrentProject.Name
       'ส่งชื่อไฟล์ฐานข้อมูลไปบันทึก
      Call Add2Project(strProjectName)
End Sub

Sub Add2Project(pName as string)

Dim MyRec as DAO.RecordSet
Set MyRec=CurrentDB.OpenDatabase("Project")
With MyRec
     If .RecordCount<>0 then
          .Edit
          'สมมติตาราง Project มีfield ที่เก็บชื่อ ฐานข้อมูลชื่อ ProjectName
              !ProjectName = pName
        .Update
     Else
        .AddNew
              !ProjectName = pName
        .Update
     End if
End With     
MyRec.Close
Set Myrec=Nothing

End sub
ลองทดสอบดูนะครับ เขียน สดๆ ไม่ได้ทดสอบก่อน
2 @R04122
ขอบคุณค่ะอาจารย์
เดี๋ยวหนูจะทดลองทำตามดูนะคะ แล้วจะเข้ามารายงานผลให้ทราบค่ะ
3 @R04137
ทดลองอยู่หลายวันแล้วยังไม่ได้ มันขึ้น error ตามรูปนี้ค่ะ



ลองปรับแก้ดูแล้วก็ยังไม่ได้เลยต้องเข้ามาขอความช่วยเหลืออีกค่ะ
หนูสร้างตารางชื่อ Project โดยมีfield ที่เก็บชื่อ ฐานข้อมูลชื่อ ProjectName แล้วที่ฟอร์มก็เอาเฉพาะฟิลด์ ProjectName มาใช้เท่านั้นค่ะ
4 @R04138
รูป Error เพิ่มเติมค่ะ

5 @R04139
1 เปิดฟอร์ม อะไรก็ได้ในมุมมองออกแบบ
2 แล้วเข้า visual basic editor
3 ที่เมนู tools (เครื่องมือ) --> References
4 ดูว่ามี Microsoft DAO x.x Object Library หรือไม่
5 ถ้าไม่มี ให้ scroll หา แล้ว ทำเครื่องหมายข้างหน้า
   สังเกตว่า
   ถ้ามีการใช้ Microsoft ActiveX Data Objects x.x Library ลำดับของ
   Microsoft DAO x.x Object Library ต้องมาก่อนนะครับ
6 อาจเป็นปัญหาการเขียน คำสั่งอะไรผิดหรือไม่ เช่น จุด (.) จึงทำให้เกิด error
6 @R04140
ต้องขอโทษด้วยครับ
ต้องแก้เป็น

Set MyRec = CurrentDb.OpenRecordset("Project")

7 @R04145
ยอดเยี่ยม..ใช้ได้เรียบร้อยโรงเรียนThai Access Webboard เลยค่ะอาจารย์

แก้ไขโค้ดคำสั่งใหม่ เป็น...
Set MyRec = CurrentDb.OpenRecordset("Project")
ตามที่ท่านแนะนำค่ะ

ขอขอบคุณอย่างยิ่งค่ะ
8 @R04146
ขอเรียนถามเพิ่มเติมค่ะ
อาจารย์คะ ชื่อไฟล์ฐานข้อมูลที่โหลดเข้ามา มันมี .mdb ติดเข้ามาด้วยอะค่ะ
หากเราไม่ต้องการ .mdb ได้ไหมคะ คือเอาเฉพาะชื่อของไฟล์ฐานข้อมูลอย่างเดียวเ่ท่านั้นค่ะ
9 @R04147
แก้ไขตรงที่
     strProjectName = CurrentProject.Name
     strProjectName = mid(strProjectName,1,Len(strProjectName)-4)
10 @R04149
ได้ตรงตามที่ต้องการเลยค่ะ
ขอบคุณอาจารย์อีกครั้งค่ะ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3930s