แสดงกระทู้

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] 2 3 4 5
2
สำหรับ Gmail ใช้อันนี้ได้ครับ
https://wellsr.com/vba/2020/excel/vba-send-email-with-gmail/ link
แล้วก็เปิด App password gmail นำพาสที่ได้มาใช้ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

3
คือคุณต้องการ Update ข้อมูลในตารางไหน คุณเอาตารางนั้นมาทำ Update Query ครับ ไม่จำเป็นต้องทำ Union เลยนี่นา เพราะ Union นั้นเขาเอาไว้ดูข้อมูลอย่างเดียว

คราวนี้มาดูรูปแบบการกรอกข้อมูลแล้ว มันเหมาะกับ Excel มากกว่า เนื่องจากยังไม่ได้ทำ Normalization
การใช้งานฐานข้อมูลนั้นต้องทำ Normalization ครับ เรื่องนี้เป็นเรื่องสำคัญมากมาย

ถ้าคุณทำ Normalization แล้ว การ Update ข้อมูลน่าจะทำได้ง่ายกว่านี้ครับ
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

4
คือถ้า Query ประเภทที่แก้ไขข้อมูลไม่ได้ คือแก้ไขไม่ได้ครับ
วิธีการคือให้สร้าง Update Query เพื่อไปแก้ไขข้อมูลในตารางที่นำมาทำ Union ครับ จากนั้นก็สั่ง Requery อีกที่หลังจาก Update Query ทำงานเสร็จ
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

5
ห้อง MS Access / : ความเข้าใจ .Tag code vb access
« เมื่อ: 17 ก.ย. 63 , 11:13:59 »
.Tag ในกรณีของผมเอามาใช้ในการจัดกลุ่มโดยในหน้า Property -> Ohter จะมีให้ใส่ Tag อยู่
ตัวอย่างผมมี combo box อยู่หลายตัวแต่เมื่อใช้คำสั่งนี้อยากให้มีผลเฉพาะตัวที่กำหนด Tag "B1" ใว้เท่านั้น

อ้างถึง
Private Sub CleanAllFieldsButton_Click()
Dim ctl As Control
    For Each ctl In Me.Controls
    Select Case ctl.ControlType

    Case acComboBox And ctl.Tag = "B1"
           ctl.Value = Null

    End Select
   Next

    Set ctl = Nothing
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

6
Map Google Drive in Windows (ตัวอย่างเขาเพิ่มเป็นไดรฟ์ I)

หมายเหตุ ทุกเครื่องที่ลงโปรแกรมแล้วเชื่อมต่อจะเห็นข้อมูลใน Google Drive เหมือนทำ map network drive

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

7
ห้อง MS Access / : สอบถามเรื่องDCount ค่ะ
« เมื่อ: 10 ก.ย. 63 , 20:46:55 »
proReq_start_date--> ชื่อฟิลด์ก็บราคา === ชื่อฟิลด์วันที่เปล่าครับ ถ้าใช่ก็ใช้ #field# กับวันที่
com_price = DCount("[Pro_pro]", "[qry_Assess with details]", "[Pro_pro]= " & Pro_pro & " And [proReq_start_date]=#" & Me.proReq_start_date & "#")
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

8
ไม่แนะนำให้ใช้ OneDrive ครับ

จากที่เคยทดลองมา ถึงจะสามารถใช้ได้ก็จริง แต่มันใช้เวลาในการ Process แต่ละ Transaction นานมาก ตอนทดสอบก็ประมาณ 30 วินาทีต่อ 1 เรคอร์ด

สมมติว่ามีผู้ใช้ 2 คน ชื่อ A กับ B

เวลา A ป้อนข้อมูลแล้วกด Enter ทั้ง A และ B ต้องรอประมาณ 30 วินาทีกว่าจะเห็นว่าข้อมูลถูก Update แล้ว

แนะนำว่าให้เก็บไฟล์ไว้ใน Server ของหน่วยงานแล้ว Share ให้ใช้จะเร็วกว่า

ถ้า 2 หน่วยงานอยู่ไกลกันก็เพิ่ม VPN เข้าไป
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

9
1.ชุดคำสั่งทำให้ข้อความขึ้นบรรทัดใหม่ = Chr(13) & Chr(10)   :love:
ขอบคุณวิธีจาก https://stackoverflow.com/questions/14619671/how-to-make-2-lines-in-a-text-box-in-microsoft-access-2010 link

2.ชุดคำสั่งเลือกข้อความทั้งหมดแล้วก็อบปี้   :enjoying:
โค๊ด: [Select]
    Me.textbox1.SetFocus
    DoCmd.RunCommand acCmdCopy
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

10
จากที่เคยติดตั้งมาในเรื่องการลง Access Runtime
ระบบจะเช็ค version ของ Office (ปัจจุบันเปลี่ยนชื่อเป็น Microsoft แล้ว) ในเครื่องที่ลงด้วยนะครับ

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

11
ห้อง MS Access / : สอบถามเกี่ยวกับ report
« เมื่อ: 04 พ.ค. 63 , 23:13:07 »
คำถามชวนงงมากครับ
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

