แสดงกระทู้

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

หน้า: 1 ... 5 6 7 [8] 9 10 11 ... 18
127
1.หน้าฟอร์มแสดงเฉพาะรายการที่ Check = False

ไฟล์ตัวอย่างแนวทางใหม่(ยังไม่ได้แกะเพื่อแก้ไฟล์ของท่านนะครับ /ดูแนวแล้วแก้เองเลยหรือรอท่านอื่นอีกทีนะครับ)

128
จากกระทู้ใหม่ อ.OddyWriter นั้นจะทำงานอัตโนมัติครับ
https://www.thai-access.com/index.php?topic=416.msg1892#msg1892

หรือจะนำโค้ดไปใส่ใว้ที่ปุ่มเมื่อกดแล้วจึงค่อยส่งค่าไปที่ Text Box ก็ได้ครับขึ้นอยู่กับการออกแบบ
Private Sub Command1_Click()
............
End Sub

กระทู้ท่าน NAT ใส่ใว้ที่ปุ่มครับ
พอดีมือใหม่นะครับ
สอบถามหน่อยครับ
จากกระทู้ที่ถามโคด รันเลขที่ใบเสร็จ แบบ ปี+เดือน+ลำดับ
https://www.thai-access.com/yeadram_view.php?topic_id=5760

คำถามคือ
ผมต้องไปใส่โคดที่เมนูไหน(มือใหม่นะครับ) กำลัง งงๆ :question:
ขอบคุณครับ


129
ขอแทรกเข้ามาตีโจทย์ของกระทู้นี้นะครับ / สิ่งที่ จขก.นั้นต้องการก็คือ
1.ต้องการให้บนหน้าฟอร์มแสดงเฉพาะรายการที่ถูกติ๊กและมีการเก็บค่าใว้บนตารางจากที่อื่น(ทั้งหมด40-มีติ๊กใว้อยู่ก่อนแล้ว20=ฟอร์มต้องแสดงแค่20ที่เหลือ)
2.เมื่อหน้าฟอร์มแสดงแค่20รายการจากข้อ1 จะมาทำการติ๊กเลือกอีกครั้งว่าจะเอาตัวไหนออกรายงานบ้าง(เหลือ20-ติ๊กใหม่10=ออกรายงาน10)

ถ้าเป็นดั่งด้านบน วิธีการที่ผมจะทำคือให้บนตารางเก็บค่าติ๊กใว้2ค่าแล้วจะเกิดเหตุการณ์ดังนี้
1.หน้าฟอร์มแสดงเฉพาะรายการที่ Check = True
2.เมื่อติ๊กบนหน้าฟอร์มอีกครั้งจะเก็บค่าใว้บน Check2 = True
3.เมื่อออกรายงานจึงเป็น 40 - 20(check) - 10(check2) = 10รายการเท่านั้นใช่หรือไม่ครับ?

ปล.ผมเอาไฟล์จากโพสนี้ไปทำการเพิ่ม check2 และทำการกรองตามวิธีด้านบนครับ(ค่าcheck อยู่บนตารางไม่ได้ทำฟอร์มแก้)
ลองดูตัวอย่างจากกระทู้นี้ครับ
https://www.thai-access.com/index.php?topic=307.msg1223#msg1223

130
พึ่งคิดได้ว่าก็ใช้คำสั่งให้ทุกปุ่มที่มีซ่อนก่อนแล้วค่อยมาสั่งแสดงตามตัวเลขที่หลังอีกที  :meaw:

โค๊ด: [Select]
Private Sub Text5_AfterUpdate()

Me.Command1.Visible = False
Me.Command2.Visible = False
Me.Command3.Visible = False
Me.Command4.Visible = False

GetNum = Me.Text5
    Select Case GetNum
        Case "1": Me.Command1.Visible = True
        Case "2": Me.Command2.Visible = True
        Case "3": Me.Command3.Visible = True
        Case "4": Me.Command4.Visible = True
    End Select
End Sub

131
แนวคือเมื่อใส่เลขงวดไปแล้ว แล้วให้แสดงเฉพาะปุ่มนั้นมีแนวทางตามนี้ครับ

