แสดงกระทู้

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 ... 11 12 13 [14] 15 16 17 ... 46
235
ตอนแรกลองแก้ปัญหาแบบนั้นแล้วค่ะ แต่ปัญหาคือ พอคลิกเพิ่ม หรือ คลิกถัดไป Sub form มันไม่ไปด้วย มันยังอยู่ที่ระเบียนแรกอะค่ะ
หรือเราควรทำปุ่มให้อยู่ที่ form หลักใช่รึป่าวค่ะ เพราะเดิม ปุ่มมันอยู่ที่ form ผู้ยืม และเอา sub form ผู้ใช้ และ ผู้คืน มาใส่
ถ้าเราแยกทั้ง 3 ฟอร์ม มาเป็นซับฟอร์ม แล้วสร้างฟอร์มหลัก โดยปุ่มอยู่ที่ฟอร์มหลัก จะยังเกิดปัญหานี้มั้ยคะ

ต้องกำหนดการเชื่อมโยงข้อมูลของซัพฟอร์มด้วยครับ

236
ถ้าเป็นผม ผมจะทำฟอร์มแยกส่วนออกมา เป็นหมวดๆ ครับ
คือ ข้อมูลผู้ยืม , ข้อมูลผู้ใช้ , และข้อมูลการคืนอุปกรณ์ ควรแยกย่อยออกมาเป็นฟอร์มๆไป
หรือถ้าไม่แยกก็ควรอยู่ใน subform ครับ

ส่วนเวลาแสดงผล หรือแสดงรายงาน ค่อยนำมารวมกัน

237
ยอดเยี่ยมมากๆครับ  :love:
อาจจะมีวิธีอื่นๆที่ง่ายกว่านี้ แต่วิธีนี้สาย DIY คิดได้แค่นี้ แต่ก็สามารถนำไปใช้งานได้เหมือนกัน
ส่วน Left , Mid , Right
บางคนเขาก็จะใช้ Mid อย่างเดียวเลยก็ได้เหมือนกัน เพราะมันสามารถกำหนดช่วงของการนับได้ทั้งหมดอยู่แล้ว
แต่ผมใช้ทั้งสามแบบ เพื่ออยากให้ได้ศึกษาการใช้ Function เหล่านี้ไปประยุกต์ใช้กับงานอื่นๆ ต่อได้ครับ
ขอบคุณที่ช่วยอธิบายได้ละเอียดมากๆครับ


