แสดงกระทู้

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
ตอนนึ้แก้ปัญหาได้แล้วค่ะ
โดยลบโมดูล mousehook ออกไปไม่ต้องใช้เลย เพราะ64bit ไม่จำเป็นต้องใช้ mousehook แล้วค่ะ
โพสต์นี้ได้รับคำขอบคุณจาก: OddyWriter

2
ขอบคุณค่ะอาจารย์ OddyWriter
บังเอิญโจทย์ของคุณ 001jetnipit ตรงกับที่หนูเคยทำเล่นลองผิดลองถูกอยู่ระยะหนึ่ง
ตอนหลังหนูไม่ได้ใช้เทคนิคนี้แล้วเพราะเบื่อผลข้างเคียงของมันก็คือ
ถ้าเครื่องเราเปิดใช้โปรแกรมหรือโฟลเดอร์อื่นอยู่ก่อน
เจ้าฟอร์มป็อปอัพของเรามันไม่ยอมป็อปอัพซะงั้น แต่กลับไปแอบอยู่ข้างหลังเฉยเลย
เข้าใจว่าอาจเป็นเพราะ Access ถูกเราสั่งให้ Minimize หรือเปล่า
โพสต์นี้ได้รับคำขอบคุณจาก: 001Jetnipit

3
ขออนุญาตตอบคุณ 001jetnipit นะคะ
เห็นว่าคุณได้ทำฟอร์มป็อปอัพไว้แล้ว ลองทำอย่างนี้ดูนะคะ

ที่อีเวนต์ เมื่อเปิด ของฟอร์มป็อปอัพ ใส่คำสั่งนี้ลงไป (ต้องเป็นฟอร์มป็อปอัพนะคะ)
 DoCmd.RunCommand acCmdAppMinimize

และที่อีเวนต์ เมื่อปิด ของฟอร์มป็อปอัพ ใส่คำสังนี้ลงไปเพื่อคืนค่าเดิมค่ะ
 DoCmd.RunCommand acCmdAppRestore
หรือ
 DoCmd.RunCommand acCmdAppMaximize

ลองประยุกต์ใช้ดูนะคะ
โพสต์นี้ได้รับคำขอบคุณจาก: OddyWriter, 001Jetnipit

4
ขออนุญาตเพิ่มเติมค่ะ
เบื้องต้นลองตั้งค่าตัวเลือกของ Access ดูก่่อนนะคะว่าได้ไหม ตามในรูปค่ะ

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

5
เย้.... :shout:
สำเร็จแล้ว ขอบคุณมากค่ะอาจารย์
โพสต์นี้ได้รับคำขอบคุณจาก: pirin

6
ต้องใช้ 7-Zip แยกไฟล์ ตอนนี้สามารถเปิดไฟล์ตัวอย่างได้แล้วค่ะอาจารย์
ขอขอบคุณ @Maki ด้วยนะคะ
โพสต์นี้ได้รับคำขอบคุณจาก: MAKI

7
รบกวนขอไฟล์ตัวอย่างไว้ศึกษาเพื่อเป็นความรู้ค่ะ
ไฟล์ตัวอย่างที่คุณ Maki โพสไว้นั้น โหลดไปแล้วเปิดไม่ได้ค่ะ(ไฟล์เสีย)
โพสต์นี้ได้รับคำขอบคุณจาก: MAKI

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

9
ลองเข้าไปดูที่นี่นะคะ อ. TTT มีคำตอบอยู่ค่ะ

https://www.thai-access.com/yeadram_view.php?topic_id=5420
โพสต์นี้ได้รับคำขอบคุณจาก: UnKnown

10
ขออนุญาตแชร์ประสบการณ์นะคะ

โดยปกติโปรแกรมที่ทำจาก 2003 ก็สามารถนำไปเปิดใช้กับ2016 ได้อยู่แล้ว
แต่จากกรณีคำถามคือต้องการแปลงไปเป็น 2016 ก็สามารถทำได้ดังนี้ค่ะ

-เอาโปรแกรมที่ต้องการแปลง ไปเปิดใน Access2016
-ไปที่เมนู แฟ้ม ให้เลือกไปที่ "บันทึกฐานข้อมูลเป็น" หรือ "บันทึกและประกาศ"
-เลือกอ็อปชั่นที่ต้องการแล้วก็ตั้งชื่อใหม่ เสร็จแล้วค่ะ ลองดูนะคะ
โพสต์นี้ได้รับคำขอบคุณจาก: สันติสุข

11
สุดยอดเลยค่ะอาจารย์
หนูขออนุญาตโหลดไฟล์โปรแกรมตัวอย่างของอาจารย์
ไปเก็บไว้ศึกษาปรับประยุกต์ใช้งานต่อด้วยอีกคนนะคะ

ขอบคุณเจ้าของกระทู้นี้ด้วยเช่นกันค่ะ
โพสต์นี้ได้รับคำขอบคุณจาก: ปิ่นณรงค์, aek

12
ขออภัยค่ะ ส่งผิดตัว เอาอันนี้นะคะ (New 33-Copy3.rar)

ในฟอร์มของคุณหนูเจอ error ตรง nEmployee ค่ะ

===================
  Cancel = (nEmployee = 0) 
 ===================
  If nEmployee > 0 Then
        InOut "tb_การใช้งาน", "เวลาออก", False
    End If
