ต้องการค้นหาข้อมูลในตาราง แนะนำทีครับ
กระทู้เก่าบอร์ด อ.Yeadram

 14,472   75
URL.หัวข้อ / URL
ต้องการค้นหาข้อมูลในตาราง แนะนำทีครับ

ผมใช้กล่องคำสั่งผสม ติดต่อกับ data ชื่อบริษัทลูกค้า ซึ่งมีเยอะมาก ประมาณ หลายร้อย บริษัท

ผมต้องการที่จะพิมพ์ อักษรบางตัว แล้วให้แสดงขึ้นแบบเต็มเลยจะต้องใช้คำสั่ง หรือ ต้องตั้งค่าอย่างไรบ้างครับ



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


รบกวนช่วนแนะนำ หรือวิธี ด้วยนะครับ

ขอบคุณครับ

75 Reply in this Topic. Dispaly 4 pages and you are on page number 2

21 @R07442
ขอบคุณ อาจารย์สันติสุขมากครับ
และขออภัยด้วยครับ ไม่ทราบจริง ๆ ครับว่าฝากรูปได้ครับ

แก้ไขตามที่อาจารย์บอกมาได้ตามต้องการเลยครับ

22 @R07603
สร้างปุ่มค้นหา ตอนนี้ใช้ code นี้อยู่ ปรากฏว่า เลือรหัส ขึ้นข้อมุลลุกค้าเดิมไม่เปลี่ยน กดรหัสลูกค้าใหม่ ก็ไม่เปลี่ยน ช่วยแนะนำวิธีการเขียน code ด้วยค่ะ
Private Sub CmdSerch_Click()
On Error GoTo Err_CmdSerch_Click

Form_CUSTSERCH.RecordSource = ""
Form_CUSTSERCH.RecordSource = "PayJobRpt_KomChadLuek"
Form_CUSTSERCH.AllowEdits = True

DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
SerchCust.SetFocus

Exit_CmdSerch_Click:
    Exit Sub

Err_CmdSerch_Click:
    MsgBox Err.Description
    Resume Exit_CmdSerch_Click
End Sub
23 @R07605
ลองทำตาม คำตอบ (R06894) ที่อาจารย์ตอบไว้ดู ที่ละข้อนะครับ


โดยที่เราไม่ต้องกดปุ่มเลย แค่เลือกที่ combo box ข้อมูลก็จะเปลี่ยนทันทีครับ

ตัวอย่าง

https://mail.google.com/mail/?ui=2&ik=1989ec72df&view=att&th=12d746fff63a2c3e&attid=0.1&disp=attd&realattid=f_gisly3yo0&zw
24 @R07606
ที่ต้องการ คือ ต้องการป้อนรหัสลูกค้า แล้วก็กดปุ่มค้นหา ข้อมูลลูกค้าจะแสดงออกมา ขอบคุณค่ะ
25 @R07610
ลองดูอันนี้ครับ อ. Yeadram แสดงให้ดูไว้แล้ว http://www.thai-access.com/yeadram_view.php?topic_id=313
26 @R07613
code ที่ได้ทำไว้
Private Sub CmdSerch_Click()
On Error GoTo Err_CmdSerch_Click

Form_CUSTSERCH.RecordSource = ""
Form_CUSTSERCH.RecordSource = "PayJobRpt_KomChadLuek"
Form_DOCSERCHLINE.AllowEdits = True

DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70
SerchCust.SetFocus

Exit_CmdSerch_Click:
    Exit Sub

Err_CmdSerch_Click:
    MsgBox Err.Description
    Resume Exit_CmdSerch_Click
End Sub

--------------------------------
ข้อมูลไม่แสดงออกมา จะแสดงเฉพาะชื่อเดียวเท่านั้น เลือกรหัสอื่น ก็เหมือนเดิม ไม่มีการเปลี่ยนแปลง แล้วต้องเพิ่ม code อย่างไรบ้างค่ะ
27 @R07615
เนื่องจาก RowSource มีค่าเป็น PayJobRpt_KomChadLuek ซึ่งก็คือชื่อเทเบิลหรือชื่อคิวรี่ ซึ่งมันน่าจะไม่มีส่วนที่เลือกเฉพาะเรคอร์ดที่ตรงตามเงื่อนไขที่เลือกบนหน้าจอ ดังนั้นจึงไม่เป็นไปตามที่ต้องการ สิ่งที่ทำได้เพื่อแก้ปัญหาก็คือ

