แสดงกระทู้

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 - มาลี

หน้า: 1 [2] 3 4 5 ... 7
19
ปัจจุบันก็กำหนดไว้อยู่แล้วค่ะ แต่บางครั้งผู้ใช้จะมีการ Copy , Paste แล้วขึ้น error
 เป็นข้อความที่ผู้ใช้ไม่เข้าใจว่า error มาจากเหตุใด

20
ขอรบกวนสอบถามอาจารย์ทุกท่านนะคะ

หนูอยากได้คำสั่งดักจับการใส่ข้อมูลผิดประเภทของผู้ใช้งานดังนี้ค่ะ

ห้ามใสข้อมูลรูปปภาพ(OLE) ลงในฟิลด์ที่กำหนดไว้เป็นText
และตรงกันข้ามคือ
ห้ามใส่ข้อความ Text ลงในฟิลด์ที่กำหนดไว้เป็นรูปภาพ(OLE)

หากใส่ข้อมูลผิดประเภทดังกล่าวก็ให้มีการแจ้งเตือน แต่สามารถข้ามหรือปล่อยเป็นค่าว่างในฟิลด์ดังกล่าวได้ค่ะ

21
เย้.. :shout: สำเร็จแล้ว
ใช้ฟังชั่นตามที่อาจารย์  PNR แนะนำ
สามารถตอบโจทย์ได้ครบถ้วนตามต้องการเลยค่ะ

ขอบคุณอาจารย์ทั้งสองท่านนะคะ

22
ยังไม่สำเร็จเลยค่ะอาจารย์
หนูผิดเองที่อธิบายคำถามไม่เคลียร์ โดยตัวอย่าง สวัสดี เป็นเพียงข้อความสมมติเพื่อให้เห็นภาพเท่านั้นค่ะ
จริงๆแล้วประโยคข้อความและจำนวนอักขระข้างหน้านั้นมันไม่แน่นอนเสมอไปค่ะอาจารย์ แต่รูปแบบจะเหมือนกันคือ

มี ข้อความแรก และ ข้อความที่สอง ปัญหาคือผู้ใช้มักจะกรอกกันไม่แน่นอน
บ้างก็เว้นวรรค1-2เคาะ บ้างก็ไม่ได้เว้นวรรค แต่ใส่วงเล็บเปิดวงเล็บปิดให้กับ ข้อความที่สอง

เช่น คลองรังสิต ฝั่งเหนือ เป็น คลองรังสิต(ฝั่งเหนือ)
หรือ ภาคใต้ ฝั่งอ่าวไทย เป็น ภาคใต้(ฝั่งอ่าวไทย) ดังนี้เป็นต้นค่ะ

สิ่งที่หนูต้องการคือจะแยกเอาเฉพาะ ข้อความแรก มาใช้เท่านั้น
โดยหนูคิดวางแผนว่าจะดักจับเอาช่วงที่เขาเริ่มเว้นวรรคหรือช่วงที่เขาเริ่มใส่วงเล็บ ประมาณนี้ค่ะอาจารย์

23
หนูมีข้อมูลในคิวรี่ อยู่ชุดหนึ่ง สมมติดังนี้นะคะ

1 สวัสดี ตอนเช้า มีเว้นวรรค
2 สวัสดี(ตอนเช้า) ไม่เว้นวรรคแต่มีวงเล็บ

ความต้องการของหนูก็คือ ไม่ว่าจะมีเว้นวรรคหรือไม่เว้นวรรคแต่มีวงเล็บก็ตาม ให้ตัดเอาคำว่า สวัสดี มาเพียงอย่างเดียวค่ะ
หนูพยายามทำแล้วแต่ไม่สำเร็จ มันจะได้เพียงอย่างใดอย่างหนึ่ง คือ
ถ้าตัดโดยเงื่อนไข เว้นวรรค ข้อมูลที่เป็นวงเล็บแต่ไม่เว้นวรรค ก็จะติดออกมา
ครั้นตัดโดยเงื่อนไขเมื่อเจอวงเว็บ ข้อมูลที่เว้นวรรค ก็จะขึ้น Error

หนูลองใช้ประมาณนี้ คำทักทาย: Left([ทักทาย],InStr([ทักทาย]," ")-1) ลองสลับดัดแปลงดูแล้วแต่ไม่สำเร็จค่ะ

ขอรบกวนอาจารย์ทุกท่านด้วยนะคะ

24
 :shout: เย้..สำเร็จแล้ว