238
ปรับ SQL ของ RecordSort เป็น
โค๊ด: [Select]
SELECT [tb_ข้อมูลการยืม].[id_ข้อมูลการยืม], [tb_ข้อมูลการยืม].[วันที่ยืม], [tb_ข้อมูลการยืม].[id_ประเภทของอุปกรณ์], [tb_ข้อมูลการยืม].[ประเภทของอุปกรณ์], [tb_ข้อมูลการยืม].[id_ที่มาของอุปกรณ์], [tb_ข้อมูลการยืม].[ที่มาของอุปกรณ์], [tb_ข้อมูลการยืม].[id_ผู้ยืม], [tb_ข้อมูลการยืม].[ชื่อผู้ยืม], [tb_ข้อมูลการยืม].[นามสกุลผู้ยืม], [tb_ข้อมูลการยืม].[เลขบัตรประชาชนผู้ยืม], [tb_ข้อมูลการยืม].[id_ที่อยู่ผู้ยืม], [tb_ข้อมูลการยืม].[id_ชุมชน], [tb_ข้อมูลการยืม].[ชื่อชุมชน], [tb_ข้อมูลการยืม].[id_ผู้ใช้], [tb_ข้อมูลการยืม].[ชื่อผู้ใช้], [tb_ข้อมูลการยืม].[นามสกุลผู้ใช้], [tb_ข้อมูลการยืม].[เลขบัตรประชาชนผู้ใช้], [tb_ข้อมูลการยืม].[id_ความสัมพันธ์], [tb_ข้อมูลการยืม].[สาเหตุความจำเป็นที่ใช้อุปกรณ์], [tb_ข้อมูลการยืม].[วันที่คืน], [tb_ข้อมูลการยืม].[id_ผู้คืน], [tb_ข้อมูลการยืม].[ชื่อผู้คืน], [tb_ข้อมูลการยืม].[นามสกุลผู้คืน], [tb_ข้อมูลการยืม].[คืนอุปกรณ์], [tb_ข้อมูลการยืม].[อื่น ๆ (ความสัมพันธ์)], [tb_ข้อมูลการยืม].[อื่น ๆ (ประเภทของอุปกรณ์)], [tb_ผู้ยืม].[ชื่อผู้ยืม], [tb_ผู้ยืม].[นามสกุลผู้ยืม], [tb_ผู้ยืม].[เลขบัตรประชาชนผู้ยืม], [tb_ผู้ใช้อุปกรณ์].[ชื่อผู้ใช้], [tb_ผู้ใช้อุปกรณ์].[นามสกุลผู้ใช้], [tb_ผู้ใช้อุปกรณ์].[เลขบัตรประชาชนผู้ใช้], [tb_ผู้คืน].[ชื่อผู้คืน], [tb_ผู้คืน].[นามสกุลผู้คืน], [tb_ประเภทของอุปกรณ์].[ประเภทของอุปกรณ์], [tb_ที่อยู่ผู้ยืม].[บ้านเลขที่], [tb_ที่อยู่ผู้ยืม].ซอย, [tb_ที่อยู่ผู้ยืม].ถนน, [tb_ที่อยู่ผู้ยืม].[ตำบล], [tb_ที่อยู่ผู้ยืม].[อำเภอ], [tb_ที่อยู่ผู้ยืม].[จังหวัด], [tb_ที่มาของอุปกรณ์].[ที่มาของอุปกรณ์], [tb_ชุมชน].[ชื่อชุมชน], [tb_ความสัมพันธ์].[ความสัมพันธ์กับผู้ยืม]
FROM tb_ความสัมพันธ์ INNER JOIN (tb_ชุมชน INNER JOIN (tb_ที่มาของอุปกรณ์ INNER JOIN (tb_ที่อยู่ผู้ยืม INNER JOIN (tb_ประเภทของอุปกรณ์ INNER JOIN (tb_ผู้คืน INNER JOIN (tb_ผู้ใช้อุปกรณ์ INNER JOIN (tb_ผู้ยืม INNER JOIN tb_ข้อมูลการยืม ON [tb_ผู้ยืม].[id_ผู้ยืม] = [tb_ข้อมูลการยืม].[id_ผู้ยืม]) ON [tb_ผู้ใช้อุปกรณ์].[id_ผู้ใช้อุปกรณ์] = [tb_ข้อมูลการยืม].[id_ผู้ใช้]) ON [tb_ผู้คืน].[id_ผู้คืน] = [tb_ข้อมูลการยืม].[id_ผู้คืน]) ON [tb_ประเภทของอุปกรณ์].[id_ประเภทของอุปกรณ์] = [tb_ข้อมูลการยืม].[id_ประเภทของอุปกรณ์]) ON [tb_ที่อยู่ผู้ยืม].[id_ที่อยู่ผู้ยืม] = [tb_ข้อมูลการยืม].[id_ที่อยู่ผู้ยืม]) ON [tb_ที่มาของอุปกรณ์].[id_ที่มาของอุปกรณ์] = [tb_ข้อมูลการยืม].[id_ที่มาของอุปกรณ์]) ON [tb_ชุมชน].[id_ชุมชน] = [tb_ข้อมูลการยืม].[id_ชุมชน]) ON [tb_ความสัมพันธ์].[id_ความสัมพันธ์] = [tb_ข้อมูลการยืม].[id_ความสัมพันธ์];

แก้โค้ดของ ปุ่มค้นหาเดิม (Marcro1) เป็น
โค๊ด: [Select]
[tb_ผู้ยืม]![ชื่อผู้ยืม] & [tb_ผู้ยืม]![นามสกุลผู้ยืม] & [tb_ผู้ใช้อุปกรณ์]![ชื่อผู้ใช้] & [tb_ผู้ใช้อุปกรณ์]![นามสกุลผู้ใช้] Like '*' & [Forms]![frm_ข้อมูลการยืม]![txt_search] & '*'
แก้โค้ดของ ปุ่มค้นหาเดิม (Marcro2) เป็น
โค๊ด: [Select]
[tb_ข้อมูลการยืม]![เลขบัตรประชาชนผู้ยืม] & [tb_ผู้ใช้อุปกรณ์]![เลขบัตรประชาชนผู้ใช้] Like '*' & [Forms]![frm_ข้อมูลการยืม]![txt_search2] & '*'

