Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > ช่วยแนะนำ หน้าค้นหา แบบกำหนดเงื่อนไขจากตารางฐานข้อมูลที่มีความสัมพันธ์กัน 3ตารางขึ้นไป หน่อยครับ ผมทำแล้วกดมันขึ้นมาทั้งหมดเลย



 

ช่วยแนะนำ หน้าค้นหา แบบกำหนดเงื่อนไขจากตารางฐานข้อมูลที่มีความสัมพันธ์กัน 3ตารางขึ้นไป หน่อยครับ ผมทำแล้วกดมันขึ้นมาทั้งหมดเลย

 



Topic : 074855

Guest




ผมได้ทำการสร้างฟอร์มค้นหามาหนึ่งหน้า

โดยที่มี Combobox 1 ให้เลือกหมวด Combobox 2 ให้เลือก สถานะ แล้วก็มีปุ่มค้นหา

โดยมีฐานข้อมูลคือ
ตารางหมวด มี G_ID และ G_NAME
ตารางสถานะ มี S_ID และ S_NAME
ตารางสินค้า มี P_ID, P_NAME, G_ID, S_ID
ซึ่งมีความสัมพันกับอีกสองตาราง โดย ตารางสินค้าเป็น Many ส่วนอีก 2 ตารางเป็น One ครับ

1.ผมต้องการให้ เมื่อเลือก หมวด จาก Combobox แล้วกดค้นหา จะแสดงสินค้าที่อยู่ภายใน หมวดนั้นทั้งหมดหรือ เลือกสถานะจาก Combobox แล้วก็จะแสดงสินค้าตามสถานะที่เราเลือกอะครับ
***ผมลองทำมัน ออกมาทุกหมวดเลย -_-" สงสัยโค๊ดผมคงผิดแน่

2.ผมต้องการให้เมื่อเลือก หมวดจาก Combobox แล้วเลือก สถานะจาก Combobox แล้วกดค้นหา
จะแสดงสินค้าตามสถานะที่เลือกโดยอยู่ในหมวดนั้น
เช่น เลือก หมวด คอมพิวเตอร์ แล้วเลือกสถานะ ปกติ มันก็จะแสดง สินค้าภายในหมวดคอมพิวเตอร์ที่มีสถานะ ปกติ อะครับ

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

หรือใครมี ซอสโค๊ดแนวนี้พอให้มาศึกษา ก็บอกได้นะครับจะนำไปแกะดู

ขอบคุณมากนะครับ



Tag : .NET, Ms Access, Win (Windows App), C#, VS 2010 (.NET 4.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-03-01 16:35:13 By : Smile View : 1451 Reply : 15
 

 

No. 1

Guest


ขออนุญาตดันหน่อยนะ

ช่วยหน่อยนะค๊าฟ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-01 21:25:55 By : Smile
 


 

No. 2

Guest


ตามความคิดส่วนตั๊ว ส่วนตัว นะครับ

ผมจะทำให้มันเป็นตารางเดียวเลย
ตารางสินค้า มี P_ID, P_NAME, หมวดสินค้า, สถานะ

รอผู้รู้คนอื่นมาแนะนำต่อค้บ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-01 22:22:21 By : meneger
 

 

No. 3



