แสดงกระทู้

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 - buakird

หน้า: [1]
1
สาเหตุนี้เกิดกับข้อมูลที่เป็น ข้อความหริอ string ไม่ใช่ตัวเลขครับ
สามารถใช้  Val ช่วย แปลง string เป็นตัวเลขเช่น

SELECT *  FROM [ชื่อตารางหรือคิวรี่] Order by Val([ประสบการณ์/ความรับผิดชอบนการทำงาน]);
โพสต์นี้ได้รับคำขอบคุณจาก: buakird

2
Union all มีแค่ 2 อันครับ
ส่วนเครื่องหมาย ; มีอันเดียวคืออันล่างสุด
การกำหนดชื่อของ Field หรือตารางถ้าชื่อมีช่องว่าง ให้ใส่เครื่องหมาย [ ] ตามที่อาจารย์สันติสุขบอกครับ

โค๊ด: [Select]
select Status,Cname,Surname,Member,Announce from [Buddist Association๗๖-๕๐]
Union all
select Status,Cname,Surname,Member,Announce from [Buddist Association๕๑-๖๐]
Union all
select Status,Cname,Surname,Member,Announce from [Buddist Association๖๑]
Order By Member,Announce;
โพสต์นี้ได้รับคำขอบคุณจาก: buakird

3
ถ้าแค่เอามาเพื่อดู หรือออกรายงาน ก็ให้ทำ Linked-Table จากเทเบิลที่ต้องการของทั้ง 3 ไฟล์  เข้ามาในไฟล์ที่สร้างฟอร์ม  สร้าง UNION Query ที่เป็นการรวมเรคอร์ดจากเทเบิลเหล่านั้นเข้าด้วยกัน แล้วเอาคิวรี่นี้ไปใช้เป็น RecordSource ของฟอร์ม/รายงานก็ได้ครับ  ตย. https://www.thai-access.com/yeadram_view.php?topic_id=475
โพสต์นี้ได้รับคำขอบคุณจาก: buakird

4
ปัญหาของท่านที่ภูมิภาค(GEOGRAPHY) แก้ BoundColumn = 1

แต่ถ้าต้องการให้เก็บภูมิภาคเป็นชื่อ GEOGRAPHY คง BoundColumn = 2 ใว้
มาแก้ Rowsource ของจังหวัดเป็น
โค๊ด: [Select]
SELECT tb_province.province_id, tb_province.Province_th, tb_geography.GEO_NAME FROM tb_province INNER JOIN tb_geography ON tb_province.geo_id = tb_geography.GEO_ID WHERE (((tb_geography.GEO_NAME)=[Forms]![Form1]![Cb_geography]));

อธิบายคือจากการที่เราสั่งให้ภูมิภาคบันทึกเป็นชื่อนั้น > ในส่วนของจังหวัดเราจึงต้องไปสั่งเปลี่ยนรูปแบบค่าที่รับมาด้วยนะครับ
โพสต์นี้ได้รับคำขอบคุณจาก: buakird

5
ถ้าจะเก็บข้อมูลลงในตารางเป็น ID ของ ตารางนั้นก็คงจะเหมาะครับ เพราะใช้ทรัพยากรน้อยลง
ถ้าคุณกำหนดข้อมูลแถวของ Combobox เป็น คอลัมน์1 ID คอลัมน์2 ชื่อจังหวัดหรือตำบลหรืออำเภอ
ตรง column width(ความกว้างของคอลัมน์) กำหนดซัก 0ซม.;5ซม. หรือตัวเลขอื่นๆ เพื่อให้แสดงรายการได้ครบ


column width กำหนดซัก 0ซม.;5ซม. คือ Combobox คอลัมน์ไหน กำหนดเป็น 0 จะไม่แสดงคอลัมน์นั้น จากการกำหนดนี้ข้อมูลจะถูกเก็บข้อมูล ID แต่จะแสดง รายการของคอมโบบ๊อกนั้นแทน
ส่วน BoundColumn(คอลัมน์ที่ถูกผูกไว้)ถ้าอยากจะเก็บข้อมูลเป็น ID กำหนดเป็น 1 ถ้าจะเก็บเป็นตัวหนังสือหรือรายการกำหนดเป็น 2 หรือดูจากการกำหนดชนิดแหล่งข้อมูลแถวว่าต้องการผูกคอลัมน์ไหนไว้ครับ

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

