แสดงกระทู้

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

หน้า: [1] 2 3 4 ... 29
1
ห้อง MS Access / : ปิดการทำงานของตัวเลื่อน Record ใน SubForms ค่ะ
« เมื่อ: เมื่อวานนี้ เวลา 15:21:53 »
NAVIGATION BOTTON กำหนดเป็น NO

2
ห้อง MS Access / : ปิดการทำงานของตัวเลื่อน Record ใน SubForms ค่ะ
« เมื่อ: เมื่อวานนี้ เวลา 15:03:16 »
ที่การตั้งค่าฟอร์มย่อย ให้ตั้งค่าตามภาพ



ตรงปุ่มนำทาง ครับ

3
Private Sub Command0_Click()
Dim strEvent As String
    strEvent = InputBox("ระบุค่า", "รหัสผ่าน!!!!")
    If StrPtr(strEvent) = 0 Then  'เช็คกรณีกด Cancel
                MsgBox "มีการกด Cancel นะ"
        Exit Sub
                     
    ElseIf strEvent = vbNullString Then 'ใช้เช็คกรณีไม่ได้ระบุข้อมูลแล้วกด OK
        MsgBox ("คุณไม่ได้ระบุค่า!")
        End If

End Sub

ใช้ StrPtr() ในการตรวจสอบการกด Cancel ครับ

4
ถ้าแสดงบนฟอร์มหรือรายงานทำได้ง่ายกว่าครับ
แต่แสดงในคิวรี่โดยตรง ทำยากเหมือนกันผมก็ยังหาวิธีที่ได้ลำดับที่ถูกต้องยังไม่ได้เหมือนกัน

ส่วนแสดงในฟอร์ม
มีแบบนี้อีกวิธีครับ
https://www.thai-access.com/index.php?topic=331.msg1345#msg1345

ส่วนลำดับในรายงานใช้แบบนี้ก็ได้
https://www.thai-access.com/topic_post.asp?CategoryID=1&TopicID=2730


5
งั้นลองดูแบบนี้ Dcount


6

ใช้การสร้าง HeadGroup นะครับ
ใช้การตัดสระโดย Replace()

โค้ด
SELECT Table1.CustomerName, Left(Replace(Replace(Replace(Replace(Replace([CustomerName],"เ",""),"แ",""),"ไ",""),"ใ",""),"โ",""),1) AS GroupString, *
FROM Table1
ORDER BY Left(Replace(Replace(Replace(Replace(Replace([CustomerName],"เ",""),"แ",""),"ไ",""),"ใ",""),"โ",""),1);

กรณีถ้าอยากให้แต่ละตัวอักษรแยกหน้าออกไปเช่น หน้าที่ 1 หมวดอักษร ก หน้าที่ 2 หมวดอักษร ข
(แสดงผลในมุมมองเหมือนพิมพ์หรือ Print Preview Mode)
สามารถกำหนดค่าตามรูปด้านล่างได้เลยครับ




ลองดูตัวอย่างครับ



7
ขอบคุณมากครับ  ถ้าเราจะ เปลี่ยนสีตัวอักษรด้วยต้องเพิ่มยังไงบ้างครับ
ใช้ .ForeColor ครับ
ส่วนการกำหนดค่าสีใช้ได้หลายแบบเช่น
Me.textboxName.ForeColor = RGB(0,0,0) 'สีดำ
Me.textboxName.ForeColor = RGB(255,0,0) 'สีแดง
Me.textboxName.ForeColor = RGB(0,255,0) 'สีเขียว
Me.textboxName.ForeColor = RGB(0,0,255) 'สีน้ำเงิน
Me.textboxName.ForeColor = RGB(255,255,0) 'สีเหลือง
ฯลฯ อยากได้สีอื่นๆ ลองค้นหาคำว่า RGB Color For VBA ในGoogleนะครับ

หรือใช้ Vb.... ตามด้วยชื่อสี
ตัวอย่าง

If Len(Me.textboxName) = "10" Then
MsgBox "ครบจำนวน"
Me.textboxName.ForeColor = vbBlack
ElseIf Len(Me.textboxName) < 10 Then
MsgBox "จำนวนน้อยเกินไป"
Me.textboxName.ForeColor = vbRed
ElseIf Len(Me.textboxName) > 10 Then
MsgBox "เกินจำนวนที่กำหนด"
Me.textboxName.ForeColor = RGB(255,0,0)
End If