===================

ไม่ทราบว่าคืออะไร ลองไปค้นหาแก้ไขดูนะคะ
โพสต์นี้ได้รับคำขอบคุณจาก: Anuwat Jaijomkun

13
 :shout: เย้..ขอบคุณค่ะอาจารย์ทั้งสองท่าน ใช้ได้แล้วค่ะ
 หนูเลือกใช้แบบของ อ.สันติสุข นะคะ

Forms("ชื่อฟอร์ม").SetFocus
Docmd.RunCommand acCmdDocMinimize
และ
Docmd.RunCommand acCmdDocRestore

ตรงตามที่หนูต้องการเลยค่ะ เพราะต้องการสั่งจากปุ่มคำสั่ง ซึ่งอยู่ในฟอร์มตัวอื่นค่ะ
โพสต์นี้ได้รับคำขอบคุณจาก: Tawat

14
ยอดเยี่ยมเลยค่ะ..ใช้ได้ตามที่ต้องการแล้ว

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

หนูเลือกใช้คำสั่ง .Columns("A").EntireColumn.AutoFit สะดวกสวยงามได้ตามที่ต้องการเลยค่ะ

จากการทดสอบดูหลายๆครั้งแล้ว พบว่า เจ้าเซลส์ที่ประสาน มันสร้างเพิ่มขึ้นมาใหม่เรื่อยๆครั้งละ 2 แถว ตามจำนวนครั้งที่เราสั่ง Export
เช่นจาก 2 เป็น 4 เป็น 6 เป็น 8 .... ทำอย่างไรจะให้มันอัพเดต ทับแทนที่เซลส์ที่ผสานตัวเดิมไปเลย โดยไม่ต้องสร้างเซลส์ผสานกันใหม่

ในส่วนของข้อมูลนั้น OK ไม่มีปัญหาค่ะ มันอัพเดตทับแทนที่ข้อมูลเดิมไปเลยค่ะ
โพสต์นี้ได้รับคำขอบคุณจาก: pirin

15
ขออนุญาตรบกวนเพิ่มเติมอีกนิดนะคะอาจารย์

จากคำสั่งดังกล่าว เราสามารระบุขนาดความกว้างของแต่ละเซลส์ ลงไปด้วยได้ไหมคะ

เช่น

เซลส์ A = 50 พิกเซล
เซลส์ B = 100 พิกเซล
เซลส์ C = 150 พิกเซล
เซลส์ D = 200 พิกเซล
เซลส์ E = 250 พิกเซล
เซลส์ F = 300 พิกเซล

ประมาณนี้ค่ะอาจารย์
โพสต์นี้ได้รับคำขอบคุณจาก: pirin

16
 :shout: เย้...ใช้ได้ตามที่ต้องการเลยค่ะอาจารย์

หนูนำโค๊ดไปปรับแต่งใช้ดังนี้ค่ะ

Private Sub Command0_Click()
    Dim xlApp           As Object
    Dim xlWorkbook      As Object
    Dim xlSheet         As Object
   
    DoCmd.TransferSpreadsheet acExport, , "Query1", "D:\ExportQuery1.xls", True
   
    Set xlApp = CreateObject("excel.application")
    Set xlWorkbook = xlApp.Workbooks.Open("D:\ExportQuery1.xls")
    Set xlSheet = xlWorkbook.activesheet

    With xlSheet.range("A1")
        .entirerow.insert -4121             ' Insert and Shift Row Down
        .entirerow.insert -4121             ' Insert and Shift Row Down
        xlApp.DisplayAlerts = False
        xlSheet.range("A1:F2").merge        ' Merge Cells (ผสานเซล A1:F2)
        xlApp.DisplayAlerts = True
    End With
   
    With xlSheet.range("A1")
        .Value = "ชื่อหัวเรื่องที่ต้องการ"
        .Font.Name = "Tahoma"
        .Font.Size = 18
        .Font.Bold = True
        .HorizontalAlignment = -4108        ' Align Center
    End With

End Sub

แต่ เกิดปัญหาเล็กน้อยกับไฟล์ Excel ขณะตอนเปิดไฟล์ มีแจ้งประมาณว่า ไฟล์นี้ถูกเปิดอยู่แล้ว (ตามรูปค่ะ)
ไม่ทราบว่า ต้อแก้ไขอย่างไรคะ ขอบคุณค่ะอาจารย์

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

17
ขอเรียนถามดังนี้นะคะ

หนูสั่ง Export ข้อมูลจาก Quary to Excel มันก็ได้ข้อมูลแบบตรงไปตรงมาได้ตามปกติค่ะ
แต่ทีนี้ หนูเกิดกิเลสหนาอยากให้ได้ไฟล์ Excel ที่มีการผสานเซล พร้อมระบุชื่อเรื่องลงไปด้วย
ถัดลงมาก็ให้เป็นแถวข้อมูลที่เรา Export ข้อมูลจาก Quary ตามปกติค่ะ

ไม่ทราบว่าสามารถทำได้หรือไม่อย่างไรคะ (ตามรูปตัวอย่างค่ะ)
ID : pbr39o-9aa58e
2018-07-12 18:15:24
โพสต์นี้ได้รับคำขอบคุณจาก: pirin

หน้า: [1]