ค้นหาแล้วแสดงข้อมูล
กระทู้เก่าบอร์ด อ.Yeadram

 4,018   5
URL.หัวข้อ / URL
ค้นหาแล้วแสดงข้อมูล

ยกตัวอย่างนะคับ ผมมี tb_database เปนฐานข้อมูล ประกอบด้วย
id , item_code , item_name     3 ตัวคับ
1      a               aname
2      b               bname
3      c               cname

แล้วสร้างฟอร์มขึ้นมา ดังรูปเลยคับ
หลักการทำงานคือ
1.ป้อนโค๊ดที่ต้องการดูข้อมูลที่ textbox 1 (สมมติผมใส่โค๊ด a)
2.กดปุ่ม select เพื่อค้นหาและแสดงข้อมูล
3.แสดงข้อมูลที่ textbox2 และ 3(โค๊ดของ a และชื่อของ a)
และสามารถแก้ไขข้อมูล ลงฐานข้อมูลได้

ต้องเขียนโค๊ดที่ปุ่มยังไงเหรอคับ ถึงจะดึงค่าออกมาแสดงใน textbox ได้คับ

5 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R02907
สร้างฟอร์ม มี 3 textbox แต่ละตัว ไม่ต้องผูกกับฟิลด์ใดๆ
datasource ของฟอร์มนี้ ให้ผูกกับตาราง tb_database

มีปุ่มคำสั่ง cmdSelect
เขียนโค้ดใน ปุ่มนี้ดังนี้

Private Sub cmdSelect_click()
if textbox1 <>"" then
me.filter="id ='" & textbox1 & "'"
me.filteron=true
textbox2 = item_code
textbox3=item_name
else
me.filteron=false
textbox2=""
textbox3=""
end if
End Sub

นั่นเป็นวิธีที่ 1 การใช้ฟิลเตอร์

วิธีที่ 2 การกำหนด datasource โดย SQL statement และสั่ง Requery ..... เอาไว้ก่อน

วิธีที่ 3 การใช้ Dlookup ดึงข้อมูลมาแสดง และใช้การรัน SQL Statement เพื่อสั่ง update ข้อมูลในตาราง เอาไว้ก่อน....

วิธีที่ 4 การใช้ เมธอด find หรือ seek ของ DAO ของ recordsource เพื่อเลื่อนเรคคอร์ดไปยัง เรคคอร์ดที่ต้องการแล้วค่อยแก้ไขข้อมูล เอาไว้ก่อน....

วิธีที่ 5 การใช้คำสั่ง GoTorecord ซึ่งเป็นคำสั่งธรรมดาที่ Access ได้จัดเตรียมไว้ให้แล้ว (น่าจะเป็นการใช้ ADO) เพื่อเลื่อนไปยังเรคคอร์ดที่ต้องการ โดยต้องทำงานควบคู่ไปกับการตรวจสอบค่าของเรคคอร์ดนั้นๆ ว่าใช่เรคคอร์ดที่ต้องการแล้วหรือยัง (เพราะว่า เรคคอร์ด ไม่มีชื่อ มีแต่ลำดับที่ เท่านั้น วิธีนี้ค่อนข้างลำบากเพราะต้องเลื่อนไป เช็คไป) รายละเอียดเอาไว้ก่อน .....