โพสกระทู้ ( 227 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 2 เขียนโดย : meneger เมื่อวันที่ 2012-03-01 22:22:21
รายละเอียดของการตอบ ::
ทำให้เป็นตารางเดียวก็ได้นะครับ แต่มันจะไม่ถูกหลักการ normalization น่ะครับ


Code
SELECT * FROM tableGroup as GR INNER JOIN tableProduct as PR ON PR.G_ID=GR.G_ID INNER JOIN tableStatus as ST ON ST.S_ID=PR.S_ID WHERE GR.G_ID=Combox.SelectedValue AND PR.S_ID=Combox.SelectedValue

ก็เอาไปประยุกต์เอาละกัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-02 05:22:53 By : Cyg
 


 

No. 4

Guest


ขอบคุณมากครับ

แต่ติดตรงcomboboxแล้วได้ค่า nullอ่ะครับ ไม่ทราบต้องกำหนดยังไงอะคับ

โค๊ดSqlครับ
string sql = "SELECT product.pro_id, product.pro_name FROM groups INNER JOIN product ON groups.groups_id = product.groups_id WHERE (((product.groups_id)=cmbGroups.SelecedValues ));";

มันบอกว่า ไม่มีการให้ค่าสำหรับพารามิเตอร์ที่ต้องการอย่างน้อยหนึ่งพารามิเตอร์

แต่ถ้ากำหนดค่าเลขไอดีลงไป มันจะใช้ได้นะครับ คือ
string sql = "SELECT product.pro_id, product.pro_name FROM groups INNER JOIN product ON groups.groups_id = product.groups_id WHERE (((product.groups_id)=4));";

ใช้ VC# นะครับ
ไม่รู้การส่งค่าการตั้งค่าcombobox ผิดหรือป่าวอ่ะครับ นี้ครับโค๊ด

Code (C#)
       DataSet _data = new DataSet();
            OleDbDataAdapter _adapter;
            string sql;

            sql = "SELECT*FROM groups";
            _cmd = new OleDbCommand(sql, _conn);
            _adapter = new OleDbDataAdapter(_cmd);
            _adapter.Fill(_data, "gru");

            cmbGroups.DisplayMember = "groups_name";
            cmbGroups.ValueMember = "groups_id";
            cmbGroups.DataSource = _data.Tables["gru"];

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-02 16:00:25 By : Smile
 


 

No. 5



โพสกระทู้ ( 227 )
บทความ ( 0 )



สถานะออฟไลน์


ก็ท่านกำหนด Value ให้ Combobox หรือยังล่ะครับ
Combobox มันมีสองส่วนนะครับ ส่วนที่เป็น Display เเละ Value
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-02 16:40:20 By : Cyg
 


 

No. 6

Guest


cmbGroups.ValueMember = "groups_id";

ตัวนี้รึเปล่าครับ

แต่ในคำสั่งSQL ถ้า WHERE (((product.groups_id)=cmbGroups.SelecedValues ))จะไม่ได้
แต่ถ้า WHERE (((product.groups_id)=4)) จะได้ค่าข้อมูลจากตารางGroups แถวที่4อ่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-02 16:52:36 By : Smile
 


 

No. 7



โพสกระทู้ ( 30 )
บทความ ( 0 )



สถานะออฟไลน์


ลอง MessageBox.Show cmbGroups.SelecedValues ดูครับ ว่าได้ตัวเลข เป็น id ของ combobox อันนั้นๆหรือเปล่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-02 17:40:10 By : SPIRITT
 


 

No. 8

Guest


ได้ค่าID มาครับแต่

มันบอกว่า ชนิดข้อมูลไม่ตรงกันในนิพจน์เกณฑ์ อะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-02 17:58:35 By : Smile
 


 

No. 9

Guest


ได้ละครับแบบ 2 ตาราง ผิดตรงคำสั่ง SQL แน่เลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-02 18:11:07 By : Smile
 


 

No. 10

Guest


Code (C#)
SELECT pro_id,pro_name FROM groups 
INNER JOIN product ON groups.groups_id = product.groups_id
INNER JOIN address ON address.address_id = product.address_id
WHERE groups.groups_id = '" + cmbGroups.SelectedValue + "' AND address.address_id = '" + cmbAddress.SelectedValue + "' ORDER BY pro_id";


ใช้Combobox 2อันในการค้นหา เวลากดมันจะเตือนว่าไม่เจอข้อมูลครับ เพราะได้ตั้ง Message box ใน else ไว้นะครับ

อยากทราบว่าจะต้องเขียนโค๊ดยังไงครับในการใช้ combobox 2 ตัวในการค้นหาข้อมูลครับ
ขอบคุณมากครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-03-02 19:06:53 By : Smile
 


 

No. 11

Guest


ใช้ vb6.0 ค่ะ ตอนนี้ติดปัญหาค่ะ คือสามารถเพิ่มข้อมูลจากฟอร์มย่อยลงฐานข้อมูลได้แล้ว แต่ มันไม่มาอัพเดตใน combobox ในหน้าฟอร์มหลักค่ะ
พอเพิ่มข้อมูลใหม่ข้อมูลที่เพิ่มก่อนหน้าจะมาอัพเดตใน combobox ในฟอร์มหลักค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-05-16 10:10:16 By : koy
 


 

No. 12



โพสกระทู้ ( 257 )
บทความ ( 0 )



สถานะออฟไลน์


ลองสั่งให้ ComboBox มัน Query Data มาใส่ตัวมันเองใหม่อีกครั้ง ตอนที่เกิด Event DropDown ดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-05-16 10:24:28 By : CPU4Core
 


 

No. 13

Guest


ขอตัวอย่างหน่อยได้มั้ยคะ เพิ่งหัดเขียนอ่ะค่ะCode (VB.NET)
Private Sub Combo2_KeyDown(KeyCode As Integer, Shift As Integer)
Set RS = New ADODB.Recordset
RS.Open "select * from Table2 where SN = '" & Combo2.Text & "'", cn, adOpenKeyset, adLockOptimistic
If Not RS.EOF Then
Me.Combo1.Text = RS!Device
End If
RS.Close
Set RS = Nothing
End Sub

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-05-16 11:11:54 By : koy
 


 

No. 14



โพสกระทู้ ( 257 )
บทความ ( 0 )



สถานะออฟไลน์


พอดีที่เครื่องไม่มี VB6 ให้ลองหนะครับ

เอาแบบนี้นะครับ ขอถามก่อนว่าอันนี้คือ code ที่บอกใช่ไหมครับ

ถ้าใช่เดี๋ยวลอง ทำแบบนี้นะครับ

- เปลี่ยน Event KeyDown เป็น DropDown ดูครับ
- เอาโค๊ดเดิมนั่นแหละไปใส่ตรง Event DropDown

ปล ไม่แน่ใจว่า VB6 มี Event นี้ไหมแต่น่าจะมีนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-05-16 11:19:36 By : CPU4Core
 


 

No. 15

Guest


ลองแล้วค่ะ แต่ว่าเหมือนเดิม
อันนี้คือโค้ดที่ใช้ในการเพิ่มข้อมูล

Private Sub Command2_Click()
If MsgBox("DO YOU WANT TO SAVE ?", vbYesNo) = vbYes Then

Adodc1.Refresh
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("Datenow") = Text2.Text
Adodc1.Recordset.Fields("Repair By") = Text3.Text
Adodc1.Recordset.Fields("Starttime3-1") = Text4.Text
Adodc1.Recordset.Fields("Starttime3-2") = Text5.Text
Adodc1.Recordset.Fields("Starttime4-1") = Text6.Text
Adodc1.Recordset.Fields("Stoptime3-1") = Text7.Text
Adodc1.Recordset.Fields("Stoptime3-2") = Text8.Text
Adodc1.Recordset.Fields("Stoptime4-1") = Text9.Text
Adodc1.Recordset.Fields("Totaltime3-1") = Text10.Text
Adodc1.Recordset.Fields("Totaltime3-2") = Text11.Text
Adodc1.Recordset.Fields("Totaltime4-1") = Text12.Text
Adodc1.Recordset.Fields("X-Y aling") = Text13.Text
Adodc1.Recordset.Fields("Plan") = Text14.Text
Adodc1.Recordset.Fields("Near Fail") = Text15.Text
Adodc1.Recordset.Fields("NF") = Text16.Text
Adodc1.Recordset.Fields("Leak") = Text17.Text
Adodc1.Recordset.Fields("Cres") = Text18.Text
Adodc1.Recordset.Fields("Device") = Combo1.Text
Adodc1.Recordset.Fields("S/N") = Combo2.Text
Adodc1.Recordset.Fields("Shift") = Combo3.Text

Adodc1.Recordset.Update

Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Text9.Text = ""
Text10.Text = ""
Text11.Text = ""
Text12.Text = ""
Text13.Text = ""
Text14.Text = ""
Text15.Text = ""
Text16.Text = ""
Text17.Text = ""
Text18.Text = ""

ElseIf vbNo Then
Unload Me

End If

End Sub
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-05-16 14:55:22 By : koy
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยแนะนำ หน้าค้นหา แบบกำหนดเงื่อนไขจากตารางฐานข้อมูลที่มีความสัมพันธ์กัน 3ตารางขึ้นไป หน่อยครับ ผมทำแล้วกดมันขึ้นมาทั้งหมดเลย
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่