แสดงกระทู้

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 ... 11 12 13 [14] 15 16 17 ... 29
235
ห้อง MS Access / : Import excel file แบบมีเงื่อนไข
« เมื่อ: 04 ส.ค. 62 , 10:28:03 »
Import เข้ามาทุกบรรทัดลงในเทเบิลชั่วคราว T1  แล้วสั่ง UPDATE SQL statement ข้างล่างเพื่อเอาข้อมูลของคอลัมน์ V ใน T1 ไปใส่ลง V ของเทเบิล T2 ที่มีอยู่ก่อนใน Access อยู่แล้ว  โดยเลือกเฉพาะที่มี ID เหมือนกัน

UPDATE T1 INNER JOIN T2 ON T1.ID = T2.ID SET T2.V = T1.V

236
วางทุกตารางลงใน Query Design View   เลือกฟิลด์ที่ต้องการแสดง   แล้วเชื่อม (Join) จากตาราง 1 ไปทุกตารางด้วยฟิลด์ a และ b     ในแต่ละเส้นเชื่อม ให้ดับเบิ้ลคลิกที่เส้นเชื่อม จะมีไดอะล็อกซ์คุณสมบัติแสดงออกมา ให้เลือกข้อที่ เลือกทุกเรคอร์ดจากตาราง 1 (Include all records from '1')

237
ห้อง MS Access / : ส่ง SMS จาก ms access
« เมื่อ: 25 ก.ค. 62 , 15:53:06 »
คำถามน่าสนใจ ผมเลยลองเล่นดู แนวคิดคือหาโปรแกรมที่ส่ง SMS จาก PC ไปมือถือผ่าน WiFi  ก็พบว่ามีหลายๆโปรแกรม อย่างเช่นจากบทความนี้ https://techwiser.com/send-sms-from-computer/ ผมลองเลือกโหลด AirDroid บนฝั่งมือถือ และใช้ AirDroid ที่รันบนเวปเป็นตัวที่อยู่ฝั่ง PC (เหมือนว่าจะมีโปรแกรมที่รันภายใต้วินโดว์โดยตรงด้วยเช่นกัน) ผลก็คือสามารถคีย์ SMS จากฝั่ง PC ส่งไปมือถือและส่งออกไปปลายทางผู้รับได้ในขั้นตอนเดียว

สิ่งที่คุณต้องหาต่อไปก็คือ ทำยังไงให้ Access ก็อปปี้ เบอร์มือถือ และ SMS เข้าคลิปบอร์ดทีละครั้ง แล้วเลือกหน้าต่าง AirDroid ที่เปิดอยู่  แล้ว paste สิ่งเหล่านั้นลงไป  พอ paste ทุกอย่างเสร็จ ก็คลิกปุ่ม Send เพื่อส่งอีกที

หมายเหตุ :
1. ผมคิดว่าคงมีข้อจำกัดในการใช้งาน AirDroid แบบฟรี น่าจะเป็นที่จำนวนหรือปริมาณในการส่ง ลองศึกษาดูครับ
2. ถ้าส่งไม่ได้ ไม่ว่าจะติดขัดขั้นตอนไหน ไม่รู้ว่าจะตรวจสอบได้ยังไง
3. ถ้าส่งปริมาณมากๆ อาจส่งเข้าเวปที่ให้บริการส่ง SMS โดยตรง จะถูกกว่าหรือไม่

หวังว่าพอจะเป็นแนวทางได้บ้าง

238
เนื่องจากรันไม่ได้เพราะไม่มีเทเบิลจริง มีแต่ลิงค์เทเบิล ก็ได้แค่เช็ค property ทั้งตัว main form และ sub form ก็ไม่เห็นอะไรผิดปกติเหมือนกันครับ

239
ไม่เข้าใจที่บอกว่า หายไป มันหมายถึงยังไง เอาภาพที่แสดงตอนที่หายไปมาให้ดูด้วยครับ แล้ว Tab From (หรือ Form ?) อันนี้ก็ไม่เข้าใจเหมือนกันว่าเกี่ยวข้องยังไง