เยี่ยมเลยค่ะอาจารย์ ต้องทำที่คิวรี่ หนูสามารถไปต่อได้แล้วค่ะ
ขอบพระคุณอย่างยิ่งค่ะอาจารย์

25
ขออนุญาตสอบถามนะคะ
หนูมี Textbox-1 สำหรับให้ผู้ใช้กรอกข้อมูล ซึ่งมีทั้งตัวอักษรและตัวเลขปะปนกัน แต่จะลงท้ายด้วยตัวเลขเสมอ
แต่จำนวนของตัวเลขที่ลงท้ายนั้นจะไม่แน่นอนคืออาจเป็นหนึ่งหลัก,สองหลัก.สามหลักหรือมากกว่าก็ได้
ตัวอย่างเช่น ABCDEF-3456 หรือ ASKGT-1 หรือ KL-4567890 เป็นต้น

ด้วยความที่จำนวนของตัวเลขนั้นไม่แน่นอนแถมยังมีอักษรหรืออักขระอื่นปะปนอยู่ด้วย
ความต้องการของหนูก็คือ หนูต้องการตัดเอาเฉพาะส่วนที่เป็นตัวเลข สามหลักสุดท้าย มาใส่ใน Textbox-2

หากข้อมูลใดมีตัวเลขไม่ถึงสามหลัก ก็ให้เอามาเฉพาะตัวเลขส่วนท้าย ไม่เอาตัวอักษรและอักขระอื่นๆ
และไม่เอาตัวเลขหลักอื่นที่อยู่ถัดจากตัวอักษรหรืออักขระอื่นๆ
แล้วค่อยมาเติมเลขศูนย์ไว้ข้างหน้าใน Textbox-2 ให้มันเป็นตัวเลขครบสามหลักค่ะ

ตัวอย่างเช่น มีข้อมูล ABCD-48-KR-25 ก็เอามาเฉพาะเลข 25 แล้วเติมศูนย์ ให้เป็น 025
หรือมีข้อมูล ABCD-1-TB-9 ก็เอามาเฉพาะเลข 9 แล้วเติมศูนย์ ให้เป็น 009
หรือ ABCD-1-TB-12345 ก็เอาตัวเลข 345 มาได้เลยโดยไม่ต้องเติมศูนย์ เป็น 345

ประมาณนี้ค่ะอาจารย์ รบกวนด้วยนะคะ ขอบคุณค่ะ

26
ขอบคุณมากๆเลยค่ะอาจารย์
ใช้วิธีของอาจารย์ง่ายดี ไม่ต้องเขียนโค๊ดให้ยุ่งยากเลย
แม้ข้อความเตือนจะไม่แยกตรวจสอบให้ แต่ก็ตอบโจทย์ได้ตามต้องการแล้ว
โดยหนูดัดแปลงเล็กน้อย ให้จับเฉพาะอักษร A,B,C,D เท่านั้นค่ะ

27
ขออนุญาตรบกวนสอบถามนะคะ
หนูต้องการกำหนดรูปแบบการคีย์ข้อมูลใน TextBox ว่าจะต้องเริ่มด้วย A,B,C หรือ D เท่านั้น แล้วตามด้วยตัวเลขอีกสี่หลักค่ะ เช่น

A-0001
B-0002
C-3456
D-9999

หากคีย์โดยใช้อักษรตัวอื่นนอกเหนือจากที่กำหนด หรืออักษรถูกต้อง แต่ใส่ตัวเลขไม่ครบสี่หลัก
ก็ให้ขึ้นข้อความแจ้งเตือน แนวประมาณนี้ค่ะ
**หากสามารถแยกการเตือนได้ว่า ตัวอักษรผิด หรือ ตัวเลขไม่ครบ ก็จะเป็นพระคุณอย่างยิ่งค่ะ

28
สุดยอดเยี่ยมมากเลยค่ะอาจารย์
ขออนุญาตคุณ001jetnipitด้วยนะคะ

รบกวนอาจารย์ OddyWriter ขอไฟล์ตัวอย่างแบบ 32 bit ด้วยได้ไหมคะ
หนูจะเอาไปปลุกผีงานเก่าที่เคยถอดใจล้มเลิกไปแล้วค่ะ

แต่หนูลองเอาไฟล์ตัวอย่าง64bit ของอาจารย์ไปรันกับ 32bit มันก็ทำงานได้ปกตินะคะ
ไม่ทราบว่าจริงๆแล้วจะมีผลแตกต่างอื่นๆหรือเปล่าคะ

