แสดงกระทู้

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] 5 6 7 ... 20
49
ห้อง MS Access / : การสร้างหน้า Login ใน MS Access
« เมื่อ: 14 เม.ย. 63 , 14:05:47 »
จากตัวอย่างที่ผมทำให้ดูทำได้หรือไม่ครับ ?
ถ้าส่วนอื่นๆ ผมไม่เห็นขั้นตอนการกำหนดค่า
คงต้อง Remote ไปดูครับ
ใช้ Anydesk ครับ
ส่งมาทางข้อความได้เลยครับ

50
ห้อง MS Access / : การสร้างหน้า Login ใน MS Access
« เมื่อ: 14 เม.ย. 63 , 12:03:25 »
ลองดูตัวอย่างนี้ครับ เป็นการกำหนดเงื่อนไขการแสดงรายการของ คอมโบบ๊อก โดยให้ดึงมาแสดงเฉพาะรายการที่เกี่ยวข้องกับส่วนอื่นๆ ที่ต้องอยู่ในกลุ่มเดียวกัน
คล้ายๆกับการกำหนด จังหวัด อำเภอ ตำบล หมู่บ้าน จากตัวอย่างก่อนๆ ครับ

 

51
ในหน้าฟอร์มหากเราดับเบิ้ลคลิกที่ไตเติ้ลบาร์ฟอร์มก็จะย่อหดลงมา แต่ผมต้องการให้ดับเบิ้ล์คลิกที่ไตเติ้ลบาร์แล้วไม่ให้หน้าต่างมันย่อมาน่ะครับ ต้องทำอย่างไรบ้าง หากไม่ใช้ You can change the Border Style property of the form to Dialog. ครับ ขอบคุณมากครับ

ลองดูแบบนี้ครับใช้ใน Event Form_Load
วิธีการนี้คือ สั่งให้แสดงแบบเต็มหน้าจอ แล้วสร้างตัวแปรเก็บค่าไว้ เมื่อเก็บค่าไว้แล้วก็สั่ง Restore แล้วใช้การแสดงฟอร์มจากค่าตัวแปรที่เก็บค่าไว้แทน
ซึ่งจะทำให้ฟอร์มแสดงผลอยู่แบบนั้นไม่สามารถกดย่อได้อีกนั้นเอง :cool: :cool:

โค๊ด: [Select]
Private Sub Form_Load()
Dim lngWH As Long, lngWL As Long, lngWT As Long, lngWW As Long
    With Me
        DoCmd.Maximize
        lngWT = .WindowTop
        lngWL = .WindowLeft
        lngWH = .WindowHeight
        lngWW = .WindowWidth
        DoCmd.Restore
        Call .Move(lngWL, lngWT, lngWW, lngWH)
    End With
End Sub

52
ห้อง MS Access / : การสร้างหน้า Login ใน MS Access
« เมื่อ: 14 เม.ย. 63 , 08:31:09 »
ตรง Division กับ Location ผมไม่แน่ใจว่าสร้างความสัมพันธ์กันแบบไหน

ถ้าแบบดิบๆ เลยก็แบบนี้ครับ

53
ต่อประโยคผิด คอมมา(,) ใส่ไม่ครบ

จริงด้วยครับหลายจุดเลย  :XD: :XD:

54
 DoCmd.RunSQL "INSERT INTO qryLean([SCGEmployeeID],[NamePrefixThai],[FirstNameThai],[LastNameThai],[NamePrefixEng],[FirstNameEng],[LastNameEng]," & _
        "[NickName],[Position],[SubShift],[Shift],[SubSection],[Section],[SubDepartment],[Department],[SubDivision],[Division],[SubCompany],[Company],[Birthdate]," & _
        "[SCGHiringDate],[SystemDateTime],[ImagePath],[Selection])" & _
        "SELECT qryHRDWH.SCGEmployeeID, qryHRDWH.NamePrefixThai, qryHRDWH.FirstNameThai, qryHRDWH.LastNameThai, qryHRDWH.NamePrefixEng" _
        & "qryHRDWH.FirstNameEng, qryHRDWH.LastNameEng, qryHRDWH.NickName, qryHRDWH.Position, qryHRDWH.SubShift, qryHRDWH.Shift, qryHRDWH.SubSection" _
        & "qryHRDWH.Section, qryHRDWH.SubDepartment, qryHRDWH.Department, qryHRDWH.SubDivision, qryHRDWH.Division, qryHRDWH.SubCompany, qryHRDWH.Company" _
        & "qryHRDWH.Birthdate, qryHRDWH.SCGHiringDate, qryHRDWH.SystemDateTime, qryHRDWH.ImagePath, qryHRDWH.Selection" & _
        "
