แสดงกระทู้

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 ... 3 4 5 [6] 7
91
 :shout: เย้..สำเร็จได้ผลตามที่ต้องการแล้วค่ะ

ขอขอบคุณอาจารย์นะคะ

92
ความต้องการของหนูก็คือ ต้องการให้ insert ข้อมูลจากตารางหลัก (Tbl_A) จากไฟล์เป้าหมาย (Sample.mde) เข้ามาก่อน
จากนั้นจึง insert ข้อมูลจากตารางรองๆอีก 5 ตาราง (Tbl_B,C,D,E,F)  จากไฟล์เดียวกันเข้ามา โดยมีเงื่อนไขดังนี้

หากไม่พบตาราง (Tbl_A) จากไฟล์เป้าหมาย ก็ให้ขึ้น msg แจ้งเตือน
พร้อมกับยุติการ insert ข้อมูลจากตารางรองๆ ทั้งหมด และ ออกจากคำสั่ง

แต่หากพบตาราง (Tbl_A) จากไฟล์เป้าหมาย ก็ให้ทำการ insert ข้อมูล (Tbl_A )เข้ามาตามปกติ
พร้อมทั้ง insert ข้อมูลจากตารางรอง ตามเข้ามาทั้งหมด โดยที่แม้ว่า ตารางรอง บางตารางอาจไม่มีอยู่ ก็ไม่เป็นไร ให้ผ่านได้ โดยไม่ต้องขึ้น error

เบื้องต้น หนูได้ทดลองสร้างคำสั่งไว้ดังนี้

DoCmd.RunSQL "insert into Tbl_A´ select * from Tbl_A´ in ""C:\Sample.mde"""
DoCmd.RunSQL "insert into Tbl_B´ select * from Tbl_B´ in ""C:\Sample.mde"""
DoCmd.RunSQL "insert into Tbl_C´ select * from Tbl_C´ in ""C:\Sample.mde"""
DoCmd.RunSQL "insert into Tbl_D´ select * from Tbl_D´ in ""C:\Sample.mde"""
DoCmd.RunSQL "insert into Tbl_E´ select * from Tbl_E´ in ""C:\Sample.mde"""
DoCmd.RunSQL "insert into Tbl_F´ select * from Tbl_F´ in ""C:\Sample.mde"""

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

93
 :shout: เย้.. สำเร็จแล้วค่ะอาจารย์

ขอขอบคุณมากๆเลยนะคะ

94
ยังไม่ได้ค่ะอาจาย์ มันขึ้นแถบสีเหลืองตามรูปค่ะอาจารย์

95
ขออนุญาตถามเพิ่มต่อจากโค๊ดนี้ค่ะ
โค๊ด: [Select]
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

With xlSheet
      .Columns("A").ColumnWidth = ......
      .Columns("B").ColumnWidth = ......
      .Columns("C").ColumnWidth = ......
      .Columns("D").ColumnWidth = ......
      .Columns("E").ColumnWidth = ......
      .Columns("F").ColumnWidth = ......
  End With   
    xlApp.ActiveWorkbook.Close True
End Sub

จากโค๊ดข้างบนนี้ หากเราต้องการจะกำหนดขนาด/แบบอักษร เฉพาะแถวที่ 5
สมมติให้เป็น tahoma ขนาด 11 (เฉพาะแถวที่5) ต้องเพิ่มเติมคำสั่งอย่างไรคะ

หรือหากจะสั่งให้ทุแถวให้เป็น tahoma ขนาด 11 ทั้งหมดเลยต้องทำอย่างไรคะอาจารย์
 

96
ขอบคุณค่ะอาจารย์

ปัจจุบันหนูก็ใช้ฟอร์ม Data Sheet เพื่อแสดงข้อมูลตามที่ต้องการอยู่แล้วล่ะ
เพียงแต่สงสัยว่า หากจะลองจัดรูปแบบใน Query ดูบ้างจะสามารถทำได้หรือไม่ค่ะ

97
การแสดงผลข้อมูลในคอลั่มของคิวรี่ เราสามารถกำหนดตำแหน่งข้อความ ให้มันชิดซ้าย กึ่งกลาง หรือ ชิดขวา ตามใจเราได้ไหมคะ

แบบว่าบางคอลั่ม ก็อยากให้มันแสดงชิดซ้าย ชิดขวา หรือ กึ่งกลาง อะไรทำนองนี้ค่ะ

98
ขอบพระคุณอย่างยิ่งค่ะอาจารย์

พอจะทราบหลักการและความแตกต่างบ้างแล้วค่ะ
หนูคงยังต้องศึกษาอีกมากมายเลยล่ะ

99
Class Module กับ Module

อยากทราบว่า Module สองแบบนี้ มีความหมาย ต่างกันอย่างไรคะ
ใช้แทนกันได้ไหม

เมื่อใดจะต้องใช้ Class Module
และเมื่อใดจะต้องใช้ Module แบบธรรมดา

ขอบคุณค่ะ

100
ขอเรียนสอบถามเพิ่มเติมค่ะอาจารย์

ระยะห่างจากเลขบรรทัด กับส่วนแรกของโค๊ด ต้องเว้นระยะห่างสักเท่าไหร่คะ และต้องใช้ระยะห่างเท่ากันทั้งหมดด้วยหรือเปล่าคะ

101
ขอบคุณค่ะอาจารย์TTT
หนูจะลองนำไปปรับแก้ดูนะคะ

102
ตอนนี้ หนูแก้ปัญหาดังกล่าวได้แล้วค่ะ
โดยการเพิ่มคำสั่ง ให้มันลบไฟล์ Excel ตััวเดิมออกไปก่อน แล้วจึงตามด้วยคำสั่ง Export ไฟล์ตัวใหม่เข้าไปแทนที่
ปิดจ๊อบได้แล้วค่ะ

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

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

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

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

ในส่วนของข้อมูลนั้น OK ไม่มีปัญหาค่ะ มันอัพเดตทับแทนที่ข้อมูลเดิมไปเลยค่ะ

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

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

เช่น

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

ประมาณนี้ค่ะอาจารย์

105
 :shout: เย้..ใช้ได้แล้ว ไม่ขึ้น error ตามในรูปอีกแล้วค่ะอาจารย์

ขอขอบคุณอาจารย์ทั้งสองท่านมากๆเลยนะคะ

106
 :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 ขณะตอนเปิดไฟล์ มีแจ้งประมาณว่า ไฟล์นี้ถูกเปิดอยู่แล้ว (ตามรูปค่ะ)
ไม่ทราบว่า ต้อแก้ไขอย่างไรคะ ขอบคุณค่ะอาจารย์


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

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

ไม่ทราบว่าสามารถทำได้หรือไม่อย่างไรคะ (ตามรูปตัวอย่างค่ะ)
ID : pbr39o-9aa58e
2018-07-12 18:15:24

หน้า: 1 ... 3 4 5 [6] 7