239
ปัญหาเกิดจากการ Join Table มาแสดงบนฟอร์ม ทำให้ไม่สามารถดำเนินการเกี่ยวกับการเพิ่มข้อมูลใหม่ ได้ครับ
ขอปรับแก้ให้แปปนะครับ

240
ทำแล้วค่ะทั้ง 2 อย่าง
ขออนุญาตส่งไฟล์ได้มั้ยคะ
ครับส่งเข้า inbox ได้เลย

241
ลองทำ trust center ตามนี้แล้วใช่ไหม ถ้ายังไม่ได้ทักข้อความมาหน่อยครับ

1) trust center >> trust center setting > macro setting...
ตั้ง enable all...
2) trust center >> trust center setting > ActiveX setting...
ตั้ง enable all....
ไม่เลือก Save mode...

242
ห้อง MS Access / : สอบถาม error flow error 6
« เมื่อ: 08 ก.พ. 64 , 08:55:30 »
ก่อนแสดงบน textbox ให้ผ่านตัวแปรก่อนได้ไหมครับ
กำหนดตัวแปรเก็บค่าเป็น Long ก็ได้
เช่น

Dim a,b,c  as long
a = ค่าที่ dlookup มาจาก table
b = ค่า sum ที่ได้จาก textbox ใน form

c= (a/b)*100
textbox = c

243
Format(CDate(Left([ตั้งแต่ วว/ดด/ปป],2) & "/" & Mid([ตั้งแต่ วว/ดด/ปป],3,2) & "/" & Right([ตั้งแต่ วว/ดด/ปป],2)),"dd/mm/yy") & " ถึง " & Format(CDate(Left([ถึง วว/ดด/ปป],2) & "/" & Mid([ถึง วว/ดด/ปป],3,2) & "/" & Right([ถึง วว/ดด/ปป],2)),"dd/mm/yy")

244
ห้อง MS Access / : สอบถาม error flow error 6
« เมื่อ: 08 ก.พ. 64 , 08:06:10 »
มีการกำหนดขนาดของข้อมูล หรือ กำหนดชนิดตัวแปร ที่ไม่สอดคล้องกับข้อมูลหรือไม่ เช่น
มีการกำหนดตัวแปรแต่ค่าที่มันส่่งกลับมามีขนาดใหญ่กว่าตัวแปรที่กำหนด
ลองเช็คในส่วนนี้เบื้องต้นดูก่อนนะครับ

245
ลองวิธีต่างๆ พวกนี้ดูว่าหายหรือไม่
1.ทำการ compact and repair หรือการซ่อมแซมข้อมูล
2.เช็คการเปิดใช้งาน หรือ Trust Location Center ว่าได้เปิดใช้งาน มาโคร แล้วหรือยัง ดูวิธีได้จากลิ้งด้านล่าง
https://www.thai-access.com/index.php?topic=375.msg1562#msg1562


246
ใช้ IF เช็ดเงื่อนไขเอาก็ได้แล้วครับเช่น


Private Sub btn_01_Click()
if IsNull(Me.txt_01) Then
Me.txt_01 = "1"
Elseif Me.txt_01 = "1" Then
Me.txt_01 = "0"
Elseif Me.txt_01 = "0" Then
Me.txt_01 = "1"
End if
End Sub

247
แบบงวดภาษี มกราคม 64

= "งวดภาษีเดือน" & " " & Format(CDate(Left([วันที่ วว/ดด/ปป],2) & "/" & Mid([วันที่ วว/ดด/ปป],3,2) & "/" & Right([วันที่ วว/ดด/ปป],2)),"mmmm yy")

แบบงวดภาษี มกราคม 2564
="งวดภาษีเดือน" & " " & Format(CDate(Left([วันที่ วว/ดด/ปป],2) & "/" & Mid([วันที่ วว/ดด/ปป],3,2) & "/" & Right([วันที่ วว/ดด/ปป],2)),"mmmm yyyy")