6
--> ขอไฟล์ของท่านมาดูได้หรือไม่ :question:

ท่านเอาไปใช้งานแนวไหนครับ
-> ใว้เพื่อใช้เพิ่มรายชื่อหน่วยงาน
-> ใว้เมื่อเลือกหน่วยงานแล้วกรองตัวเลือกออกมา เช่น กรมป่าไม้ > จังหวัด > อำเภอ > ตำบล > ที่อยู่ > ...

ลองแก้ตัวเลขในช่อง Bound Column หรือยังครับ


New ไฟล์ตัวอย่างที่ผมใช้เพิ่มชื่อที่อยู่ลูกค้า และเรียกมาดูครับ(ต้นฉบับผมเรียกมาใช้งาน)
โพสต์นี้ได้รับคำขอบคุณจาก: buakird

7
อ้างถึง
ไม่ให้ช่องภูมิภาคเป็นช่องหลัก , เลือกจังหวัดเสร็จ > ช่องภูมิภาคขึ้นมาให้เลย
ผมขออนุญาตนำไฟล์ของ อ.ปิ่นณรงค์ ไปแก้นะครับ โดย
• เปลี่ยนช่องเลือกภาค(Cb_geography) เป็น TextBox
• จังหวัด
  - column count = 3 , column widths = 0cm;2cm;0cm
  - Data > Row Source =
โค๊ด: [Select]
SELECT tb_province.province_id, tb_province.Province_th, tb_geography.GEO_NAME FROM tb_province INNER JOIN tb_geography ON tb_province.geo_id = tb_geography.GEO_ID;
  - VB ในส่วนของ cb_province_AfterUpdate เพิ่ม     
โค๊ด: [Select]
Me.Cb_geography = cb_province.Column(2)
ปล.ผมก็...เอาอ่านะลองดูจากไฟล์เลยครับ :prettiness:
โพสต์นี้ได้รับคำขอบคุณจาก: buakird

8


ใช้วิธีการเดียวกับการแสดง  อำเภอ  ตำบล นั้นละครับ เมื่อเรากดเลือก Geo แล้วพอจะเลือกจังหวัด เราก็กำหนดให้เลือก Geo_ID จากCombobox  Cb_geography ที่เรากำหนด
วิธีการคือ
1.สร้าง Combobox เพิ่มตั้งชื่อว่า Cb_Geography โดยกำหนด RowSource ของ Cb_geography ดังนี้
โค๊ด: [Select]
SELECT tb_geography.GEO_ID, tb_geography.GEO_NAME FROM tb_geography;
2.ในส่วนของ Combobox Cb_Province ก็กำหนด Rowsource ดังนี้
โค๊ด: [Select]
SELECT tb_province.province_id, tb_province.Province_th, tb_province.GEO_ID FROM tb_province INNER JOIN tb_geography ON tb_province.geo_id = tb_geography.GEO_ID WHERE (((tb_province.GEO_ID)=[Forms]![Form1]![Cb_geography]));
ส่วน Code ให้แก้เป็นแบบนี้ครับ
โค๊ด: [Select]
Option Compare Database
Option Explicit

Private Sub Cb_geography_AfterUpdate()
    Me.cb_province.Requery
    Me.cb_province = Null
    Me.cb_amphur = Null
    Me.cb_district = Null
    Me.txt_zipcode = Null
End Sub

Private Sub cb_province_AfterUpdate()
    Me.cb_amphur.Requery
    Me.cb_amphur = Null
    Me.cb_district = Null
    Me.txt_zipcode = Null
End Sub
Private Sub cb_province_GotFocus()
Me.cb_province.Requery
End Sub

Private Sub cb_amphur_AfterUpdate()
    Me.cb_district.Requery
    Me.cb_district = Null
    Me.txt_zipcode = Null
End Sub
Private Sub cb_district_AfterUpdate()
    Me.txt_zipcode = DLookup("post_code", "tb_district", "district_th= '" & Me.cb_district & "' AND amphur_id = " & Me.cb_amphur.Column(0, Me.cb_amphur.ListIndex))
End Sub

Private Sub cb_amphur_GotFocus()
    Me.cb_amphur.Requery
End Sub
Private Sub cb_district_GotFocus()
    Me.cb_district.Requery
End Sub
Private Sub Form_Load()
Me.Cb_geography.SetFocus
End Sub

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

หน้า: [1]