8
รบกวนสอบถามพี่ๆ ครับ จำตรวจสแบจำนวนข้อมูลตัวอักษรใน textbox แล้วขึ้น msg โชว์ ว่า ครบจำนวน และ ไม่ครบจำนวน รบกวนพี่ๆ แนะนำ code ด้วยน่ะครับ
สมมุติว่าตรวจสอบว่าครบ 10 ตัวอักษรหรือไม่
โดยตรวจสอบถาม textbox ชื่อ textboxName

IF Len(Me.textboxName) = "10" then
msgbox "ครบจำนวน"
elseIF Len(Me.textboxName) <10 then
msgbox "จำนวนน้อยเกินไป"
elseIF Len(Me.textboxName) >10 then
msgbox "เกินจำนวนที่กำหนด"
end if

9
ปกติจะใช้ single quote แต่จะอ้างอิง ตัว control ไม่ใช้ Field แต่ลองดูว่าได้หรือไม่
If Not (Me.frmBaseGoodsSub.Form.Recordset.EOF And Me.frmBaseGoodsSub.Form.Recordset.BOF) Then
        If MsgBox(" Are you sure to delete?", vbYesNo) = vbYes Then
            CurrentDb.Execute "DELETE FROM tblBaseGoods " & _
            " WHERE bsCode='" & Me.frmBaseGoodsSub.Form.Recordset.Fields("bsCode") & "'"


ปกติผมจะใช้

If MsgBox(" Are you sure to delete?", vbYesNo) = vbYes Then
            CurrentDb.Execute "DELETE FROM tblBaseGoods " & _
            " WHERE bsCode='" & Forms![ชื่อฟอร์มหลัก]!frmBaseGoodsSub!txtbsCode & "'"
            Forms![ชื่อฟอร์มหลัก]!frmBaseGoodsSub.Requery 'ให้แสดงรายการใหม่หลังจากลบไป
End If


txtbsCode
คือ textbox ที่ Bound Field bsCode

10
อ้างถึง
ถ้าเราจะให้บันทึกลงใน google drive ตามลิงค์ที่เรามี สามารถทำได้ไหมคะ รบกวนแนะนำด้วยค่ะ ขอบคุณค่ะ

แนะนำขึ้นโพสใหม่เลยดีกว่าครับ

11
เหมือนมีรูปซ้อนกันสองรูปมีรูปที่เป็นพื้นหลัง 1 และรูปที่เป็นลายเซ็นต์ 1

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

หรือลองลบรูปที่เป็นพื้นหลังออกไปก่อนครับ ว่าแสดงหรือไม่

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



13
ในคิวรี่ ฟอแมท ฟิลล์ TrainingEndDate ก่อนนะครับ
เอาโค้ดนี้ไปวางในฟิลล์นะครับ
Dates: Format([TrainingEndDate],'dd/mm/yyyy')

14
ชื่อฟิลล์ผิดครับ
Dates คือฟิลล์  TrainingEndDate อันเดิมของคุณครับ
ที่ผมต้องเปลี่ยนชื่อเป็น Dates เพื่อทำการฟอแมทเป็น Dates: Format([TrainingEndDate],'dd/mm/yyyy')
ลองส่งรูปแสดงชื่อฟิลล์ในคิวรี่ มาดูหน่อย
และโค้ดที่ใส่ไว้ตอน OpenRecord ด้วยครับ

15
ต้องฟอแมทวันที่ให้ตรงกันกับ textbox ที่ใช้ในการค้นหาก่อนครับ

ที่คิวรี่ปรับฟอแมทเป็นแบบนี้ดูครับ
Dates: Format([TrainingEndDate],'dd/mm/yyyy')

และที่ โค้ดใส่แบบนี้
Set rsGroup = CurrentDb.OpenRecordset("SELECT * FROM QueryForReportCertification where Cstr([Dates])='" & CStr(Forms!frmSearchCertificate!txtApplyDate) & "'")

และแก้ฟิลล์ที่ตัวรายงาน ที่เป็นฟิลล์ TrainingEndDate เป็น Dates ทั้งหมด


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

16
น่าจะประมาณนี้ครับ

Private Sub CmbDeleteFromRejected_Click()
Dim sql As String
sql = "UPDATE Personal_Contacts SET Personal_Contacts.PC_EMAIL = Null WHERE (((Personal_Contacts.PC_EMAIL) In (select EMAIL from [Rejected_Emails])));"
DoCmd.SetWarnings False
DoCmd.RunSQL sql
DoCmd.SetWarnings True
End Sub

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