1. เปลี่ยนจากชื่อเทเบิลหรือคิวรี่ มาเป็น SQL Select Statement ที่เลือกเรคอร์ดตามเงื่อนไขที่ต้องการ

หรือ

2. ยังคงชื่อเทเบิลหรือคิวรี่นี้ไว้ แต่ใช้เขียนโค้ดเพื่อกรอง (filter) เอาเฉพาะเรคอร์ดตามเงื่อนไข

ซึ่งทั้งสองวิธี อ. Yeadram ได้แสดงไว้แล้วตามที่ผมให้ลิงค์ไปข้างบนแล้วนะครับ เอาไปปรับใช้ดูครับ
28 @R07617
ช่วยแก้ code ให้ จะได้ไหมค่ะ น้องทำไม่ได้ค่ะ
ขอบคุณค่ะ
29 @R10406
ขออนุญาติถามต่อจากคุณsaknoi นะครับ อาจารย์คือผมทำตามคุณsaknoi ได้แล้วครับ แล้วถ้าผมจะถามต่อว่าcombobox สามารถนำข้อมูลจากทั้งสองฟิวด์มาโชว์ได้ไหมครับ อธิเช่น ถ้าผมทำตามคุณsaknoi
เวลาเราคลิกเลือกข้อมูลตามด้านล่างที่combobox มันโชว์ข้อมูลของCusName,CusID น่ะครับ เมื่อเราเลือกข้อมูลแล้วมันก็จะแสดงข้อมูลของCusNameบนcomboboxอย่างเดียวใช่ไหมครับ แล้วถ้าผมต้องการให้มันแสดงทั้งข้อมูลของCusNameและCusIDบนตัวcombobox ต้องแปลงcode ตรงไหนบ้างเหรอครับ
รบกวนที ครับ ถ้าไม่เข้าใจที่ผมถาม ช่วยบออกทีนะครับ
30 @R10408
Text portion (ส่วนที่แสดงข้อความ) ของ combobox แสดงได้เพียงค่าจากคอลัมน์เดียว ไม่สามารถแสดงค่าจากหลายๆได้ วิธีปกติที่ใช้แสดงค่าจากคอลัมน์อื่นคือสร้าง textbox อีกอันให้มี ControlSource property เป็น =[ชื่อ combobox].Column(1)    (0=คอลัมน์แรก, 1=คอลัมน์ที่สอง, ...)
31 @R10410
ผมขออนุญาติ ถามอีกนะครับอาจารย์ คือ ผมมีตารางชื่อtables1 ประกอบไปด้วยฟิวด์ Fname ,Lname,C,D,E,F โดยมีฟอร์มชื่อ AAA มีtextbox = text1,text2,text3,text4,text5,text6
ตอนนี้ผมทำcombobox ชื่อ ComboSearchNema ตามคุณsaknoiได้แล้วครับcode ดังนี้