FROM qryHRDWH Where qryHRDWH.Selection = -1"

ต่อประโยคผิดเปล่าครับ
มันต้อง ................" _
 แล้วก็ & "............."
หรือเปล่า

55
ห้อง MS Access / : บังคับให้ Run Notepad Full Screen
« เมื่อ: 03 เม.ย. 63 , 12:07:58 »
    Shell "Notepad.exe " & "D:\Warning.txt", vbNormalFocus
เปิดแล้ว บังคับให้เต็มเจอครับ 
มี Code ที่ทำให้เต็มเจอไหม

ใช้โค้ดอีกหน่อย
โค๊ด: [Select]
Shell "Notepad.exe " & "D:\Warning.txt", vbNormalFocus
Set oShell = CreateObject("WScript.Shell")
oShell.SendKeys "% x"

56
ชื่อ textbox ที่ระบุเลขประจำตัวประชาชนชื่อ label3 หรอครับตรวจสอบตรงนี้ด้วย
ชื่อตารางที่ตรวจสอบชื่อ Farmer หรือไม่
ชื่อฟิลล์ Person_Code ดูชื่อว่าตรงหรือไม่

57
ใช้ Function Replace ช่วยครับ

Private Sub TextboxName_AfterUpdate()
Dim strWord As String
If Not IsNull(Me.TextboxName) Then
strWord = Me.TextboxName
Me.TextboxName1 = Replace(Replace(Replace(strWord, "*", ""), "/", ""), "?", "")
End If
End Sub

58
ถ้าต้องการให้กรอกเฉพาะภาษาไทย หรือ กรอกเฉพาะภาษาอังกฤษ  ครับ

ทำแบบข้างบนละครับ ว่าเราต้องการคีย์ไหนบ้าง ถ้ามันอยู่เรียงกันก็ใช้ >= and <=  เพื่อลดจำนวนโค้ดได้ ถ้าอยู่ห่างๆกันใช้ Or มาช่วย
ถ้าอยากรู้ว่าตัวอักษรภาษาไทย ที่เรากดนั้น KeyAscii เลขอะไรก็ใส่โค้ดแบบนี้

Private Sub TextBoxName_KeyPress(KeyAscii As Integer)
     MsgBox KeyAscii
End Sub

แล้วจดไว้เพื่อนำมาเข้าเงื่อนไข ที่ต้องการ

59


ผมสมมุติบนฟอร์มมี textbox เก็บ ไอดีชื่อ txtID
มีฟิลล์ ID เป็น Primary Key

ที่แหลงควบคุม หรือ ControlSource ของ textbox ที่โชว์ตัวเลข ใส่โค้ดแบบนี้เข้าไปเช่น
=DLookUp("[Estimated TonCO2/Year]","[Q_0KADAIQ1]","[ID] =" & [txtID] & "")

โดยท่านต้องไปดูว่า Primary key ของคิวรี่นั้นตั้งไว้ชื่ออะไร datatype แบบไหน ถ้าแบบตัวเลขใช้ข้างบนได้เลย
ถ้าเป็นแบบตัวอักษร ใช้
=DLookUp("[Estimated TonCO2/Year]","[Q_0KADAIQ1]","[ID] ='" & [txtID] & "'")

