กระทู้เก่าบอร์ด อ.Yeadram
        
           15,328   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.0531s
    
      
		
และขออภัยด้วยครับ ไม่ทราบจริง ๆ ครับว่าฝากรูปได้ครับ
แก้ไขตามที่อาจารย์บอกมาได้ตามต้องการเลยครับ