แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - TTT

หน้า: [1] 2 3 4 ... 6
1
ห้อง MS Access / : โปรแกรม Access error Query " is corrupt
« เมื่อ: 21 พ.ย. 62 , 13:53:29 »
ลองวิธี Uninstall ตัวอัพเดทออกตามวิธีนี้ดูว่าได้ไม๊ครับ
http://fmsinc.com/MicrosoftAccess/Errors/query_is_corrupt/index.htm link

2
หาได้ครับ ก็เขียนแบบนี้
InStr(1,[NameTH],"เอเ")

3
มันเป็นการเลือกใช้รูปแบบภาษาไทยใน MS Access ที่จะไม่สามารถนับสระในการค้นหาเพียงอย่างเดียวได้
เปลี่ยนจากการใช้ฟังก์ Like() เป็น InStr() แทน โดยลักษณะการใช้งานเปรียบเทียบได้ดังนี้:
[NameTH] Like "*เ*" >>>  InStr(1, [NameTH], "เ") > 0
[NameTH] Like "เ*"  >>>  InStr(1, [NameTH], "เ") = 1
[NameTH] Like "*เ"  >>>  InStr(1, [NameTH], "เ") = Len([NameTH]) หรือ InStr(Len([NameTH]), [NameTH], "เ") > 0

5
เราก็สามารถสร้างเงื่อนไขต่อไปได้ครับว่า ถ้าฟิลด์ TerminateDate มีค่าก็ให้เทียบค่าวันที่ฟิลด์นี้ แต่ถ้าไม่มีค่าก็เทียบค่าวัน ที่วันที่ปัจจุบัน
คำนวณวัน
CompanyHiringDate_Day:
IIf(isnull([TerminateDate]),
IIf(DateDiff("d",DateAdd("m",DateDiff("m",[CompanyHiringDate],Date()),[CompanyHiringDate]),Date())<0,DateDiff("d",DateAdd("m",DateDiff("m",[CompanyHiringDate],Date())-1,[CompanyHiringDate]),Date()),DateDiff("d",DateAdd("m",DateDiff("m",[CompanyHiringDate],Date()),[CompanyHiringDate]),Date())),
IIf(DateDiff("d",DateAdd("m",DateDiff("m",[CompanyHiringDate],[TerminateDate]),[CompanyHiringDate]),[TerminateDate])<0,DateDiff("d",DateAdd("m",DateDiff("m",[CompanyHiringDate],[TerminateDate])-1,[CompanyHiringDate]),[TerminateDate]),DateDiff("d",DateAdd("m",DateDiff("m",[CompanyHiringDate],[TerminateDate]),[CompanyHiringDate]),[TerminateDate])))

ทำในส่วนของ เดือน และ ปี ด้วย ประมาณนี้ครับ

6
ลองใช้เว็บเบราเซอร์ดูไม๊ครับ
https://youtu.be/bEY-l75nGqM?t=1332 link

7
ลองดูที่คลิปนี้นะครับ เผื่อช่วยได้
https://youtu.be/YGIhU4KJFDc?t=486 link

8
ผมเคยลองเขียนแบบการใส่เป็นรหัสผ่านด้วยหน้าจอทัชสกรีน ลองดูเป็นไอเดียได้นะครับ
วีดีโอตัวอย่างหน้าจอทัชสกรีน link

9
ทำคลิปให้ดูนะครับ เผื่อช่วยได้

Youtube link

10
ลองคำสั่งแบบ API ดูไม๊ครับ เผื่อช่วยได้

Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

การใช้งานแทน Sendkey

    keybd_event &HD, 0, 0, 0
    keybd_event &HD, 0, &H2, 0

จะเป็นการส่งคีย์ ENTER

11
เป็นกับทุกไฟล์หรือเปล่าครับ
หากเป็นกับทุกไฟล์ แสดงว่าเป็นที่ตัวโปรแกรม ให้ลองลง Service pack ใหม่สุด ของตัว office 2007 น่าจะเป็น Pack 3 ลองหาใน Google ดูครับ
หากเป็นแค่ไฟล์นั้นไฟล์เดียว แล้ว Decompile ไม่หาย ลองสร้งไฟล์ใหม่เปล่าๆ แล้วค่อยๆก๊อปปี้ Object ต่างๆ ของไฟล์เก่ามาใส่ไฟล์ใหม่ให้ครบดู
เป็นไอเดียประมาณนี้ครับ