วิธีที่ 6 ... ยังคิดไม่ออก อิอิ แต่คิดว่า ยังมีอีกหลายวิธีเลย นี่แหละผมถึงชอบ Microsoft งานเดียวกัน แต่สรรค์สร้างได้หลายทาง ตามใจชอบ หรือตามที่เราถนัดล่ะ..................
2 @R02977
ขอบคุณมากเลยคับ ช่วยได้มากเลยคับ
3 @R10399
พี่ครับผม สนใจการใช้ Dlookup ดึงข้อมูลมาแสดง และใช้การรัน SQL Statement เพื่อสั่ง update ข้อมูลในตาราง ครับตอนนี้ผมใช้ Dlookup ดึงข้อมูลมาแสดง ได้แล้วครับแล้ว จะต้องเขียนcode update ข้อมูลในตารางยังไงเหรอครับ
อันนี้code ครับ
Private Sub Cmd1_Click()
DoCmd.SetWarnings False
t1_showNameCom = DLookup("NameCom", "Data_Company", "Data_Company.ID Like '" & t1_ID_Company & "'")
t2_showNo = DLookup("AddessID", "Data_Company", "Data_Company.ID Like '" & t1_ID_Company & "'")
t3_showMoo = DLookup("Moo", "Data_Company", "Data_Company.ID Like '" & t1_ID_Company & "'")
t4_showTown = DLookup("Town", "Data_Company", "Data_Company.ID Like '" & t1_ID_Company & "'")
T_Road = DLookup("Road", "Data_Company", "Data_Company.ID Like '" & t1_ID_Company & "'")
t5_showDistrict = DLookup("District", "Data_Company", "Data_Company.ID Like '" & t1_ID_Company & "'")
t6_showProvince = DLookup("Province", "Data_Company", "Data_Company.ID Like '" & t1_ID_Company & "'")
t7_showPostalCode = DLookup("PostalCode", "Data_Company", "Data_Company.ID Like '" & t1_ID_Company & "'")
t8_showphone = DLookup("phone", "Data_Company", "Data_Company.ID Like '" & t1_ID_Company.Value & "'")
t9_showFax = DLookup("Fax", "Data_Company", "Data_Company.ID Like '" & t1_ID_Company.Value & "'")
t10_showTypeIndustry = DLookup("TypeIndustry", "Data_Company", "Data_Company.ID Like '" & t1_ID_Company & "'")
t11_showWebsite = DLookup("Website", "Data_Company", "Data_Company.ID Like '" & t1_ID_Company.Value & "'")
t12_showFluorescent_36W = DLookup("Fluorescent_36W", "Data_Company", "Data_Company.ID Like '" & t1_ID_Company & "'")
t_showFluorescent_28W = DLookup("Fluorescent_28W", "Data_Company", "Data_Company.ID Like '" & t1_ID_Company & "'")
t13_showFluorescent_14W = DLookup("Fluorescent_14W", "Data_Company", "Data_Company.ID Like '" & t1_ID_Company & "'")
t14_showMagnetic = DLookup("Magnetic", "Data_Company", "Data_Company.ID Like '" & t1_ID_Company.Value & "'")
t15_showElectronic = DLookup("Electronic", "Data_Company", "Data_Company.ID Like '" & t1_ID_Company.Value & "'")
t16_showChangrNum_28W = DLookup("ChangrNum5_28W", "Data_Company", "Data_Company.ID Like '" & t1_ID_Company & "'")
t17_showParticipateNum5 = DLookup("ParticipateNum5", "Data_Company", "Data_Company.ID Like '" & t1_ID_Company & "'")

End Sub


แล้วถ้าผมจะเขียนcode update ข้อมูล ผมจะต้อง ทำยังไงบ้าง จะต้องเขียนcodeยังไงบ้างเหรอครับ
4 @R10401
เอาหลักการง่ายๆ ก่อนนะครับ
นี่คือ
- เราทราบค่าข้อมูลที่แน่นอน คือ พญาเสือโคร่ง
- ตารางนี้มีฟิลด์เดียว ชือ NameCom
dim sql as string
sql = "Update Data_Company set NameCom = 'พญาเสือโคร่ง'"
docmd.setwarnings false
docmd.runsql sql


หลักการต่อไปครับ เราไม่ทราบค่าข้อมูลที่แน่นอน แต่เราใช้วิธีอ้างอิงที่มาของข้อมูล หรือการอ้างอิงคอนโทรล
(คำสั่งอื่นๆ ยกไว้ในฐานที่เข้าใจ จะระบุให้แต่วิธีการต่อสายอักขระเท่านั้นนะครับ)
sql = "Update Data_Company set NameCom = '" & t1_showNamecom & "'"

จะเห็นได้ว่าถ้าฟิลด์นี้ (NameCom) มันเป็น text การต่อสายอักขระ เราต้องใส่เครื่องหมาย หยดน้ำค้าง คร่อมหน้าหลังเสมอ นะครับ


ต่อไปครับ การต่อหลายฟิลด์ บางฟิลด์เป็นชนิดข้อมูล number บางฟิลด์เป็น Date

sql = "Update table1 set field1='" & txt1 & "', field2 =" & val(txt2) & ", field3 = #" & txt3 & "#"
เราจะกั้นระหว่างฟิลด์ด้วย เครื่องหมายจุลภาคครับ
ค่าของแต่ละฟิลด์จะต้องใส่เครื่องหมายให้ถูกต้อง ถ้าเป็น text ค่าของมันต้องคร่อมด้วย หยดน้ำค้าง ถ้าเป็น Date/Time ให้คร่อมด้วย # ถ้าเป็น Number ทั่วไป ห้ามคร่อมด้วยเครื่องหมายใดๆ เลย


ของคุณมีหลายฟิลด์ก็ต้องเขียนยาวหน่อย
ถ้ารู้วิธีการใช้งานอาเรย์ และการวนลูป อาจจะช่วยให้เบาแรงขึ้นครับ ลองศึกษาเพิ่มเติมดูครับ
5 @R10404
ตอนนี้ติดปัญหาเรื่อง การออก Report ใบวางบิล คะ เรื่องการเขียนโค้ด
1. Text box ที่มีค่า เท่ากับ 0.00 เราต้องการให้แสดงเป็นค่าว่างใน Report
     หรือเปลี่ยนสีตัวเลขให้เป็นสีขาว เพื่อที่ว่าปริ้นออกมาจะได้ไม่เห็นเลข0.00
2. Text box ที่มีตัวเลข ก็จะให้แสดงเป็นสีดำปกติ

เพราะไม่รู้จะเขียนอย่างไร และเขียนที่โตรงจุดใด ใน Access 2007

ขอความช่วยเหลือหน่อยคะ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3288s