แบบที่1 ทุกปุ่มสั่งล็อคใว้ Enabled = No จะปลดล็อคเมื่อเลขงวดตรง
โค๊ด: [Select]
Private Sub Text5_AfterUpdate()
GetNum = Me.Text5
    Select Case GetNum
        Case "1": Me.Command1.Enabled = True
        Case "2": Me.Command2.Enabled = True
        Case "3": Me.Command3.Enabled = True
        Case "4": Me.Command4.Enabled = True
    End Select
End Sub

แบบที่2 ทุกปุ่มสั่งซ่อนใว้(ยังไม่แสดง) Visible = No จะแสดงปุ่มเมื่อเลขงวดตรง
โค๊ด: [Select]
Private Sub Text5_AfterUpdate()
GetNum = Me.Text5
    Select Case GetNum
        Case "1": Me.Command1.Visible = True
        Case "2": Me.Command2.Visible = True
        Case "3": Me.Command3.Visible = True
        Case "4": Me.Command4.Visible = True
    End Select
End Sub

ทั้งสองแบบต่างกันที่การตั้งค่าปุ่มบนหน้าฟอร์มกับชุดคำสั่งเพียงเล็กน้อย

แต่ชุดคำสั่งด้านบนยังติดขัดคือ สมมุติใส่เลขงวด1 = ปุ่ม1ทำงาน | แก้ใส่เลขงวด2 = ปุ่ม2ทำงาน แต่ปุ่ม1ก็จะยังคงทำงานอยู่ไม่ล็อคหรือกลับไปซ่อนตามเดิมนะ รอคำแนะนำจากท่านอื่นอีกทีครับ

132
รูปวิธีตั้งค่าที่ตารางครับ ส่วนถ้าจะให้หน้าฟอร์มทำการตรวจสอบแล้วแจ้งว่าเลขที่ซ้ำหรืออย่างไรชี้แจ้งมาอีกทีครับ(วิธีให้ฟอร์มแจ้งรออาจารย์ท่านอื่นนะครับ :shout:)


133
Table1=เทเบิ้ล, NoId=คอลั่มน์ที่เก็บเลข, Command4=ชื่อปุ่ม, Text5=กล่องแสดงตัวเลขบนฟอร์มที่ผูกคอลั่มน์ NoId บนเทเบิ้ลแล้วด้วย

โค๊ด: [Select]
Private Sub Command4_Click()
Dim X As Variant
Dim bk As String
        X = DMax("NoId", "[Table1]")
        If IsNull(X) Then bk = 1 Else bk = X + 1
    Me!Text5 = Format(bk, "00000")
End Sub

ปล.กระทู้เกี่ยวกับระบบรันตัวเลข,รันเลขที่อัตโนมัติมีเยอะลองค้นหาดูได้ครับ

134



ผมลองเอาโค้ดนี้มาใช้มันก็ยังไม่เคลียร์ค่าใน combobox ครับ แต่ผมตัดเงื่อนไขของ textbox กับ checkbox ออกแล้ว

วิธีการตามรูปนั้นตัว combobox มี control source ไม่ได้ว่าง(unbound) หรือหน้าฟอร์มแบบอื่นที่ไม่ใช่ Continuous Forms นะครับ
ส่วนที่ผมจำไม่ได้ว่ากระทู้ไหนจึงไปค้นเจอว่าคือกระทู้นี้ครับ https://www.thai-access.com/index.php?topic=1287.0
ซึ่งเป็น checkbox และเป็นการนำข้อมูลที่มีอยู่แล้วมาให้เลือกเท่านั้น / ขออภัยด้วยครับ :cry:

135
รูปแบบ subform ท่านเป็นแบบ Continuous Forms ดังนั้นเมื่อ combobox ใดๆที่ไม่ได้ผูกตัวแปรอะไรใว้(unbound)จะเกิดเหตุการณ์ที่ว่าโปรแกรมจะแสดงค่าล่าสุดที่มีการเลือกใช้มาแสดงเองโดยอัตโนมัติ *แต่ก็เป็นเพียงแค่การนำมาแสดงเท่านั้นไม่ได้มีผลผูกพันธุอะไรเหมือนกับที่เรากดเลือกจริง
วิธีแก้คือผูกกับตารางเหมือนกล่องอื่นๆครับ หรือเคยเห็นมีกระทู้ถามตอบแนวนี้อยู่ครับ(จำไม่ได้ว่ากระทู้ไหนขอโทษด้วยครับลองค้นหาดู :dizzy:)

