แสดงกระทู้

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 - พิชญะ ชัยชนะ

หน้า: [1]
1
ขอบคุณมากๆเลยครับ ทำได้แล้วครับ

2
ปัจจุบันผมได้เขียนหน้า log in form โดยใช้ code ตามด้านล่าง
ในตาราง userandpass จะมีท้้งหมด 3 field คือ
ีusername
password
fullname

โดยเขียนว่าเมื่อ user ใส่ id และ pass ระบบจะ dlookup หาชื่อจริง (fullname) เอามาแสดงบน form หลัก 1 ฟอร์ม ในที่นี้ชื่อว่า home page
จากนั้นผมกำหนดให้ form อื่นๆแสดงชื่อจริงของ user ที่กำลังใช้งานจาก home page
ปัญหาคือ หากมีการปิดฟอร์มที่ชื่อ home page ไปฟอร์มอื่นๆจะไม่สามารถแสดงชื่อ current full name ได้

เข้าใจว่าควรจะต้องใช้วิธีประกาศตัวแปรใน module ให้ module เก็บค่า current user ไว้จากนั้นฟอร์มไหนจะดึงข้อมูลตรงนี้ไปใช้ก็ได้แม้ว่าจะปิดฟอร์ม home page แล้ว
แต่ในแง่ของวิธีการ เท่าที่ search ดูยังหาที่เอามาลองทำไม่ได้ เลยขอคำแนะนำหน่อยครับ
ขอบคุณครับ
----------------------------------------
Private Sub Command1_Click()
If Me.Dirty Then Me.Dirty = False
If IsNull(Me.txtLoginId) Then

    MsgBox "please enter loginID", vbInformation, "login ID require"
    Me.txtLoginId.SetFocus
   
ElseIf IsNull(Me.txtPassword) Then

    MsgBox "please enter password", vbInformation, "login ID require"
    Me.txtPassword.SetFocus

Else

    If (IsNull(DLookup("[username]", "userandpass", "[username] ='" & Me.txtLoginId.Value & "'  And password = '" & Me.txtPassword.Value & "'"))) Then
        MsgBox "incorrect id or password"
    Else
        'MsgBox "correct :)"
        strfullname = DLookup("[fullname]", "userandpass", "[username] ='" & Me.txtLoginId.Value & "'And password = '" & Me.txtPassword.Value & "'")
        MsgBox "Welcome " & strfullname
        DoCmd.Close
        DoCmd.OpenForm "home page"
        Forms![home page]![user] = strfullname
       
       
    End If
   
End If
End Sub
----------------------------------------

3
โหต้องขอขอบคุณๆPNRมากเลยครับ อธิบายพร้อมแนบตัวอย่างๆละเอียดเลย

4
subform ของ corss tab query
รบกวนสอบถามเรื่อง subform ของ corss tabquery ครับ
กรณีที่เราทำ cross tabquery เข้าใจว่าAccess จะ update ข้อมูลใหม่เสมอ
เช่นหาก column ใดไม่มีข้อมูลแล้ว column นั้นๆจะหายจาก query โดยอัตโนมัติ



แต่กรณีเอา cross tabquery นั้นมาทำ subform subform จะไม่สามารถ update
เอา column ที่ไม่มี data ออกไปได้ผลคือ subform จะแสดง column ดังกล่าวแล้วแสดง
ค่า error ภายใน column



ถ้าจะกำหนดให้ Form มีความ dynamic skip column ที่ไม่มีข้อมูลแล้วเหมือนกับ query
พอจะมีแนวทางใดทำได้บ้างไหมครับ รบกวนแนะนำ
ขอบคุณครับ

.TRANSFORM Count([check urgent_Crosstab].[part no]) AS [CountOfpart no]
SELECT [check urgent_Crosstab].supp4, Count([check urgent_Crosstab].[part no]) AS [Total Of part no]
FROM [check urgent_Crosstab]
GROUP BY [check urgent_Crosstab].supp4
PIVOT [check urgent_Crosstab].[request round];


5
ขอบคุณมากครับ เพิ่งหัดทำ access มาสามสี่เดือนยังไม่เคยใช้ or เลยเดี๋ยวลองดูครับ