60
เราจะเขียนโค๊ดอย่างไร เพื่อให้ใน textbox ไม่ให้พิมพ์ตัวอักษรต้องห้ามในการตั้งชื่อไฟล์ เช่น / * ? ครับ
สีแดงคือชื่อ textbox นะครับ
KeyAscii = 47 คือ /
KeyAscii = 42 คือ *
KeyAscii = 63 คือ ?


Private Sub TextboxName_KeyPress(KeyAscii As Integer)
If (KeyAscii = 47 Or KeyAscii = 42 Or KeyAscii = 63) Then
        KeyAscii = 0
        Else
        KeyAscii = KeyAscii
 End If
End Sub

ุถ้าอยากจะเพิ่มคีย์อื่นๆ อีกก็ดู ASCII Characters ในเว็บนี้ครับ
https://bettersolutions.com/vba/strings-characters/ascii-characters.htm link


61
เอาโค้ดมาดูนะครับ
ว่ามีตรงไหน ทำงานซ้ำซ้อน หรือเปล่า หรือการอ้างอิงต่างๆ อาจจะขัดแย้งกัน
ต้องดูโค้ดครับ

62
ต้องการใช้คำสั่ง requery หลังจากอัปเดตข้อมูลในซับฟอร์ม จาก ฟอร์มหลักค่ะ
แบบที่คุณ UnKnown บอกเลยครับ

เป็นการใช้คำสั่ง  ต่อส่วนท้าย แบบนี้ก็ได้ครับ

โค๊ด: [Select]
Forms![ชื่อฟอร์มหลัก].Form.[ชื่อซัพฟอร์ม].Requery

63
อ้างถึง
ตอนผมจะเข้าไปแก้โค้ด ปรากฏว่าโปรแกรม มีอาการค้าง ไม่แน่ใจว่าตอนท่านแก้มีอาการค้างๆ หน่วงๆบ้างไหมครับ
ถ้าเปน เกิดจากการที่ผมโค้ดมัน จนมันทำงานหนักไปรึเปล่าครับ เท่าที่ท่านเหน

ไม่เจออาการหน่วงครับ

64
ข้อ 1 แก้เป็น
โค๊ด: [Select]
Private Sub SearchCombo()
    Dim sql As String
    sql = "SELECT * FROM tblWorkforceY2020 WHERE (((tblWorkforceY2020.DepartmentID)=[forms]![frmWorkforce]![cbSearch1]) AND  ((tblWorkforceY2020.SectionID)=[forms]![frmWorkforce]![cbSearch2]));"
    Forms!frmWorkforce.RecordSource = sql
    Forms!frmWorkforce.Requery
End Sub

หรือแบบนี้
โค๊ด: [Select]
Dim sql As String
     sql = "SELECT * FROM qryWorkforceY2020 WHERE [DepartmentID]=" & Me.cbSearch1 & " AND [SectionID]=" & Me.cbSearch2 & ""

    Forms!frmWorkforce.RecordSource = sql
    Forms!frmWorkforce.Requery

ข้อ 1 แนะนำให้ใช้แบบนี้
โค๊ด: [Select]
Private Sub SearchCombo()
    Dim sql As String
    sql = "SELECT * FROM qryWorkforceY2020 WHERE [DepartmentID] Like '" & Nz(Me.cbSearch1, "*") & "' AND [SectionID] Like '" & Nz(Me.cbSearch2, "*") & "' AND [ShiftID] Like '" & Nz(Me.cbSearch3, "*") & "'"
    Forms!frmWorkforce.RecordSource = sql
    Forms!frmWorkforce.Requery
End Sub
Private Sub cbSearch1_AfterUpdate()
    SearchCombo
End Sub
Private Sub cbSearch2_AfterUpdate()
    SearchCombo
End Sub
Private Sub cbSearch3_AfterUpdate()
  SearchCombo
End Sub

ข้อที่ 2 แก้เป็นแบบนี้
โค๊ด: [Select]
DoCmd.OpenReport "rptCard1", acViewPreview, , "[Fulltime]='Fulltime' AND [CreateID] = " & Forms!frmCreateCard!txtCreateID

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