แสดงกระทู้

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 - MAKI

หน้า: [1]
1
ลืมบอกไป กรณีใส่ตัวอักษรต่อท้ายบ้านเลขที่เดียวกัน ให้เพิ่มค่า N ต่อท้ายการเรียงลำดับอีกที

select * from T order by val(replace(N,"/",".")), N
โพสต์นี้ได้รับคำขอบคุณจาก: MAKI

2
ถ้า T เป็นชื่อเทเบิล และ N เป็นเลขที่บ้าน ก็ต้องสร้างคิวรี่เพื่อเรียงข้อมูลดังนี้

select * from T order by val(replace(N,"/","."))

หลักการคือเปลี่ยน / เป็นจุดทศนิยมแทน แล้วตีความเป็นค่าตัวเลข ดังนั้น 1/1 ก็กลายเป็น 1.1 แล้วการเรียงก็จะเป็นตามที่ต้องการ  แต่ใช้ไม่ได้กับบ้านที่มีตัวอักษรซึ่งผมไม่แน่ใจว่าจะมีประเภท 123ก, 123ข หรือเปล่า แต่ถ้ามี ระบบอาจเลือกตัวไหนขึ้นมาแสดงก่อนก็ได้ เพราะตีค่าเป็น 123 เหมือนๆกัน
โพสต์นี้ได้รับคำขอบคุณจาก: MAKI

3
เท่าที่ลองดู ถ้ากำหนด Text Format property ของเท็กซ์บ็อกซ์เป็น Rich Text มันจะแสดงได้ในโหมด Print Preview ซึ่งเป็นภาพจริงที่จะเกิดตอนพิมพ์ ผมลองพิมพ์ไปเป็น pdf ไฟล์ ก็เห็นจัดให้ครับ แต่ถ้าไม่กำหนด มันจะไม่จัดให้ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: MAKI

4
กำหนดรูปแบบวันที่ของ text2 เพิ่มเข้าไปตามตัวอย่างครับ
โค๊ด: [Select]
=[text1] & Format([Text2]," d mmmm yyyy")
โพสต์นี้ได้รับคำขอบคุณจาก: MAKI

5
Concept ผมเดาว่าคงต้องการเก็บพิกัดบ้านหรือตำแหน่งสถานที่จาก google map แบบลากหบนแผนที่า แล้วจิกเอาพิกัดไปเก็บใช่ไหมครับ
ใช้ Object Web Browser มาวางลงใน Form แล้วสั่ง Navigate ส่งค่าให้โดยตรงเลย
จะได้รูปแบบเว็บบราวเซอร์ในฟอร์ม โดยไม่ต้องเปิดหน้าต่างใหม่
โพสต์นี้ได้รับคำขอบคุณจาก: MAKI

6
จากกระทู้56 คือชี้ตำแหน่งใน map ได้พิกัด  ในทางกลับกันที่ผมกระทู้คือ ถ้ามีข้อมูลพิกัดของลูกค้าอยู่ใน table แล้ว  เอาพิกัดไป POT ใน google map ดึงพิกัดไปจาก table ไปปักมุด

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

7
จากกระทู้56 คือชี้ตำแหน่งใน map ได้พิกัด  ในทางกลับกันที่ผมกระทู้คือ ถ้ามีข้อมูลพิกัดของลูกค้าอยู่ใน table แล้ว  เอาพิกัดไป POT ใน google map ดึงพิกัดไปจาก table ไปปักมุด 
โพสต์นี้ได้รับคำขอบคุณจาก: MAKI

8
เดี่ยวผมลองสร้างตัวอย่างให้ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: MAKI

9
ลองไปศึกษา & โพสถามต่อจากกระทู้นี้นะครับ
พิกัด ละติจูด-ลองติจูดผูกกับฐานข้อมูล ms access กับ google map ใครพอมีตัวอย่าง
โพสต์นี้ได้รับคำขอบคุณจาก: MAKI

10
อยากจะทราบวิธี ขยาย Check Boxบนฟรอม คะ



ถ้าอยากให้ใหญ่ตามที่เราอยากได้ ใช้ Label มาสร้าง Checkbox ก็ได้ครับ
วิธีทำ
1 สร้าง Label ขึ้นมา ช่องใส่ข้อความ เคาะ space bar 1 ที ไม่ต้องใส่ข้อความ
2.ตั้งชื่อว่า lblCheck
3.จัดแนวข้อความกึ่งกลาง กำหนดขนาดตามต้องการ
4.ใส่ลักษณะพิเศษ แบบยุบตัว

กำหนดสถานะเมื่อ Click เราจะใช้ ChrW(&H2713) หรือ ChrW(&H2714) คือเครื่องหมายกาถูก
โดยเมื่อติ๊กถูกให้ checkbox ที่ชื่อ check1 = true ไปด้วย

Private Sub lblCheck_Click()
Call CheckboxDIY
End Sub

Sub CheckboxDIY()
  If Me.lblCheck.Caption = ChrW(&H2713) Then
    Me.lblCheck.Caption = vbNullString
    Me.Check1 = False
  Else
    Me.lblCheck.Caption = ChrW(&H2713)
    Me.Check1 = True
  End If
End Sub

โพสต์นี้ได้รับคำขอบคุณจาก: MAKI

11
คือเราใส่ข้อมูลบนฟรอมโดยทำเป็น combobox พอกดปุ่มบันทึก อยากให้แสดง ชื่อ
ที่เราทำได้มันแสดง รหัสประชาชน

เช่น tablename
   มี รหัสประชาชน   ชื่อ
        001           ABC

