กระทู้เก่าบอร์ด อ.Yeadram
1,465 10
URL.หัวข้อ /
URL
สามารถดึงเอาชื่อไฟล์ฐานข้อมูลเข้าตารางได้ไหมคะ
เช่น สมมติว่าเรามีไฟล์ฐานข้อมูลชื่อ Home.mdb อยู่ แล้วในไฟล์ฐานข้อมูลดังกล่าว ก็จะมีอยู่หนึ่งเทเบิ้ล ซึ่งมีฟิลด์ชื่อว่า Project อยู่ด้วย สำหรับเอาไว้เก็บชื่อไฟล์ฐานข้อมูลนั้นๆค่ะ แต่เดิม เมื่อชื่อไฟล์ฐานข้อมูลเปลี่ยนไป เราก็ต้องเข้าไปเปลี่ยนข้อมูลในฟิลด์นี้ใหม่ เพื่อให้ตรงกับชื่อของไฟล์ฐานข้อมูลนั้นอยู่เสมอค่ะ
คาวมต้องการของหนูก็คือ หนูอยากให้เทเบิ้ลนี้ โหลดเอาชื่อไฟล์ฐานข้อมูล ในที่นี้ก็คือ Home เข้าเก็บในฟิลด์ Project โดยอัตโนมัติเลยค่ะ หมายความว่า หากชื่อไฟล์ฐานข้อมูลถูกเปลี่ยนไป ข้อมูลในฟิลด์ Project ก็จะถูกเปลี่ยนตามไปด้วยโดยอัตโนมัติ ซึ่งอาจให้โหลดผ่านฟอร์ม
หรืออะไรก็ได้ค่ะ
ไม่ทราบว่าต้องทำอย่างไรคะ
คาวมต้องการของหนูก็คือ หนูอยากให้เทเบิ้ลนี้ โหลดเอาชื่อไฟล์ฐานข้อมูล ในที่นี้ก็คือ Home เข้าเก็บในฟิลด์ Project โดยอัตโนมัติเลยค่ะ หมายความว่า หากชื่อไฟล์ฐานข้อมูลถูกเปลี่ยนไป ข้อมูลในฟิลด์ Project ก็จะถูกเปลี่ยนตามไปด้วยโดยอัตโนมัติ ซึ่งอาจให้โหลดผ่านฟอร์ม
หรืออะไรก็ได้ค่ะ
ไม่ทราบว่าต้องทำอย่างไรคะ
10 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R04122
ขอบคุณค่ะอาจารย์
เดี๋ยวหนูจะทดลองทำตามดูนะคะ แล้วจะเข้ามารายงานผลให้ทราบค่ะ
เดี๋ยวหนูจะทดลองทำตามดูนะคะ แล้วจะเข้ามารายงานผลให้ทราบค่ะ
3 @R04137
ทดลองอยู่หลายวันแล้วยังไม่ได้ มันขึ้น error ตามรูปนี้ค่ะ
ลองปรับแก้ดูแล้วก็ยังไม่ได้เลยต้องเข้ามาขอความช่วยเหลืออีกค่ะ
หนูสร้างตารางชื่อ Project โดยมีfield ที่เก็บชื่อ ฐานข้อมูลชื่อ ProjectName แล้วที่ฟอร์มก็เอาเฉพาะฟิลด์ ProjectName มาใช้เท่านั้นค่ะ
ลองปรับแก้ดูแล้วก็ยังไม่ได้เลยต้องเข้ามาขอความช่วยเหลืออีกค่ะ
หนูสร้างตารางชื่อ 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
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")
ต้องแก้เป็น
Set MyRec = CurrentDb.OpenRecordset("Project")
7 @R04145
ยอดเยี่ยม..ใช้ได้เรียบร้อยโรงเรียนThai Access Webboard เลยค่ะอาจารย์
แก้ไขโค้ดคำสั่งใหม่ เป็น...
Set MyRec = CurrentDb.OpenRecordset("Project")
ตามที่ท่านแนะนำค่ะ
ขอขอบคุณอย่างยิ่งค่ะ
แก้ไขโค้ดคำสั่งใหม่ เป็น...
Set MyRec = CurrentDb.OpenRecordset("Project")
ตามที่ท่านแนะนำค่ะ
ขอขอบคุณอย่างยิ่งค่ะ
8 @R04146
ขอเรียนถามเพิ่มเติมค่ะ
อาจารย์คะ ชื่อไฟล์ฐานข้อมูลที่โหลดเข้ามา มันมี .mdb ติดเข้ามาด้วยอะค่ะ
หากเราไม่ต้องการ .mdb ได้ไหมคะ คือเอาเฉพาะชื่อของไฟล์ฐานข้อมูลอย่างเดียวเ่ท่านั้นค่ะ
อาจารย์คะ ชื่อไฟล์ฐานข้อมูลที่โหลดเข้ามา มันมี .mdb ติดเข้ามาด้วยอะค่ะ
หากเราไม่ต้องการ .mdb ได้ไหมคะ คือเอาเฉพาะชื่อของไฟล์ฐานข้อมูลอย่างเดียวเ่ท่านั้นค่ะ
9 @R04147
แก้ไขตรงที่
strProjectName = CurrentProject.Name
strProjectName = mid(strProjectName,1,Len(strProjectName)-4)
strProjectName = CurrentProject.Name
strProjectName = mid(strProjectName,1,Len(strProjectName)-4)
10 @R04149
ได้ตรงตามที่ต้องการเลยค่ะ
ขอบคุณอาจารย์อีกครั้งค่ะ
ขอบคุณอาจารย์อีกครั้งค่ะ
Time: 0.3930s
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
ลองทดสอบดูนะครับ เขียน สดๆ ไม่ได้ทดสอบก่อน