แสดงกระทู้

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 ... 19 20 21 [22] 23 24 25 ... 32
379
ห้อง MS Access / : การสร้างหน้า Login ใน MS Access
« เมื่อ: 15 เม.ย. 63 , 15:33:52 »
ปรับใหม่ให้แบบนี้นะครับ ใช้การสร้าง Combobox แล้วกำหนดให้แสดงรายการแทน PK
โพสต์นี้ได้รับคำขอบคุณจาก: mtaccess

380
เขาปิดตรง อนุญาตให้เพิ่ม  = ไม่ใช่ครับ
พอ combobox ว่างก็จะไม่แสดง ข้อมูล
ลองเช็คการตั้งค่าของ Subform แบบในรูปดูนะครับ



และดูตรงการตั้งค่าการเชื่อมโยงข้อมูล เขาใช้การเชื่อม รหัสประจำตัวประชาชน จาก textbox ชื่อ search_text ซึ่งเขาได้ซ่อนเอาไว้ในฟอร์ม
โดยเขาได้กำหนดให้ Event ของคอมโบบ๊อกที่ชื่อ by_oname เป็น  Me![search_text] = Me![by_oname].Column(1)
ทำให้ textbox search_text จะได้เลขรหัสบัตรประจำตัวประชาชน แล้วนำมาเชื่อมกับ Field ID_POSIT เพื่อให้ข้อมูล subform แสดงเนื้อหาตาม combobox ที่เราใช้

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

381
น่าจะเป็นการสร้างกรอบ สีเทาไว้พื้นหลังเฉยๆ ครับ แล้วซ่อน subform ไว้ จะให้แสดงเมื่อคอมโบบ๊อก อัพเดท


ไม่แน่ใจแบบนี้ไหมนะครับ
จากตัวอย่างถ้า combobox ว่างจะแสดงเป็นสีเทา

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

382
ห้อง MS Access / : การสร้างหน้า Login ใน MS Access
« เมื่อ: 15 เม.ย. 63 , 09:00:07 »
ตรง Subform ใส่โค้ดนี้ที่ RecordSource ตามนี้ครับ
โค๊ด: [Select]
SELECT Employee.ID, Employee.EmployeeCode, Employee.EmployeeName, Employee.EmployeeDivision, Employee.EmployeeLocation FROM Employee WHERE (((Employee.EmployeeDivision)=forms!form1!comboDivision) And ((Employee.EmployeeLocation)=forms!form1!comboLocation));
โพสต์นี้ได้รับคำขอบคุณจาก: mtaccess

383
ห้อง MS Access / : การสร้างหน้า Login ใน MS Access
« เมื่อ: 14 เม.ย. 63 , 14:56:55 »
จากตัวอย่างที่ผมทำให้ดูทำได้หรือไม่ครับ ?
ถ้าส่วนอื่นๆ ผมไม่เห็นขั้นตอนการกำหนดค่า
คงต้อง Remote ไปดูครับ
ใช้ Anydesk ครับ
ส่งมาทางข้อความได้เลยครับ

ทำได้แล้วค่ะ ลองไป Copy code จากตัวอย่างที่ส่งมาแล้วไปแก้ไข สามารถใช้ได้แล้วค่ะ ขอบคุณมากๆนะคะ

สาเหตุที่เกิด ERROR นั้นเพราะ มีการใช้คำสั่ง Docmd.close เพื่อปิดฟอร์ม หน้าจอล๊อกอิน ครับ
ต่อมาพอเราต้องการอ้างอิง ข้อมูลจาก textbox หรือ combobox ของฟอร์มล๊อกอิน ก็ไม่สามารถทำได้แล้วเพราะเราสั่งปิดฟอร์มไปแล้วครับ

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

384
ขอบคุณทุกท่านครับ เดี๋ยวผมไปแก้อีกที
ขอถามเพิ่มครับ ตรงบรรทัดนี้

    If IsNull(Me.txtSCGEmployeeID) Then
        Me.txtSelection.Value = 0


เนื่องจากปุ่มนี้อยู่ใน Subform ถ้าผมทำปุ่มไว้ข้างนอก Mainform ให้อ้างมาถึง Subform ได้
ผมจะเขียน Code เพื่ออ้างอิงมาที่ Subform นี้ได้อย่างไรครับ
ขอบคุณครับ

if IsNull(Me.txtSCGEmployeeID) Then
        Forms![ชื่อMainform]![ชื่อSubform].Form!txtSelectionValue = 0
end if
โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin

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

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

386
ในหน้าฟอร์มหากเราดับเบิ้ลคลิกที่ไตเติ้ลบาร์ฟอร์มก็จะย่อหดลงมา แต่ผมต้องการให้ดับเบิ้ล์คลิกที่ไตเติ้ลบาร์แล้วไม่ให้หน้าต่างมันย่อมาน่ะครับ ต้องทำอย่างไรบ้าง หากไม่ใช้ 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
โพสต์นี้ได้รับคำขอบคุณจาก: phathako

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

ถ้าแบบดิบๆ เลยก็แบบนี้ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: mtaccess

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

จริงด้วยครับหลายจุดเลย  :XD: :XD:
โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin

389
 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"

ต่อประโยคผิดเปล่าครับ
มันต้อง ................" _
 แล้วก็ & "............."
หรือเปล่า
โพสต์นี้ได้รับคำขอบคุณจาก: Tatchawin

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

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

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

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

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

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

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

394


ผมสมมุติบนฟอร์มมี 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] & "'")
โพสต์นี้ได้รับคำขอบคุณจาก: เก่ง

395
เราจะเขียนโค๊ดอย่างไร เพื่อให้ใน 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

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

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

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

หน้า: 1 ... 19 20 21 [22] 23 24 25 ... 32