กระทู้เก่าบอร์ด อ.Yeadram
1,491 8
URL.หัวข้อ /
URL
ขอตัวอย่างป้องกัน Shift ครับ
รบกวนใครมีตัวอย่างการป้องกัน Shift ช่วยแปะลิงค์ให้่หน่อยครับ
8 Reply in this Topic. Dispaly 1 pages and you are on page number 1
1 @R14039
http://www.thai-access.com/yeadram_view.php?topic_id=474
2 @R14081
อ.สันติสุข พอจะมีไฟล์ตัวอย่างบ้างปะครับ ผมไม่ค่อยเข้าใจครับ รบกวนด้วยครับ
3 @R14082
จะเอาไปแกะงานของใครเขาหรือเปล่า
ช่วยสนับสนุนผู้พัฒนาโปรแกรมซื้อของเขาใช้เถิด
คนไทยทำเองช่วยสนับสนุนฝีมือคนไทย
อย่าไปแกะของเขาเลย
ฝากถึงอาจารย์ทุกท่านด้วยครับ
ถ้าจะให้ก็ให้โดยตรงมางเมล์จะดีกว่านะ
ให้แบบนี้คนที่อยากพัฒนาAccessก็หมดกำลังใจพ้ฃัฒนาพอจะมีรายได้ค่านมลูกบ้างโดนแกะหมด
ผมโดนแล้วในเวปนี้แหละเขียนงานให้แล้วไม่ได้เงิน
แต่มาขอวิธีแกะAccess
โอ้ชีวิต...พระเจ้า
ช่วยสนับสนุนผู้พัฒนาโปรแกรมซื้อของเขาใช้เถิด
คนไทยทำเองช่วยสนับสนุนฝีมือคนไทย
อย่าไปแกะของเขาเลย
ฝากถึงอาจารย์ทุกท่านด้วยครับ
ถ้าจะให้ก็ให้โดยตรงมางเมล์จะดีกว่านะ
ให้แบบนี้คนที่อยากพัฒนาAccessก็หมดกำลังใจพ้ฃัฒนาพอจะมีรายได้ค่านมลูกบ้างโดนแกะหมด
ผมโดนแล้วในเวปนี้แหละเขียนงานให้แล้วไม่ได้เงิน
แต่มาขอวิธีแกะAccess
โอ้ชีวิต...พระเจ้า
4 @R14084
คุณเห็นใจเถอะ ผมแค่จะเอามาป้องกันพวก User ครับไม่ได้มีเจตนานำไปหาเงินครับ พอดีไม่มีความสามารถครับเลยต้องมาขอให้คนในบอร์ดช่วยครับ
5 @R14085
ผมไม่มีครับ ผมว่าโค้ดทั้งหมดก็อยู่ในกระทู้นั้นแล้วนะครับ
6 @R14087
เราควรจะส่งไฟล์ที่เป็นนามสกุล .mde หรือ .accde ไปให้ผู้ใช้ใช้งานนะครับ เพราะเขาจะแก้ไขอะไรไม่ได้ แม้จะแก้ไขการกด Shift ได้ก็ตาม
7 @R14093
1. สมมติว่า คุณสร้างโปรแกรมด้วย Access เสร็จเรียบร้อย พร้อมจะเผยแพร่ต่อไป ขอแนะนำว่า คุณควรจะสำเนาต้นฉบับเอาไว้ก่อน เอาไว้คนละแห่งก็ได้
2. จากนั้นเอาไฟล์สำเนาที่ต้องการทำการจัดการต่อไป (หมายความว่า ไฟล์นี้มีฟอร์มทำหน้าที่ฟอร์มแรก หรือ Startup Form แล้วนะครับ)
3. เปิดไฟล์ แล้วไปที่ Module สร้าง Module ขึ้นใหม่ 1 ตัว
4. Copy โค๊ตทั้งหมด ตั้งแต่
Sub SetBypassProperty()
...
End Function
ปวางใน Module ตามข้อ 3
5. จากนั้นคลิกเอา Cursor ไว้ที่หน้าแถวแรก
6. คลิกแถบเมนู Run > Run Sub/Userform หรือ กด F5 ก็ได้ ข้อนี้เป็นการ Add the CreateProperty method เพิ่มเข้าไปใน the Properties collection
7. ทดลองเปิดใช้งานได้เลย จะปรากฎว่าคุณกด Shift ไว้ก็ไม่มีผลอะไร
Sub SetBypassProperty()
Const DB_Boolean As Long = 1
ChangeProperty "AllowBypassKey", DB_Boolean, False
End Sub
Function ChangeProperty(strPropName As String, varPropType As Variant, varPropValue As Variant) As Integer
Dim dbs As Object, prp As Variant
Const conPropNotFoundError = 3270
Set dbs = CurrentDb
On Error GoTo Change_Err
dbs.Properties(strPropName) = varPropValue
ChangeProperty = True
Change_Bye:
Exit Function
Change_Err:
If Err = conPropNotFoundError Then ' Property not found.
Set prp = dbs.CreateProperty(strPropName, _
varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
' Unknown error.
ChangeProperty = False
Resume Change_Bye
End If
End Function
2. จากนั้นเอาไฟล์สำเนาที่ต้องการทำการจัดการต่อไป (หมายความว่า ไฟล์นี้มีฟอร์มทำหน้าที่ฟอร์มแรก หรือ Startup Form แล้วนะครับ)
3. เปิดไฟล์ แล้วไปที่ Module สร้าง Module ขึ้นใหม่ 1 ตัว
4. Copy โค๊ตทั้งหมด ตั้งแต่
Sub SetBypassProperty()
...
End Function
ปวางใน Module ตามข้อ 3
5. จากนั้นคลิกเอา Cursor ไว้ที่หน้าแถวแรก
6. คลิกแถบเมนู Run > Run Sub/Userform หรือ กด F5 ก็ได้ ข้อนี้เป็นการ Add the CreateProperty method เพิ่มเข้าไปใน the Properties collection
7. ทดลองเปิดใช้งานได้เลย จะปรากฎว่าคุณกด Shift ไว้ก็ไม่มีผลอะไร
Sub SetBypassProperty()
Const DB_Boolean As Long = 1
ChangeProperty "AllowBypassKey", DB_Boolean, False
End Sub
Function ChangeProperty(strPropName As String, varPropType As Variant, varPropValue As Variant) As Integer
Dim dbs As Object, prp As Variant
Const conPropNotFoundError = 3270
Set dbs = CurrentDb
On Error GoTo Change_Err
dbs.Properties(strPropName) = varPropValue
ChangeProperty = True
Change_Bye:
Exit Function
Change_Err:
If Err = conPropNotFoundError Then ' Property not found.
Set prp = dbs.CreateProperty(strPropName, _
varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
' Unknown error.
ChangeProperty = False
Resume Change_Bye
End If
End Function
8 @R14097
ตามความห็นที่ R14093 ผมคิดว่าป้องกันกด shif จริงแต่ปัญหาอยู่ที่ การสร้างไฟล์ใหม่ แล้ว import เข้ามาในไฟล์ใหม่ ก็สามารถรื้อโครงสร้างได้ทั้งหมดอีกแต่ถ้าแปลงไฟล์เป็น mde ไม่แน่ใจว่าแก้ได้หรือเปล่า
Time: 0.2347s