แสดงกระทู้

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 ... 12 13 14 [15] 16 17 18 ... 32
253
NAVIGATION BOTTON กำหนดเป็น NO
โพสต์นี้ได้รับคำขอบคุณจาก: oraaoi

254
ที่การตั้งค่าฟอร์มย่อย ให้ตั้งค่าตามภาพ



ตรงปุ่มนำทาง ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: oraaoi

255
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 ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: chai

256

ใช้การสร้าง 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)
สามารถกำหนดค่าตามรูปด้านล่างได้เลยครับ




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


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

257
ขอบคุณมากครับ  ถ้าเราจะ เปลี่ยนสีตัวอักษรด้วยต้องเพิ่มยังไงบ้างครับ
ใช้ .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

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

258
รบกวนสอบถามพี่ๆ ครับ จำตรวจสแบจำนวนข้อมูลตัวอักษรใน 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
โพสต์นี้ได้รับคำขอบคุณจาก: Jirawat Kamprow

259
ปกติจะใช้ 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
โพสต์นี้ได้รับคำขอบคุณจาก: napat2020

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

แนะนำขึ้นโพสใหม่เลยดีกว่าครับ
โพสต์นี้ได้รับคำขอบคุณจาก: mtaccess

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

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

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

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


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

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

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

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

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

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

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


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

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

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
โพสต์นี้ได้รับคำขอบคุณจาก: Kxess

267
เป็นเพราะ Format วันที่ ไม่ตรงกันหรือเปล่าครับ
ขอดูฟอแมทวันที่จากฐาน SQL Server มาดูหน่อย
(ผมไม่ได้อยู่ตอบมาอีกทีวันจันทร์นะครับ ไปทริปตกปลาทะเล)

ลองรีเช็คเรืองฟอแมทวันที่ให้ตรงกันนะครับ
 
โพสต์นี้ได้รับคำขอบคุณจาก: mtaccess

268
อ้างถึง
ลองทำในตัวอย่างแล้วใช้ได้ เดี๋ยวจะลองนำไปใช้กับงานจริงดูค่ะ

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

269
ลองดูนะครับ
คุณต้องไปสร้าง Floder ชื่อ upload ไว้ Drive C: ก่อนเน้อ
อัพเดทโค้ดให้ใหม่นะครับ ไม่ต้องสร้างTableเพิ่ม  และลบCriteria ใน Query ออกไปใช้การกำหนด Criteria ตอนเปิด Recordset แทน

โค้ด
โค๊ด: [Select]
Private Sub Command8_Click()
    Dim rsGroup As DAO.Recordset
    Dim EmployeeCode As String, myPath As String

  myPath = "C:\upload\"
 

  Set rsGroup = CurrentDb.OpenRecordset("SELECT * FROM QueryForReportCertification where Cstr([TrainingEndDate])='" & CStr(Forms!frmSearchCertificate!txtApplyDate) & "'")
 
  Do While Not rsGroup.EOF
  EmployeeCode = rsGroup!EmployeeCode
 
    DoCmd.OpenReport "ReportCertificationNew", acViewPreview, , "EmployeeCode='" & EmployeeCode & "'"
    DoCmd.OutputTo acOutputReport, "ReportCertificationNew", acFormatPDF, _
                            myPath & EmployeeCode & ".pdf", False
 
DoCmd.Close acReport, "ReportCertificationNew"

 rsGroup.MoveNext
 Loop

 rsGroup.Close
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: mtaccess

270
ทำได้อยู่แล้วครับ
ในรถแต่ล่ะคัน  มี  TruckNo เอามาอ้างอิงได้เลยครับ


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

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

หน้า: 1 ... 12 13 14 [15] 16 17 18 ... 32