6
ตอนนี้ผมกำลังกำหนดให้ query นึงๆ มีชื่อนักเรียน มีวันWeekday ที่มีเรียน
อาทิตย์ ถึง เสาร์ weekday ละ 1 คอลัมเลยบางคนเรียน วันจันทร์ อย่างเดียว
บางคนเรียน พุธอย่างเดียว

สิ่งที่ผมทำคือสร้าง formที่มี subform ของ query ดังกล่าว แล้วกำหนดให้ query แสดงผลตาม control ของฟอร์ม
เช่นถ้าติ้กที่ช่องวันอังคารในฟอร์ม ก็จะเห็นนักเรียนที่มาวันอังคารอย่างเดียวประมาณนี้
Like [Forms]![attend Query]![Saturday]


ซึ่งฟอร์มก็ทำงานได้ แต่จะมีปัญหาคือถ้านักเรียนคนดังกล่าว
เรียนวันจันทร์ด้วยการติ้กแค่วันอังคาร หรือจันทร์อย่างเดียวจะทำให้ไม่เห็นนักเรียน
คนดังกล่าว ต้องติ้กทั้งสองวัน ถึงจะเห็นนักเรียนคนนี้



รบกวนสอบถามว่าจะมีวิธีการสร้าง condition อย่างไรดี
ให้ query มันเลือกfilter ทีละวันได้น่ะครับ ขอบคุณล่วงหน้าครับ -/\-

7
Dim sql As String

sql = "SELECT * FROM [ชื่อตาราง] WHERE std name] like '" & Nz(Me.[ชื่อเท๊กบ๊อก],"*") & "'"
Forms![attend query]![regist query subform].Form.RecordSource = sql
   

พิมพ์จากโทรศัพย์ยังไม่ได้ทดสอบลองดูนะครับ

ขอบคุณมากๆเลยครับ เดี๋ยวไปลองทำดูครับ

8
ปกติผมมักจะทำ access form เป็นรูปแบบของ split form ที่สามารถทำ function ได้ง่ายมากจากฟังก์ชั่น Docmd applyfilter
และใส่ criteria ได้สารพัดอย่างเลย แต่พอมาถึงตอนของ subform เริ่มไม่ง่ายเหมือนเดิมละ
จะรบกวนสอบถามครับว่าปกติแล้วถ้าเราวาง กล่อง search ข้อความ บน main form และสร้างปุ่ม search
เราสามารถใช้ Docmd apply filter ได้หรือไม่ครับ ถ้าไม่ได้จะสามารถใช้วิธีการใดได้บ้างครับ

ลอง search กระทู้แล้วเหมือนมีการแนะนำให้ไปอ่านอีกกระทู้นึง แต่กระทู้นั้นหายไปแล้วครับ

ิส่งที่ลองแล้วไม่ได้ผลครับ
Private Sub searchtxt_Click()
DoCmd.ApplyFilter "", "[forms]![attend query]![se1] like '*'& [regist query subform]![std name]![forms]![attend query]&'*'", ""
End Sub



ขอบคุณล่วงหน้าครับ-/\-

9
อันนี้ SQL ของ Corsstab query ครับ

TRANSFORM Count([check urgent].id) AS CountOfid
SELECT [check urgent].[request round], [check urgent].suppliers, [check urgent].[part no], Count([check urgent].id) AS [Total Of id]
FROM [check urgent]
GROUP BY [check urgent].[request round], [check urgent].suppliers, [check urgent].[part no]
PIVOT [check urgent].importer;

10


ลองเช็ค field ของ crosstab query แล้วก็มีชื่อ field ที่ต้องการแล้ว เลยไม่แน่ใจว่าติดที่ตรงไหนกันน่ะครับ

11
รบกวนสอบถามครับทางผมทำ Query จาก table แล้วทำ Crosstab query จาก query ดังกล่าว ได้ผลอย่างที่ตั้งใจแล้ว
จาก item ที่ซ้ำกันจำนวนเยอะๆ


ทำแล้วจำนวน item ลดลงและแสดงผลถูกแล้วครับ



ทีนี้จะทำ form เพื่อให้ user สามารถ search ได้ง่ายๆแต่เจอ error ดังนี้ครับ

Run-time rror'3070:
The Microsoft Access database engine does not
recognize'[Forms]![Check urgent_Crosstab]![se1]'
as a valid field name or expression.

อันนี้เป็น code vba ที่ใช้ทำ search box ครับ