29
ขอบคุณค่ะอาจารย์ OddyWriter
บังเอิญโจทย์ของคุณ 001jetnipit ตรงกับที่หนูเคยทำเล่นลองผิดลองถูกอยู่ระยะหนึ่ง
ตอนหลังหนูไม่ได้ใช้เทคนิคนี้แล้วเพราะเบื่อผลข้างเคียงของมันก็คือ
ถ้าเครื่องเราเปิดใช้โปรแกรมหรือโฟลเดอร์อื่นอยู่ก่อน
เจ้าฟอร์มป็อปอัพของเรามันไม่ยอมป็อปอัพซะงั้น แต่กลับไปแอบอยู่ข้างหลังเฉยเลย
เข้าใจว่าอาจเป็นเพราะ Access ถูกเราสั่งให้ Minimize หรือเปล่า

30
ขออนุญาตตอบคุณ 001jetnipit นะคะ
เห็นว่าคุณได้ทำฟอร์มป็อปอัพไว้แล้ว ลองทำอย่างนี้ดูนะคะ

ที่อีเวนต์ เมื่อเปิด ของฟอร์มป็อปอัพ ใส่คำสั่งนี้ลงไป (ต้องเป็นฟอร์มป็อปอัพนะคะ)
 DoCmd.RunCommand acCmdAppMinimize

และที่อีเวนต์ เมื่อปิด ของฟอร์มป็อปอัพ ใส่คำสังนี้ลงไปเพื่อคืนค่าเดิมค่ะ
 DoCmd.RunCommand acCmdAppRestore
หรือ
 DoCmd.RunCommand acCmdAppMaximize

ลองประยุกต์ใช้ดูนะคะ

31
หนูก็อาศัยครูพักลักจำคำถาม/คำตอบจากเพื่อนสมาชิกและอาจารย์หลายๆท่านในบอร์ดนี้ซึ่งรวมถึงท่านด้วย แล้วนำมาประยุกต์ดัดแปลงให้เหมาะสมกับที่เราต้องการค่ะ

32
ขอบคุณค่ะอาจารย์
ก่อนหน้านี้หนูได้ทดลองใช้วิธีลักไก่หลอกโปรแกรมโดยสร้างฟิลด์ใหม่ [Notจังหวัด] ที่คิวรี่ขึ้นมาอีกหนึ่งฟิลด์ค่ะ
แล้วแยกใส่คำสั่งทั้งสองลงไป สามารถตอบโจทย์ที่ต้องการได้แล้วค่ะอาจารย์



33
ขออนุญาตเพิ่มเติมค่ะ
เบื้องต้นลองตั้งค่าตัวเลือกของ Access ดูก่่อนนะคะว่าได้ไหม ตามในรูปค่ะ


34
ขอสอบถามเพิ่มเติมค่ะ
เราสามารถเอาสองคำสั่งนี้มาใช้ร่วมกันได้ไหมคะ โดยมาจาก textbox คนละตัวกัน
แต่ว่าอยู่ในฟอร์มเดียวกัน เวลาใช้ก็จะสลับกันใช้ ระหว่าง Text1 กับ Text2 หนูลองทำแล้วไม่ได้ผลค่ะ
ไม่สามารถละเว้นได้ แต่ถ้าเป็นคำสั่งเดียวจะทำงานได้ค่ะ

Like "*" & [Forms]![frmค้นหา]![text1] & "*"
Not [Forms]![frmค้นหา]![text2]



พอเซฟคิวรี่แล้วเปิดใหม่ Not ก็เปลี่ยนเป็น <> ด้วยค่ะ เข้าใจว่าคงจะเป็นอันเดียวกัน

35
 :shout: เย้..ได้แล้ว ขอบคุณมากเลยค่ะอาจารย์

36
สมมติว่าเรามีรายชื่อลูกค้ากระจายอยู่ในหลายจังหวัด ทีนี้หนูอยากจะให้ค้นหาโดยละเว้นเฉพาะจังหวัดที่เราระบุใน textbox บนหน้าฟอร์มแล้วสั่งไปที่คิวรี่ให้แสดงข้อมูลทุกจังหวัด ยกเว้นจังหวัดที่เราระบุค่ะ
เช่นระบุว่า กรุงเทพฯ ก็ให้ละเว้นเฉพาะกรุงเทพฯอย่างเดียว นอกนั้นแสดงจังหวัดอื่นขึ้นมาทั้งหมดเลยค่ะ

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