240
ห้อง MS Access / : สอบถามเรื่อง relationships
« เมื่อ: 18 ก.ค. 62 , 17:04:43 »
ถ้า tb_process_detail และ _detail_1 เป็นข้อมูลจากเทเบิลเดียวกัน แต่แยกเพราะมีสถานะอะไรบางอย่างแตกต่างกัน ก็ให้เอาสถานะนั้นสร้างเป็นฟิลด์นึงใน tb_process และ/หรือ tb_process_detail แล้วไม่ต้องแยกเทเบิล จะได้ไม่ยุ่งยากครับ

241
...
...
...
        Me.RecordSource = strsearch
        If Me.Recordset.RecordCount <= 0 Then
            Msgbox .....
        End If
...
...
...

243
ไม่เคยใช้นะครับ แต่น่าจะเลือก Enable Automatic Reconnect ในรูป 5.4 https://dev.mysql.com/doc/connector-odbc/en/connector-odbc-configuration-dsn-windows-5-2.html

244
สั่งคำสั่ง  DoCmd.OpenReport "ชื่อรายงาน",,,"เงื่อนไขเรคอร์ดที่ต้องการในรายงาน"

เงื่อนไขที่ว่าก็เขียนเหมือนกับ WHERE clause ใน SQL statement โดยที่ถ้ามีชื่อฟิลด์ ก็ต้องเป็นชื่อฟิลด์ที่ได้จาก Query ที่เป็น Record Source ของรายงานด้วย กรณีนี้ก็คือ

DoCmd.OpenReport "ชื่อรายงาน",,,""Loan_No = '" & Me.txt_LoanNo & "'"

ดังนั้นเราก็จะเลือกพิมพ์เฉพาะการยืมที่ปรากฏบนหน้าฟอร์มรายการเดียวเท่านั้น

หรืออีกวิธีก็คือ บรรทัดเงื่อนไข (Criteria) ภายใน Query เองสำหรับคอลัมน์ Loan_No ก็ให้เขียนเป็น Forms![Frm_Loan]![txt_LoanNo] แต่ก็หมายความว่า เมื่อไหร่ที่คิวรี่ตัวนี้ทำงาน ฟอร์มที่ว่านั้นก็ต้องเปิดอยู่และมีค่า Loan_No ไว้ด้วย ไม่งั้นก็จะเกิด error ได้ และวิธีนี้ก็สั่งเปิดรายงานด้วยคำสั่งสั้นๆว่า DoCmd.OpenReport "ชื่อรายงาน" เท่านั้นเอง

245
เมื่อเก็บเป็น Path และไฟล์ภาพก็อยู่ที่เซิร์ฟเวอร์ แต่เนื่องจากโปรแกรมที่ทำงานจะอยู่ที่แต่ละเครื่อง  การเขียน Path จึงมีรูปแบบเป็น Path ที่แต่ละเครื่องอ้างไปยังไฟล์ภาพบนเซิร์ฟเวอร์ ไม่ใช่ Path ที่อ้างจากฐานข้อมูลบนเซิร์ฟเวอร์ไปยังไฟล์ภาพบนเซิร์ฟเวอร์เอง ดังนั้น Path ที่ถูกต้องก็จะเป็นรูปแบบ

\\ชื่อเซิร์ฟเวอร์\ชื่อซับโฟลเดอร์(ถ้ามี)\......\ชื่อไฟล์  เช่น \\ServEngineer\Data\Assets\Pic\NutBt0500.jpg

246
คุณจะดึงฟิลด์ Attachment มาจากคิวรี่แล้วมากำหนดให้ Attachment Control โดยตรงอย่างนี้ไม่ได้  แต่เราสามารถเอามาเป็น Control Source ของ  Attachment Control ได้ ดังนั้นเราจะสร้าง Attachment Control ตัวนึง (ชื่อว่า A) ใส่ลงฟอร์มเปล่า (ชื่อว่าฟอร์ม F) แล้วเอา F มาใส่เป็น Sub Form control (ชื่อ SF) ใน ฟอร์มการยืมอีกที ทีนี้เมื่อใดที่มีการเลือก Asset เราก็จะสร้าง Record Source ของ SF เป็น SQL SELECT statement ที่ดึงเอาเฉพาะฟิลด์ Attachment ที่เก็บรูปภาพตาม Asset_ID ที่เลือก  ดังนั้นภาพก็จะแสดงออกมา เท่านี้เองครับ