Private Sub ComboSearchNema_AfterUpdate()
Dim rs As DAO.Recordset
Set rs = Me.RecordsetClone
rs.FindFirst "Fname = """ & Me.ComboSearchNema.Column(1) & """ "
If Not rs.NoMatch Then
Me.Bookmark = rs.Bookmark
ComboSearchNema = ""
End If
rs.Close: Set rs = Nothing
End Sub

Private Sub ComboSearchNema_KeyUp(KeyCode As Integer, Shift As Integer)
Me.ComboSearchNema.RowSource = "select Fname,Lname,C from Data_Personnel where (Fname like ""*" & Me.ComboSearchNema.Text & "*"") or (Lname like ""*" & Me.ComboSearchNema.Text & "*"") or (C like ""*" & Me.ComboSearchNema.Text & "*"")order by Fname "
Me.ComboSearchNema.Dropdown
End Sub

Private Sub Form_AfterUpdate()
Me.ComboSearchNema.Requery
End Sub


คือผมต้องเลือกข้อมูลจากรายการที่มันแสดงแล้วให้มันโชว์ที่textboxแต่ละtextbox เลยครับ
ข้อมูลที่อยู่ในฟิวด์Fnameโชว์ที่ text1 ,Lname,C,D,E,F text2,text3,text4,text5,text6 ตามลำดับเลยครับอาจารย์ ผมต้องเพิ่มcodeอย่างไรบ้างเหรอครับ
32 @R10411
Data_Personnel เลี่ยนเป็นAAA นะครับ อาจารย์
33 @R10412
ใน ControlSource property ของ Text1 ให้เขียนว่า = ComboSearchNema.Column(0)

ใน ControlSource property ของ Text2 ให้เขียนว่า = ComboSearchNema.Column(1)

...
...
...
34 @R10413
อาจารย์ครับผมรบกวนอีกสักคำถามนะครับผมทำตามคุณsaknoi แล้ว code ผมประมาณนี้นะครับ
Private Sub ComboSearchName_AfterUpdate()
Dim rs As DAO.Recordset
Set rs = Me.RecordsetClone
rs.FindFirst "LnamePetsonnel = """ & Me.ComboSearchName.Column(1) & """ "
If Not rs.NoMatch Then
Me.Bookmark = rs.Bookmark
ComboSearchName = ""
End If
rs.Close: Set rs = Nothing
End Sub

Private Sub ComboSearchName_KeyUp(KeyCode As Integer, Shift As Integer)
Me.ComboSearchName.RowSource = "select FnamePetsonnel,LnamePetsonnel,ID_Company from Data_Personnel where (FnamePetsonnel like ""*" & Me.ComboSearchName.Text & "*"") or (LnamePetsonnel like ""*" & Me.ComboSearchName.Text & "*"") or (C like ""*" & Me.ComboSearchName.Text & "*"") order by FnamePetsonnel "
Me.ComboSearchName.Dropdown
End Sub
Private Sub Form_AfterUpdate()
Me.ComboSearchName.Requery
End Sub
แล้วมันเกิดerorr บันนี้อ่ะครับ
rs.FindFirst "LnamePetsonnel = """ & Me.ComboSearchName.Column(1) & """ "


มันต้องแก้code ตรงไหนหรือต้องทำอย่างไรบ้างเหรอครับ อาจารย์
รบกวนด้วยนะครับ
35 @R10414
รูปนี้ด้วยครับ
36 @R10415
ผิดรูปครับๆ รูปนี้ๆ
37 @R10419
กลับไปดู RowSource ครับ ว่ามันอ้างอิงถึงคิวรี่หรือเทเบิลหรือ SQL statement ที่ให้ฟิลด์ LnamePetsonnel เป็นผลลัพธ์ออกมาด้วยหรือไม่
38 @R10420
RowSource ครับ Data_Personnel = ชื่อตารางครับอาจารย์
SELECT FnamePetsonnel, LnamePetsonnel, ID_Company, Position, Tel, MobilePhone, Email FROM Data_Personnel WHERE (FnamePetsonnel like ""*" & Me.ComboSearchName.Text & "*"") or (LnamePetsonnel like ""*" & Me.ComboSearchName.Text & "*"") or (ID_Company like ""*" & Me.ComboSearchName.Text & "*"") ORDER BY FnamePetsonnel;

ต้องแก้ไขหรือทำอะไรตรงไหนมั้งเหรอครับ รบกวนทีนะครับอาจารย์ผมไม่รู้จะแก้ตรงไหนดีครับ
39 @R10421
โทษทีๆ ให้ไปดู RecordSource property ของฟอร์มครับ ไม่ใช่ RowSource ครับ
40 @R10422
RecordSource ของฟอร์มครับอาจารย์
SELECT Data_Personnel.FnamePetsonnel, Data_Personnel.LnamePetsonnel, Data_Personnel.ID_Company, Data_Personnel.Position, Data_Personnel.Tel, Data_Personnel.MobilePhone, Data_Personnel.Email FROM Data_Personnel;

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