12
ลองทำ Decompile ดูครับว่าหายไม๊
https://youtu.be/knFHRm-bwos link

13
อื่ม! มันบอกยากนะครับ เพราะมีหลายอย่างเหมือนกัน แนะนำให้ลองไปรันบน 32bit ทดสอบดูก่อนเลยครับ แล้วถ้ามันมีปัญหาอะไรมันก็ฟ้องเอง แล้วค่อยมาแก้กัน บางทีอาจใช้ได้เลยก็ได้ เพราะถ้าจะเขียนให้ใช้ประสิทธิภาพแบบ 64bit จริงๆ ต้องตั้งใจเขียนเหมือนกันครับ โค้ดที่เราใช้กันหรือหาได้ทั่วไปส่วนใหญ่ก็รัน 32bit แทบทั้งนั้น

14
แนะนำช่องใน YouTube ที่ผมดูนะครับ

ช่อง: prasertcbs
สอน Excel เบื้องต้น link
สอนเทคนิคการใช้งาน Excel link
Excel เสริม link

ช่อง: Duangporn Toy
List Excel link

ช่อง: Saralee Pruksaritanon
List Excel link

ช่อง: เทพเอ็กเซล : Thep Excel link

ช่อง: Somkiat Foongkiat link

ลองค่อยดูนะครับ เข้าใจไม่เข้าใจบ้าง ให้ผ่านหูผ่านตาก่อน ฝึกทำโจทย์บ่อยๆช่วยได้ครับ

15
ถ้าเป็นในรายงานเราสามารถทำ Running Sum ได้เลย โดยการสร้าง Text Box เปล่าๆ ขึ้นมาใหม่ สมมุติชื่อ txtrun แล้วกำหนด Control Source: =1 กำหนดตรง Running Sum: Over All (หรือ Over Group หากสร้าง Group)
เราจะได้เลยที่เรียงลำดับขึ้นมา จากนั้นก็เปลี่ยนเงื่อนไขใน Text Box ที่เรานับเลข 1-40 ใหม่เป็น
=IIf([txtrun] Mod 40=0,40,[txtRun] Mod 40)
อ้างที่ [txtrun] แทนการอ้างที่ [ID] ส่วนจะให้แสดงหรือไม่ก็กำหนดในส่วน Visible เอาว่าจะเป็น Yes หรือ No
ส่วนเรื่องอยากให้หน้าละ 20 เรคคอร์ดก็ปรับส่วนพื้นที่ Detail ของรายงานให้ความสูงได้ 20 เรคคอร์ดกับหน้ากระดาษที่กำหนดไว้ แล้วแก้โค้ดที่ Detail > Event > On Print:
Const Blank_Line = 20 'จากเดิม 40 เป็น 20 แทน ก็น่าจะใช้ได้แล้วครับ
ไฟล์ตัวอย่างแก้ไข link

16
เรื่องการทำเส้นให้เต็มในรายงานลองอ่านกระทู้นี้ดูนะครับ
https://www.thai-access.com/topic_post.asp?CategoryID=1&TopicID=3065&PagePosition=1
ส่วนเรื่องเลขที่ตัดทุก 40 ใช้การเขียนคำสั่งหารสั้นเอาแต่เศษด้วยทำสั่ง Mod ที่เลขลำดับของเรา โดยใช้เงื่อนไข
=IIf([ID] Mod 40=0,40,[ID] Mod 40)
คือหารสั้นเอาแต่เศษด้วย 40 แต่ถ้าเศษเป็น 0 ให้เท่ากัย 40 วิธีนี้ ID ต้องเรียงเลขกันห้ามข้ามนะครับ
ไฟล์ตัวอย่าง link

หน้า: [1] 2 3 4 ... 6