137
ข้อมูลแก้ไข Type จาก nvarchar เป็น varchar ไม่ได้ค่ะ SQL ไม่ให้เปลี่ยน เนื่องจาก Export ข้อมูลมาจาก Access ข้อมูลหลาย Record แล้วด้วยค่ะ
ใช่ครับ SQL เขาไม่ให้เปลี่ยนจึงแนะนำแนวทางตามโพสล่างไปนะ :wut:
.....ใช้วิธีสั่งก๊อบข้อมูลทั้งหมดจาก ntext ไปคอลัมน์ที่สร้างใหม่เป็น text แล้วจึงใช้งานจากคอลัมน์นี่แทน...

ตัวอย่างชุดคำสั่งบน SQL Server Management Studio
UPDATE [ชุดดาต้าเบส].[dbo].[ชื่อเทเบิ้ล]
SET [คอลัมน์ใหม่] = [คอลัมน์เก่า]


138
Sql Sever = นำ Sql ไปวางบน Host(Export,Import ด้วยตัวท่านเองหรือแอ็ดมินโฮสขึ้นอยู่กับอำนาจท่าน)

เครื่องลูก = ODBC เพิ่มลิ้งโฮสใหม่ / Access แก้ลิ้งไปโฮสใหม่


ลิ้งอ.TTT ใส่เพื่อใว้ Client Server - การติดตั้ง SQL SERVER Express (ฟรี) ใช้งานร่วมกับ MS Access ผ่าน ODBC
https://youtu.be/i6SXfoFWPcU

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

140
โดยทั่วไปการจะเลือกช่วงเวลาจะใช้คำสั่ง between โดยจะต้องมีวันที่เข้าไปด้วยตามตัวอย่างของอ.สันติสุข ครับ

โพสนี้แวะมาแนะนำชุดคำสั่งที่ใช้สำหรับแปลงวันที่(ไม่ว่าเราจะกดเลือกวันที่เท่าไหร่)ให้เป็นวันแรกหรือวันสุดท้ายของเดือนนั้นๆ

วันแรกของเดือน = DateSerial(Year(Date()), Month(Date()), 1)
วันสุดท้ายของเดือน = DateSerial(Year(Date()), Month(Date())+1, 0)
*Date() = ใช้ชื่อ TextBox แทนค่าลงไปได้

141
ปกติแล้วรายการ combo box ใน Access ที่เราดึงมาจากตารางก็จะมีเพียงข้อความเท่านั้น  เราสามารถใส่ไอคอนหรือรูปภาพเข้าไปแบบคลิบด้านล่างที่เขาใช้ MS Visual Basic ได้ใหมครับ :question:
(รูปดึงจาก Attachment หรือ CurrentProject.Path)


142
เหมือนว่าระบบจะไม่ให้แก้ข้อมูลเก่าเป็นฟิลด์คำนวนครับ ต้องเพิ่มแถวข้อมูลใหม่ > Calculated > ใส่หรือพิมพ์สูตรทึีต้องการคำนวนเช่น [a ]+[b ] / เสร็จสิ้น

https://codekabinett.com/rdumps.php?Lang=2&targetDoc=access-table-calculated-field-compute-quarter-date


143
ที่ Combo box : Part Name สั่ง Requery ข้อมูลครับ
โค๊ด: [Select]
Private Sub cb_PartID_GotFocus()
    Me.cb_PartID.Requery
End Sub

144
ขอบคุณแนวทางจากท่าน PNR ครับผม :love:
ขอบคุณไฟล์รูป,ข้อมูล Ragnarok Online M_Eternal Love จาก https://www.romcodex.com/ :cool:

รูป   | ธาตุ | แพ้ธาตุ
ชื่อ  | เผ่า , ขนาด


ไฟล์ตัวอย่างใว้ศึกษาวิธีการทำ Call select_case (อ.PNR) & วิธีเพิ่มรูป,ดึงรูป,ดึงชื่อรูปออกมาแสดง (อ.TTT) ขอบคุณอีกครั้งครับผม

หน้า: 1 ... 5 6 7 [8] 9 10 11 ... 18