กระทู้เก่าบอร์ด อ.Yeadram
5,129 12
URL.หัวข้อ /
URL
Export File เป็น Excel หลาย File โดยแยกจากชื่อใน r
ตัวอย่าง
Name Age
A 30
B 25
C 40
D 30
E 30
F 25
ต้องการให้ Export เป็น Excel โดยแยก File Excel ตามอายุ
Excel ตัวที่ 1 ชื่อ Age25 ประกอบด้วย นายฺB , นายF
Excel ตัวที่ 2 ชื่อ Age30 ประกอบด้วย นายA , นายD , นายE
Excel ตัวที่ 3 ชื่อ Age40 ประกอบด้วย นายฺC
Name Age
A 30
B 25
C 40
D 30
E 30
F 25
ต้องการให้ Export เป็น Excel โดยแยก File Excel ตามอายุ
Excel ตัวที่ 1 ชื่อ Age25 ประกอบด้วย นายฺB , นายF
Excel ตัวที่ 2 ชื่อ Age30 ประกอบด้วย นายA , นายD , นายE
Excel ตัวที่ 3 ชื่อ Age40 ประกอบด้วย นายฺC
12 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R02305
คุณ Gerald ครับ รบกวนอธิบายโดยละเีอียดด้วยครับ อ่านแล้วยังไม่ค่อยเข้าใจ ขอบคุณครับ
3 @R02309
ขอโทษนะผมบอกแบบการเขียนบนฟอร์ม
เอาแบบนี้
- สร้างคิวรี่ มา 3 ตัว
1. ให้แสดงเฉพาะอายุ 25 ชื่อ qry_Age25
2. ให้แสดงเฉพาะอายุ 30 ชื่อ qry_Age30
2. ให้แสดงเฉพาะอายุ 40 ชื่อ qry_Age40
- สร้างฟร์อม frm_AAA
cmd_Export (Button ปุ่ม) ที่Event Click ใส่ code นี้
DoCmd.OutputTo acOutputQuery, "qry_Age25", acFormatXLS, "C:\Age_25.xls"
DoCmd.OutputTo acOutputQuery, "qry_Age30", acFormatXLS, "C:\Age_30.xls"
DoCmd.OutputTo acOutputQuery, "qry_Age40", acFormatXLS, "C:\Age_40.xls"
**ที่ผมตอบใว้ในครั้งแรก มันจะมีประโยชน์ที่ หาก data ท่านมี อายุ ไม่ใช่ 25,30,40 ท่านโปรแกรม มันก็ยังทำงานแล้วท่านก็เลือก export ได้ด้วย เพราะตัวแปรแบบไม่ตายตัวครับ
เอาแบบนี้
- สร้างคิวรี่ มา 3 ตัว
1. ให้แสดงเฉพาะอายุ 25 ชื่อ qry_Age25
2. ให้แสดงเฉพาะอายุ 30 ชื่อ qry_Age30
2. ให้แสดงเฉพาะอายุ 40 ชื่อ qry_Age40
- สร้างฟร์อม frm_AAA
cmd_Export (Button ปุ่ม) ที่Event Click ใส่ code นี้
DoCmd.OutputTo acOutputQuery, "qry_Age25", acFormatXLS, "C:\Age_25.xls"
DoCmd.OutputTo acOutputQuery, "qry_Age30", acFormatXLS, "C:\Age_30.xls"
DoCmd.OutputTo acOutputQuery, "qry_Age40", acFormatXLS, "C:\Age_40.xls"
**ที่ผมตอบใว้ในครั้งแรก มันจะมีประโยชน์ที่ หาก data ท่านมี อายุ ไม่ใช่ 25,30,40 ท่านโปรแกรม มันก็ยังทำงานแล้วท่านก็เลือก export ได้ด้วย เพราะตัวแปรแบบไม่ตายตัวครับ
4 @R02664
คุณ Gerald ครับ หากว่ากลุ่มข้อมูลมีมากว่า และ ในชุดข้อมูลแต่ละชุดมีกลุ่มข้อมูลไม่แน่นอนลุครับ ต้องทำอย่างไรครับ
5 @R02666
ขอร่วมแสดงความคิดเห็น ถ้าเกิดไปจัดทำเป็นตารางขึ้นใหม่ไว้เก็บกลุ่มหรือประเภทที่ต้องการส่งออก แล้วค่อยเอาค่าในตารางไปจัดการเรื่องส่งออกอีกที และถ้าต้องการรายงานเพิ่มจากกลุ่มเดิมที่มีอยู่ในตารางก็เพิ่มข้อมูลเข้าไปในตารางนี้
6 @R02668
Q: หากว่ากลุ่มข้อมูลมีมากว่า และ ในชุดข้อมูลแต่ละชุดมีกลุ่มข้อมูลไม่แน่นอน
A: ต้องถามก่อนว่า เราจะExport ข้อมูลตามกลุ่มของอะไร หรือใช้อะไรเป็นเงื่อนไข
จากโจทย์ ต้องการให้ Export เป็น Excel โดยแยก File Excel ตามอายุ แล้วจำเป็นมากแค่ไหนที่ต้องแยก 1 กลุ่มอายุ เป็น 1 excel file ถ้าอยากให้โปรแกรมยืดหยุ่นก็ใช้วิธ๊ที่ผม แนะนำให้ทำ combo เมื่อexport to excel file แล้ว Rename ด้วยมืออีกที
** ผมไม่เห็นตัวอย่า่งข้อมูลนะ อาจนึกภาพไม่ออก หรือ ไม่ตรงคำถามก็ได้
A: ต้องถามก่อนว่า เราจะExport ข้อมูลตามกลุ่มของอะไร หรือใช้อะไรเป็นเงื่อนไข
จากโจทย์ ต้องการให้ Export เป็น Excel โดยแยก File Excel ตามอายุ แล้วจำเป็นมากแค่ไหนที่ต้องแยก 1 กลุ่มอายุ เป็น 1 excel file ถ้าอยากให้โปรแกรมยืดหยุ่นก็ใช้วิธ๊ที่ผม แนะนำให้ทำ combo เมื่อexport to excel file แล้ว Rename ด้วยมืออีกที
** ผมไม่เห็นตัวอย่า่งข้อมูลนะ อาจนึกภาพไม่ออก หรือ ไม่ตรงคำถามก็ได้
7 @R08991
เรียน คุณ Gerald
กรณีที่หากกลุ่มข้อมูลมีเป็น 100 กลุ่ม ซึ่งอาจต้องสร้างคิวรี่เป็น 100 กลุ่ม พอจะมีวิีธีอื่นอีกหรือไม่ครับ
กรณีที่หากกลุ่มข้อมูลมีเป็น 100 กลุ่ม ซึ่งอาจต้องสร้างคิวรี่เป็น 100 กลุ่ม พอจะมีวิีธีอื่นอีกหรือไม่ครับ
8 @R08993
อาจารย์ช่วยตรวจให้หน่อยครับ
คุณ เด็กอยากรู้ ลองดูน่ะครับ ผมก็มือใหม่ครับ
Dim db As DAO.Database, rs As DAO.Recordset, rst As DAO.Recordset
Dim i As Integer
Set db = CurrentDb
Set rs = db.OpenRecordset("Query1")
For i = 1 To rs.RecordCount
DoCmd.SetWarnings False
DoCmd.RunSQL "Delete * from Table2"
DoCmd.SetWarnings True
SQL = "INSERT INTO Table2( NAME_, AGE_Group) SELECT Table1.NAMEGROUP, Table1.Age_Group"
SQL = SQL + " FROM Table1"
SQL = SQL + " Where Table1.Age_Group = '" & rs(0) & "'"
DoCmd.SetWarnings False
DoCmd.RunSQL SQL
DoCmd.SetWarnings True
DoCmd.OutputTo acOutputTable, "table2", acFormatXLS, "C:\" & rs(0) & ".xls"
rs.MoveNext
Next i
คุณ เด็กอยากรู้ ลองดูน่ะครับ ผมก็มือใหม่ครับ
Dim db As DAO.Database, rs As DAO.Recordset, rst As DAO.Recordset
Dim i As Integer
Set db = CurrentDb
Set rs = db.OpenRecordset("Query1")
For i = 1 To rs.RecordCount
DoCmd.SetWarnings False
DoCmd.RunSQL "Delete * from Table2"
DoCmd.SetWarnings True
SQL = "INSERT INTO Table2( NAME_, AGE_Group) SELECT Table1.NAMEGROUP, Table1.Age_Group"
SQL = SQL + " FROM Table1"
SQL = SQL + " Where Table1.Age_Group = '" & rs(0) & "'"
DoCmd.SetWarnings False
DoCmd.RunSQL SQL
DoCmd.SetWarnings True
DoCmd.OutputTo acOutputTable, "table2", acFormatXLS, "C:\" & rs(0) & ".xls"
rs.MoveNext
Next i
9 @R08994
ผมสร้างTable2 อีกอันหนึ่ง คล้ายกับ Table1
10 @R08995
SQL View ของ Query1
SELECT Table1.Age_Group
FROM Table1
GROUP BY Table1.Age_Group;
SELECT Table1.Age_Group
FROM Table1
GROUP BY Table1.Age_Group;
11 @R09007
ลองทำแบบนี้ดูมั๊ย คิวรี่ Group by Age มีจำนวนค่าต่างกันเท่าไร
ทำ Loop วิ่งตามค่าที่ได้ แล้ว Export ตามค่า Age นั้น ท่านจะได้ จำนวน ไฟล์ excel เท่านั้น
** แล้วจะเอา ไฟล์ แบบนั้นไปทำอะไร บริษัท มี 100 คน อาจได้ ไฟล์ เกือบ 40 ไฟล์ ถ้า อายุเริ่ม งาน 20 ปี ไม่เกิน 60 ปี
ทำ Loop วิ่งตามค่าที่ได้ แล้ว Export ตามค่า Age นั้น ท่านจะได้ จำนวน ไฟล์ excel เท่านั้น
** แล้วจะเอา ไฟล์ แบบนั้นไปทำอะไร บริษัท มี 100 คน อาจได้ ไฟล์ เกือบ 40 ไฟล์ ถ้า อายุเริ่ม งาน 20 ปี ไม่เกิน 60 ปี
12 @R09010
เรียน คุณ Gerald
คือผมต้องการนำไปประยุกต์ใช้กับข้อมูลตัวอื่น ซึ่งมีลักษณะคล้ายกับตัวอย่างนี้นะครับ รบกวนคุณ Gerald ด้วยครับ
คือผมต้องการนำไปประยุกต์ใช้กับข้อมูลตัวอื่น ซึ่งมีลักษณะคล้ายกับตัวอย่างนี้นะครับ รบกวนคุณ Gerald ด้วยครับ
Time: 0.2784s
-สร้างคิวรี่โดยรับ รับเงื่อนไขจาก combo
DoCmd.OutputTo acOutputQuery, "qry_XXX", acFormatXLS, "C:\Age_group.xls"