อยากให้ Msgbox แสดง ชื่อ
มี Combobox ชื่อ ComboboxName ผูกกับคอลัมน์หนึ่งไว้เพื่อจัดเก็บในตาราง คือรหัสประจำตัวประชาชน

กำหนด Msgbox แบบนี้ครับ

Msgbox Me.ComboboxName.Column(1)
โพสต์นี้ได้รับคำขอบคุณจาก: MAKI

12



ผมได้ลองสร้างระบบ ตอกบัตรของพนักงานในการเข้างาน มาให้ดูเป็นแนวทางคับ
1.ก่อนใช้งานให้ ใส่ รหัส Barcode ของพนักงานแต่ละคน ในตาราง tblEmployee ก่อนนะครับ ผมใส่ไว้ให้ 2 ไอดีคือ 01 และ 02
2.เมื่อเราแสกน Barcode โปรแกรมจะทำการ Enter อัตโนมัติ
3.ระบบจะบันทึกข้อมูลเข้าสู่ตารางทันทีถ้า Barcode นั้นมีอยู่จริง ถ้าไม่มีอยู่จะมีการแจ้งเตือนให้ครับ
4.รายละเอียดชื่อพนักงานและเวลาในการตอกบัตรนั้นจะแสดงขึ้นมาเมื่อแสกน Barcode ครับ และจะหายไปเองเมื่อครบ 5 วินาที
5.ผมได้สร้างนาฬิกา และ แสดงวันที่ เรียลไทม์ ไว้บนฟอร์มด้วย
6.โดยปกติ พนักงานอาจจะเผลอไปแสกน วันนึงหลายๆ ครั้ง แต่ผมได้สร้างคิวรี่ตรวจเช็คเวลาที่แสกนอันแรกสุดของวันมาแสดงให้ครับ
7.มีระบบสถานะแสดงไว้ให้ด้วยกรณีที่ผิดพลาดก็จะมีข้อความแสดงแจ้งเตือนใหักับพนักงานได้ทราบครับ

ลองดูนะครับ ไม่รู้ได้หรือเปล่า
โพสต์นี้ได้รับคำขอบคุณจาก: MAKI

13
ใช้การกำหนด Events ช่วยด้วยก็ได้คับ
สมมุติ textbox สุดท้ายที่กรอกข้อมูลชื่อ Text4 เสร็จ Cursor จะ Focus ที่ ปุ่ม Cmb_Save ทันทีครับ
และ พอครบ 5 วินาที มันจำเรียกใช้ คำสั่งบันทึกจาก  Cmb_Save_Click() ครับ ซึ่งปุ่มเซฟถ้ากดเองก็เซฟได้เหมือนกัน
หรือจะตั้ง 5 วินาทีแล้วบันทึกได้เหมือนกันคับ ตัวอย่างโค้ดด้านล่าง

Private Sub Cmb_Save_Click() 'คำสั่งจากปุ่มบันทึกที่มีอยู่แล้วถ้าเรากดบันทึกก็ได้เหมือนกัน
DoCmd.RunCommand acCmdSaveRecord
End Sub

Private Sub Text4_Exit(Cancel As Integer) เมื่อเสร็จการกรอกการทำงานบน textbox สุดท้าย
IF not isnull(Me.text1) And not isnull(Me.text2) And  not isnull(Me.text3) And  not isnull(Me.text4) Then 'เช็คว่ากรอกครบทุก textbox แล้วหรือไม่
Me.Cmb_Save.SetFocus
Dim OnTime As Date
OnTime = Now()
While DateDiff("s", OnTime, Now) < 6 'น้อยกว่า 6 อันสุดท้ายสุดคือ 5 วินั้นเอง
Wend

Call Cmb_Save_Click 'พอครบเงื่อนไขด้านบนจะเรียกคำสั่งบันทึกมาใช้งานคับ
End if
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: MAKI

14
ผมสมมุติ ID = textbox ชื่อ ID  datatype เป็น Number
           วันที่ลง = textbox ชื่อ วันที่ลง               datatype เป็น DateAndTime

1.สร้าง Sub ขึ้นมาใส่โค้ดนี้เข้าไป
โค๊ด: [Select]
Sub AutoRunnumber()
Dim MaxNum As Integer
MaxNum = Nz(DMax("ID","tb_เลขจอง"))

If MaxNum = 0 Then
MaxNum = 1
Else
MaxNum = MaxNum + 1
End If
Me.ID = MaxNum
End Sub

2.กำหนด Event AfterUpdate ของ textbox  วันที่ลง  ดังนี้
Private Sub วันที่ลง_AfterUpdate()
If Not IsNull(Me.วันที่ลง) Then
Call AutoRunnumber
End If
End Sub

การใช้งาน
เมื่อเราระบุวันที่ ระบบจะสร้างลำดับขึ้นมาให้เราอัตโนมัติ ถึงเราจะลบ Record ทิ้งไป เมื่อเรากด เพิ่ม Record ใหม่ มันก็จะรันต่อจากเลขที่มากสุด มา + 1 เสมอครับ
โพสต์นี้ได้รับคำขอบคุณจาก: MAKI

15
เปลี่ยนจาก Autorun เป็นเขียนมาโครขึ้นมาใช้เองแทนครับ
ตัวอย่างจากกระทู้นี้เลย > อยากได้ตัวอย่าง access การทำ running number แบบ ปี เดือน รันเลข 3 ตำแหน่ง มือใหม
โพสต์นี้ได้รับคำขอบคุณจาก: MAKI

16
ต้องใช้ฟอร์มกับคิวรี่ร่วมกันครับ
โพสต์นี้ได้รับคำขอบคุณจาก: MAKI

หน้า: [1]