เนื่องจาก ข้อมูลตัวเลขนั้นระบบจะไม่ทราบว่าคือวันที่ เราก็ใช้วิธีเดียวกันเมื่อเรามีฟิลล์ หรือ ข้อมูลจาก Control เป็น[วันที่ วว/ดด/ปป] เก็บตัวเลขวันที่ แบบ 010164
ก็ใช้ การตัดคำ ของ วัน เดือน ปี แล้วใช้ Cdate() ก็จะได้รูปแบบวันที่มา แล้วเราก็ใช้ Format() ได้เลย

248
Recordsort ของ ซัฟฟอร์มที่ชื่อ frmDepDoccSub ใส่โค้ดไปว่า

โค๊ด: [Select]
SELECT qryDepDoc.Cabinet, qryDepDoc.Shelf, qryDepDoc.Block, qryDepDoc.Sequence, qryDepDoc.DateRecieve, qryDepDoc.AppNo, qryDepDoc.CIF, qryDepDoc.CusName, qryDepDoc.DocTypeCode, qryDepDoc.DocTypeName, qryDepDoc.DateStart, qryDepDoc.Status, qryDepDoc.[01], qryDepDoc.[02], qryDepDoc.[03], qryDepDoc.[04], qryDepDoc.[05], qryDepDoc.[06]
FROM qryDepDoc
WHERE (((qryDepDoc.Cabinet)=[forms]![frmSearchDoc]![Cb_Cabinet]) AND ((qryDepDoc.Shelf)=[forms]![frmSearchDoc]![Cb_Shelf]) AND ((qryDepDoc.Block)=[forms]![frmSearchDoc]![Cb_Block]))
ORDER BY qryDepDoc.Sequence DESC;

249
อ้างถึง
กรอกข้อมูลครั้งที่ 2 โดยกรอก AppNo,CIF แต่พอจะใส่วันที่โปรแกรมขึ้น pop up ดังรูปน่ะครับ
ให้ลบ คำส่ง msgbox ออกไปพอดีผมทำมาเช็คค่าของตัวแปร แล้วลืมลบครับ  :XD:

ลบ MsgBox strSequence ออกไปครับ

อ้างถึง
ออกจากโปรแกรมแล้วเข้าใหม่ กรอกข้อมูลครบถ้วน แล้วกดปุ่มลบข้อมูล เกิด error ตามรูป
ปุ่มลบผมไม่ได้ทำให้ครับ เพราะที่ตอนคุณบอกมาแค่ให้ช่วยทำระบบ รันลำดับ และ ให้มีการแจ้งเตือน
เมื่อไม่ได้เลือกรายการเอกสารเท่านั้นครับ

250
แจ้ง ERROR ที่เกิดด้วยครับ มันจะมีข้อความแสดงอยู่

251
ลองปรับเป็น
โค๊ด: [Select]
SELECT item_asset.date_buy, item_asset.item, item_asset.model, item_asset.book_vul
FROM item_asset
WHERE CDate([Date_Buy]) Between CDate(Left([ตั้งแต่ วว/ดด/ปป],2) & "/" & Mid([ตั้งแต่ วว/ดด/ปป],3,2) & "/" & Right([ตั้งแต่ วว/ดด/ปป],2)) And CDate(Left([ถึง วว/ดด/ปป],2) & "/" & Mid([ถึง วว/ดด/ปป],3,2) & "/" & Right([ถึง วว/ดด/ปป],2));

ว่าได้หรือไม่

252
ผมได้ทดสอบปุ่มดูแล้วพบว่า
1.ลองใส่โค้ดดูแล้วลองไม่ระบุ 01-06 ไป แล้วกดปุ่มเพิ่ม แล้วกด "ตกลง" พบว่า ระบบไม่แจ้งเตือนครับอาจารย์ หรือว่าต้องระบุซับฟอร์มด้วยครับ
2.ลองใส่โค้ดดูแล้วลองไม่ระบุ 01-06 ไป แล้วกดปุ่มเพิ่ม แล้วกด "ไม่" พบว่า ระบบมีการเพิ่มรายการแต่ไม่รัน Sequence ให้ครับ
ไม่ทราบว่าต้องแก้ไขยังไงบ้างครับ อาจารย์ ขอบคุณมากครับผม

ลองดูตัวอย่างนี้ครับไม่รู้ได้ไหม
แก้การสร้าง SEQ ใหม่

หน้า: 1 ... 11 12 13 [14] 15 16 17 ... 46