โค้ดให้ใส่ไว้ใน Private Sub cbo_Loanasset_AfterUpdate() , ใน Private Sub Form_Current() และใน Private Sub Form_Undo(Cancel As Integer) ด้วย
โค๊ด: [Select]
    If IsNull(Me.cbo_Loanasset) Then
        Me.SF.Form.RecordSource = ""
    Else
        Me.SF.Form.RecordSource = "select Asset_Photo from tb_Asset where Asset_ID = " & Cstr(Me.cbo_Loanasset)
    End If

นอกจากนี้ให้กำหนด property เหล่านี้เอาไว้ด้วย

สำหรับ A
Control Source เป็น Asset_Photo
Enabled   No

สำหรับ F
Record Selectors   No
Naviagtion Buttons   No
Dividing Lines      No
Scroll Bars         Neither
Recordset Type      Snapshot

ที่เหลือก็ปรับขนาดกรอบรูปเท่านั้นครับ

247
เลือก Data Entry property ของฟอร์มเป็น Yes เท่านี้เองครับ

248
แย่แล้วผม ทำไมผิดอย่างนี้    DoCmd.SetWarnings False หรือ True ไม่ต้องมีเครื่องหมาย = ครับ

249
ถ้าได้ก็อัพโหลดโปรแกรมมาครับ หรือไม่ก็ค่อยๆ comment หรือตัดไปทีละบรรทัด ดูว่าเมื่อไหร่ไม่มี error ก็แปลว่าบรรทัดนั้นเป็นปัญหาครับ

250
ให้ลองเปลี่ยนชื่อ Loan_No, Loan_Date, Employee_ID, Asset_ID ไปเป็น  Me.ชื่อเท็กซ์บ็อกซ์หรือคอมโบบ็อกส์  ที่ตรงกันบนฟอร์มดูครับ  ถ้ายังไม่ได้อีก ก็ให้ลอง Compact and Repair Database ครับ

251
อ้างถึง
ขึ้นว่า Invalid SQL Statement ครับ
แปลว่า SELECT statement นั้นมีอะไรผิดแล้ว เช็คดีๆครับว่าชื่อฟิลด์ ชื่อเทเบิล ถูกต้องหรือไม่

อ้างถึง
ใน Tb_Assets นั้นตรงฟิลด์ที่เป็น Yes/No มันเอาติ๊กออกหมดเลยครับกลายเป็น No หมดเลย
ในคำสั่ง DoCmd.RunSQL "UPDATE ... เช็คชื่อฟิลด์ เทเบิล และคอมโบบ็อกส์ว่าถูกต้องหรือไม่

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

สุดท้าย ให้คลิกที่เมนู Debug และ Compile ดูว่ามีข้อผิดพลาดอะไรแสดงออกมาหรือไม่

ปล.คงอีกหลายชั่วโมงผมถึงเข้ามาตอบอีกทีครับ

252
อ้างถึง
คราวนี้เป็น Status เป็น No หมดทุกตัวเลยครับอาจารย์
หมายถึงคอมโบบ็อกส์แสดงพวกที่เป็น No หมด หรือว่ายังไง

เอาโค้ดที่เขียนมาให้ดูอีกทีครับ

และลองทดสอบโดยการก็อปปี้ข้อความในส่วนสีแดง (จากโค้ดคุณเองนะ ไม่ใช่ก็อปจากคำตอบนี้) แล้วไปเปิด Query ใหม่สักตัว เลือกแสดงเป็น SQL View  แปะข้อความที่ก็อปปี้ลงไป  แล้วเปิดเป็น Datasheet View ดูว่าผลเป็นอย่างไร
 
Me.Asset_ID.RowSource = "  SELECT Asset_ID FROM Tb_Assets WHERE ASSET_Status = YES  "

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