12
ลืมแจ้งเพิ่มเติม ตอนกดปุ่ม save ลองจับ error ดู มันฟ้อง
error 3021 No current record.


ตอนนี้แก้ปัญหาได้แล้วครับ
ตอบไว้เผื่อใครเจอปัญหาเดียวกันครับ

--------------------------------------
ผมทดลองโคลนตาราง customer จากเดิมชนิดข้อมูล ที่เก็บค่า จริงเท็จ
case1 > customer_test1 ใช้เป็นค่าเดิมคือ bit(1) ใน Access แสดงชนิดข้อมูลเป็น Yes/No
case2 > customer_test2 แก้ไขจาก bit(1) เป็น tinyint(1) ใน Access แสดงชนิดข้อมูลเป็น Number(integer)
case3 > customer_test3 ลบฟิลด์ข้อมูล bit(1) ทิ้งทั้งหมด
case4 > customer_test3 สร้างฟิลด์ ชนิดข้อมูล bit(1) เหมือน case 1

ทดลองเปิดด้วยฟอร์มเดิม เปลี่ยนแค่ Record Source

case1 > แก้ไขข้อมูลไม่ได้ แจ้ง write conflict เหมือนเดิม
case2 > แก้ไขข้อมูลได้ปกติอย่างที่ต้องการ  (mySQL เก็บค่า True = -1 / False = 0)
case3 > แก้ไขข้อมูลได้ปกติอย่างที่ต้องการ 
case4 > แก้ไขข้อมูลได้ปกติอย่างที่ต้องการ  (mySQL เก็บค่า True = 1 / False = 0)

แต่มีตาราง Product ที่แม้ว่าค่าเดิมจะเป็น bit(1) ก็สามารถใช้งานได้ปกติ

ดูไปดูมา ปรากฎว่า ฟิลด์ที่จะเก็บค่าจริงเท็จ มีเป็นค่า NULL d

- สรุป -
เป็นเพราะฟิลด์ที่เป็น bit(1) มีค่า NULL
ใน case 4 ที่ลบ ฟิลด์ข้อมูล bit(1) ทิ้งแล้วสร้างใหม่ เป็น bit(1) เหมือนเดิม แต่ใช้งานได้ เพราะเมื่อสร้างใหม่ ค่าเริ่มต้นถูกกำหนดให้เป็น 0 ทั้งหมด ไม่มีฟิลด์ใดว่าง
ใน case 2 แม้มีค่าว่าง แค่ใช้งานได้ปกติ เดาว่า เพราะ tinyint(1) อนุญาตให้มีค่าว่างได้


แต่สุดท้ายผมจะเปลี่ยนฟิลด์ bit(1) เป็น tinyint(1) ทั้งหมด

ขอบคุณครับ

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

13
ขอบคุณค่ะอาจารย์
ได้แนวทางแล้วค่ะ
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

14
ได้ครับ ต้องสร้างระบบ Login แล้วเช็คว่าผู้ใช้คนนี้อยู่แผนกไหน ก็ให้เห็ยเฉพาะข้อมูลของแผนกตัวเอง
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

15
ใช้วิธีเมื่อไปที่ bill_no ให้ทำการตรวจสอบว่า shop มีค่าว่างอยู่หรือไม่?
โค๊ด: [Select]
Private Sub bill_no_GotFocus()
    If Me.shop = "" Then
    MsgBox "ป้อนข้อมูล shop ก่อนนะ"
    Me.shop.SetFocus
    End If
End Sub
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

16
ตอนแรกคือมีกระทู้ในไทยเสี่ยวเกี่ยวกับการทำเว็บให้ google adsene มาตรวจสอบ(ของเขาไม่ผ่าน) ผมลองเอามาทำบอร์ดเราผ่านแต่ดันแถมโฆษณามาแทรกด้านบนนะครับ และบนมือถือบ้างครั้งจะมีโฆษณาแนวป๊อปอัพเด่งมาเวลากดลิ้งในเว็บด้วย นี่คือข้อเสียผมจึงไปปิดตามที่ว่านะครับ

ส่วนโฆษณาด้านล่างนั้นเป็นของอากู๋เช่นกันนะครับ(เดิมมีอยู่แล้ว)ขอแบ่งเป็น2แบบครับ คือ
1. PC เดิมขนาดมันก็ไม่สูงมากเท่าไหร่ผมคงไปตั้งค่าอะไรอาเขาเลยเพิ่มความสูงมาให้ :slow:
2. มือถือ จากที่ผมปรับให้หน้าเว็บรองรับมือถือ 100% อาเขาก็เลยเปลี่ยนรูปแบบโฆษณามาให้ใหม่เช่นกันครับ :XD:
สรุป 1-2 นั่นโค้ดเดียวกันผู้ชมเปิดดูผ่านอะไรอากู๋ตรวจสอบและจัดมาแสดงเองนะครับ ยังไงก็ขอฝากใว้นะครับ :prettiness:


ภาพตัวอย่างบนมือถือที่ผมงงว่ามาได้ไงนะ ท่านยังเจอแบบนี้กันใหมครับ :question:
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

หน้า: [1] 2 3 4 5