Run-time rror'3070:
The Microsoft Access database engine does not
recognize'[Forms]![Check urgent_Crosstab]![se1]'
as a valid field name or expression.

ใครมีประสบการณ์แก้ไขได้รบกวนแนะนำครับ

12
ถามเองตอบเองแก้ไขได้แล้วครับ
ตอนแรกเป็นแบบนี้
Option Compare Database

Option Compare Database

Private Sub clear_Click()
Me.Filter = ""
Me.FilterOn = False
Me.se1 = ""
Me.se2 = ""
Me.se3 = ""
Me.se4 = ""
Me.se5 = ""
Me.se6 = ""
Me.se7 = ""
Me.Frame436 = ""
Me.se8 = ""
End Sub

Private Sub txtsearch1_Click()
DoCmd.ApplyFilter "", "[req2]![importer] Like '*' & [Forms]![req2]![se1] & '*'", ""
End Sub

นั้นคือมีคำว่า
Option Compare Database
ซ้ำกัน 2 อันต้องลบออก ให้เหลืออันเดียว - -"

13
รบกวนสอบถามเรื่องการทำ Form และทำช่อง Search สำหรับ Query
ก่อนหน้านี้ผมทำ Form สำหรับ Table และทำช่องใส่ข้อความสำหรับกด Search ประมาณนี้

ชื่อปุ่ม txtsearch
ตารางtable คือ req2
ฟอร์ม req2
ช่องที่กรอกชื่อ se1

Private Sub txtsearch_Click()
DoCmd.ApplyFilter "", "[req2]![importer] Like '*' & [Forms]![req2]![se1] & '*'", ""
End Sub

แต่พอเปลี่ยนจากฐานข้อมูลที่เป็น table มาเป็น query ที่ชื่อก็ไม่ได้ซ้ำกันกับ table ปรากฏว่าข้อความขึ้น error ดังนี้
The expression on click you entered as the event property setting produced the following error:
Duplicate option statement.

เลยไม่แน่ใจว่าการเขียนคำสั่ง search สำหรับ form ที่ link กับ query จะต้องมีส่วนใดแก้ไม่ได้ใช้แบบเดียวกับ table หรือไม่ครับ
ขอบคุณครับ

14
ได้ผลแล้วครับ ติ้กuse theme นี้เอง ขอบคุณมากครับ

15



ประมาณนี้ครับ ตัวปุ่ม จำนวนไม่เท่ากันเนื่องจากปรับปรุงคนละรอบกัน และอยู่คนละเครื่องกัน
แต่หากcopy จากต้นฉบับมาเปิดปลายทางที่มีปัญหา ก็มองไม่เห็นสีเหมือนเดิม และปุ่มกลายเป็นสี่เหลี่ยมเหมือนเดิมครับ

16
รบกวนสอบถามครับ มีปัญหาว่าผมต้องการ copy Access ตัว FORM จากที่นึงมาลงอีกเครื่องนึง
ผลคือบางเครื่องแสดงผลหน้าตา FORM เหมือนต้นฉบับคือ รูปร่างของ ปุ่ม สีุป่ม หรือพื้นหลัง เหมือนกัน
แต่บางเครื่องหน้าตา FORM มาแต่โครงคือ มีปุ่ม มีตัวหนังสือเหมือนกัน แต่ไม่มีสี และ shape ของปุ่มจากมนๆ
กลายเป็นเหลี่ยมๆ

ตอนแรกคิดว่าเป็นที่ Version ของ Office  แต่ปรากฏว่าเครื่องต้นทางก็เป็น 2016 เครื่องปลายทาง 2016 บางเครื่องเพี้ยน บางเครื่องไม่เพี้ยน
ใครมีประสบการณ์แก้ไขได้ รบกวนแชร์ครับ

ขอบคุณครับ

18
รบกวนสอบถามการแปลงวันที่ใดๆก็ตามให้เป็นวันแรกของเดือนครับ เท่าที่หาเจอแต่ของ Excel จะได้สูตรประมาณนี้
=DATE(YEAR(A1),MONTH(A1),1)
ก็จะได้ว่า 12-2-2020 กลายเป็น 1-2-2020 คือเป็นวันแรกของเดือน
ต้องการผลลัพทธ์แบบนี้กับ access ใครทราบวิธีการรบกวนชี้แนะครับ

หน้า: [1]