กระทู้เก่าบอร์ด อ.Yeadram
14,472 75
URL.หัวข้อ /
URL
ต้องการค้นหาข้อมูลในตาราง แนะนำทีครับ
ผมใช้กล่องคำสั่งผสม ติดต่อกับ data ชื่อบริษัทลูกค้า ซึ่งมีเยอะมาก ประมาณ หลายร้อย บริษัท
ผมต้องการที่จะพิมพ์ อักษรบางตัว แล้วให้แสดงขึ้นแบบเต็มเลยจะต้องใช้คำสั่ง หรือ ต้องตั้งค่าอย่างไรบ้างครับ
คือ อยากได้เหมือนคำสังในส่วน ของต้วค้นหาของ ตัวโปรแกรม access เอง ที่อยู่ด้านล่างนะครับ พิมพ์แล้วขึ้นอัฟเดทให้เลย
รบกวนช่วนแนะนำ หรือวิธี ด้วยนะครับ
ขอบคุณครับ
ผมต้องการที่จะพิมพ์ อักษรบางตัว แล้วให้แสดงขึ้นแบบเต็มเลยจะต้องใช้คำสั่ง หรือ ต้องตั้งค่าอย่างไรบ้างครับ
คือ อยากได้เหมือนคำสังในส่วน ของต้วค้นหาของ ตัวโปรแกรม access เอง ที่อยู่ด้านล่างนะครับ พิมพ์แล้วขึ้นอัฟเดทให้เลย
รบกวนช่วนแนะนำ หรือวิธี ด้วยนะครับ
ขอบคุณครับ
75 Reply in this Topic. Dispaly 4 pages and you are on page number 2
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
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
โดยที่เราไม่ต้องกดปุ่มเลย แค่เลือกที่ 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 อย่างไรบ้างค่ะ
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 ได้แสดงไว้แล้วตามที่ผมให้ลิงค์ไปข้างบนแล้วนะครับ เอาไปปรับใช้ดูครับ
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 ตรงไหนบ้างเหรอครับ
รบกวนที ครับ ถ้าไม่เข้าใจที่ผมถาม ช่วยบออกทีนะครับ
เวลาเราคลิกเลือกข้อมูลตามด้านล่างที่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อย่างไรบ้างเหรอครับ
ตอนนี้ผมทำ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)
...
...
...
ใน 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 ตรงไหนหรือต้องทำอย่างไรบ้างเหรอครับ อาจารย์
รบกวนด้วยนะครับ
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;
ต้องแก้ไขหรือทำอะไรตรงไหนมั้งเหรอครับ รบกวนทีนะครับอาจารย์ผมไม่รู้จะแก้ตรงไหนดีครับ
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 แล้วกลับไปดูที่ฟอร์ม มันก็มีข้อมูลนะครับแต่พอแก้แล้ว คลิกเลือกแล้วมันไม่มีข้อมูลอะไรโชว์มาเลยครับ รบกวนอีกทีนะครับอาจารย์
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 แล้วกลับไปดูที่ฟอร์ม มันก็มีข้อมูลนะครับแต่พอแก้แล้ว คลิกเลือกแล้วมันไม่มีข้อมูลอะไรโชว์มาเลยครับ รบกวนอีกทีนะครับอาจารย์
Time: 0.2518s
และขออภัยด้วยครับ ไม่ทราบจริง ๆ ครับว่าฝากรูปได้ครับ
แก้ไขตามที่อาจารย์บอกมาได้ตามต้องการเลยครับ