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,027

HOME > .NET Framework > Forum > รบกวนเพื่อน ๆ พี่ ๆ อีกครั้งครับเกี่ยวกับ vb ช่วยผมหน่อยนะครับ



 

รบกวนเพื่อน ๆ พี่ ๆ อีกครั้งครับเกี่ยวกับ vb ช่วยผมหน่อยนะครับ

 



Topic : 070475

Guest




xxxxxx

เป็นโปรแกรมร้านขายเครื่องใช้ไฟฟ้า ในหน้าของข้อมูลสินค้า frm_data_pro จะเเสดงข้อมูลสินค้า รายละเอียดต่างๆ ราคา ประเภท เเละอื่นๆตามรูป ปัญหาคือ รายการสินค้าที่แสดงในDataGridView1 จะเริ่มแสดงเรียงจากรหัสสินค้า P0001 เรียงลงไปเรื่อยๆ ปัญหาคือผมอยากให้มันแสดง เรียกตามยี่ห้อ Brand_id คือ ให้เรียงจากยี่ห้อแรกจนถึงยี่ห้อสุดท้าย ก็คือ B0001 คือ Toshiba B0002 คือ Sharp ไปเรื่อยๆจนครบ 20 ยี่ห้อ คือให้แสดงเรียงตามรหัสยี่ห้อ Brand_id ซึ่งปกติมันจะแสดงเรียงตามรสัสสินค้า Pro_id โค๊ดเป็นแบบนี้นะครับ

Code (VB.NET)
Sub ID_AUTO()

        Dim sql As String = ""
        Dim conn2 As New SqlConnection _
              (M_ConnStr.strConn)
        Dim Command_Adp2 As SqlCommand
        Dim Sql_Reader As SqlDataReader
        sql = "select max(substring(Pro_id,2,4)) as g_ID_AUTO from Product"

        conn2.Open()
        Command_Adp2 = New SqlCommand(sql, conn2)
        Sql_Reader = Command_Adp2.ExecuteReader()
        If Sql_Reader.Read() Then
            If Sql_Reader.Item("g_ID_AUTO").ToString() <> "" Then
                txtid.Text = "P" & Format((CDbl(Sql_Reader.Item("g_ID_AUTO").ToString()) + 1), "0000")
            Else
                txtid.Text = "P0001"
            End If
        Else
            txtid.Text = "P0001"
        End If

    End Sub


ผมเลยเปลี่ยนโค๊ดเป็นแบบข้างล่างนี้นะครับ เพื่อให้มันแสดงเรียงไปทีละยี่ห้อ แต่พอรัน ข้อมูลที่แสดงในDataGridView1 ก็ยังแสดงเรียงตามรหัสสินค้ Prp_id เหมือนเดิมอยู่ดี ช่วยทีนะครับ

Code (VB.NET)
Sub ID_AUTO()

        Dim sql As String = ""
        Dim conn2 As New SqlConnection _
              (M_ConnStr.strConn)
        Dim Command_Adp2 As SqlCommand
        Dim Sql_Reader As SqlDataReader
        sql = "select max(substring(Brand_id,2,4)) as g_ID_AUTO from Product"

        conn2.Open()
        Command_Adp2 = New SqlCommand(sql, conn2)
        Sql_Reader = Command_Adp2.ExecuteReader()
        If Sql_Reader.Read() Then
            If Sql_Reader.Item("g_ID_AUTO").ToString() <> "" Then
                txtid.Text = "B" & Format((CDbl(Sql_Reader.Item("g_ID_AUTO").ToString()) + 1), "0000")
            Else
                txtid.Text = "B0001"
            End If
        Else
            txtid.Text = "B0001"
        End If

    End Sub




Tag : .NET, VB.NET







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-12-16 17:12:26 By : off View : 1732 Reply : 13
 

 

No. 1



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



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

Code (VB.NET)
sql = "select substring(Brand_id,2,4) as g_ID_AUTO from Product Order By Brand_id"









ประวัติการแก้ไข
2011-12-16 23:29:18
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-16 23:21:15 By : kerb
 


 

No. 2

Guest


ยังไม่ได้เลยครับ คือฐานข้อมูลของผมก็คือยี่ห้อหนึ่งก็จะมีสินค้าไม่เท่ากัน เช่น Mitsushita อาจจะมี 10 รายการ เป็นพัดลมบ้าง เครื่องปรับอากาศบ้าง คละเคล้ากันไป ซึ่งเวลาแสดงข้อมูลอยากให้แสดงโดยเอาช่องสุดท้ายในDayaGridView1คือยี่ห้อสินค้าเป็นหลัก ให้เรียงลงไปตามยี่ห้อจนครบ คือไม่สลับกัน Toshiba ก็ Toshiba ให้ครบไปเลย จึงจะเป็นยี่ห้ออื่นๆ ตามลำดับลงไป ซึ่งถ้าทำได้ ที่ช่องแรกก็คือ รหัสสินค้า จะแสดงโดยไม่เรียง P0001 P0002 P0003 P0004 ตามรูป เพราะถ้ายังเรียงตามนี้ แสดงว่ามันยังเอารหัสสินค้าเป็นหลักอยู่ จะแก้โค๊ดอย่างไรดีครับ

Code (VB.NET)
Sub ID_AUTO()

        Dim sql As String = ""
        Dim conn2 As New SqlConnection _
              (M_ConnStr.strConn)
        Dim Command_Adp2 As SqlCommand
        Dim Sql_Reader As SqlDataReader
        sql = "select max(substring(Brand_id,2,4)) as g_ID_AUTO from Product"


โค๊ดข้างล่าง มันสั่งให้แสดง id ที่รหัสสินค้าใช่มั้ยครับ ซึ่งจริงๆแล้วถ้าอยากให้แสดงโดยเอายี่ห้อเป็นหลัก ซึ่งยี่ห้อที่แสดงในDataGridView1มันอยู่ช่องสุดท้ายเลย ในช่องแรกที่แสดงรหัสสินค้า มันไม่ควรมีโค๊ดพวกนนี้กำกับถูกมั้ยครับ จะแก้โค๊ดอย่างไร ให้ รหัสสินค้าที่แสดง มันแสดงโดยยึดเอายี่ห้อเป็นหลัก

Code (VB.NET)
        conn2.Open()         
        Command_Adp2 = New SqlCommand(sql, conn2)
        Sql_Reader = Command_Adp2.ExecuteReader()
        If Sql_Reader.Read() Then
            If Sql_Reader.Item("g_ID_AUTO").ToString() <> "" Then
                txtid.Text = "B" & Format((CDbl(Sql_Reader.Item("g_ID_AUTO").ToString()) + 1), "0000")
            Else
                txtid.Text = "B0001"
            End If
        Else
            txtid.Text = "B0001"
        End If

    End Sub


prolist
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-17 11:00:23 By : off
 

 

No. 3



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



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

ตั้งรหัสเอาจาก 2 ตัวแรกของ brand_name ดีกว่าค่ะ เช่น product ของ toshiba รหัสก้อเป็น TO001 ถ้าเป็น Sharp ก้อ SH001
substring 2 ตัวแรกใน dropdonw ยี่ห้อ จะได้

ประกาศตัวแปร dim prifix as string =comboboxBrand.selectedItem.Text.substring(0,2) จะได้

TO
MI
LG
ขั้นตอนต่อมาก็ select ตามนี้ค่ะ

Code (VB.NET)
sql = "select max(substring(Product_ID,2,4))  as g_ID_AUTO from Product where brand_id=comboboxBrand.selectedValue
txtid.Text = prifix  & Format((CDbl(Sql_Reader.Item("g_ID_AUTO").ToString()) + 1), "0000")
Else
txtid.Text = prifix & "0001"




ประมาณนี้แหละค่ะ โค้ดเขียนสดน่ะค่ะบางทีเอาไปวางเลยอาจไม่ได้อาจต้องปรับแก้แต่ concept ก็ประมาณนี้ค่ะ


ประวัติการแก้ไข
2011-12-17 11:42:18
2011-12-17 11:46:38
2011-12-17 11:48:14
2011-12-17 11:48:34
2011-12-17 12:11:42
2011-12-17 12:14:15
2011-12-19 11:18:04
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-17 11:41:22 By : bangbang111
 


 

No. 4



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



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

ตอบความคิดเห็นที่ : 1 เขียนโดย : kerb เมื่อวันที่ 2011-12-16 23:21:15
รายละเอียดของการตอบ ::
ไม่แน่ใจเจ้าของกระทู้นะ ว่าสร้างในฐานข้อมูล Brand มี Toshiba 2 อันหรือเปล่า จึงทำให้เป็นแบบนั้น
งั้นก็เปลี่ยนจาก Brand_id เป็น Brand_name (ช่องที่เป็นชื่ออะ เรียงตามชื่อไปเลย) น่าจะประมาณนี้นะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-17 15:04:29 By : zero1150kfc
 


 

No. 5

Guest


เช็คแล้วข้อมูลยี่ห้อไม่ซ้ำนะครับ ประมาณว่า สินค้าหนึ่งยี่ห้อมีหลายประเภท
ถ้าไม่เปลี่ยนรหัสสินค้า แต่จะให้แสดงข้อมูลโดยเอายี่ห้อ หรือประเภทเป็นหลัก สามารถทำได้มั้ยครับ ขอแนวทางหน่อย เช่น ถ้าจะเปลี่ยนจาก Pro_id เป็น Brand_name แล้วจะปรับโค๊ดอย่างไร ไอดี ออโต้ ผมไม่เข้าใจเลยจริงๆ

Code (VB.NET)
Sub ID_AUTO()

        Dim sql As String = ""
        Dim conn2 As New SqlConnection _
              (M_ConnStr.strConn)
        Dim Command_Adp2 As SqlCommand
        Dim Sql_Reader As SqlDataReader
        sql = "select max(substring(Brand_name,2,4)) as g_ID_AUTO from Brand"   <<Brand_name from Brand ถูกมั้ยครับ

        conn2.Open()
        Command_Adp2 = New SqlCommand(sql, conn2)
        Sql_Reader = Command_Adp2.ExecuteReader()
        If Sql_Reader.Read() Then
            If Sql_Reader.Item("g_ID_AUTO").ToString() <> "" Then
                txtid.Text = "P" & Format((CDbl(Sql_Reader.Item("g_ID_AUTO").ToString()) + 1), "0000")    บรรทัดนี้แก้ยังไง
            Else
                txtid.Text = "P0001"  บรรทัดนี้แก้ยังไง
            End If
        Else
            txtid.Text = "P0001"   สามบรรทัดนี้แก้ยังไง ในเมื่อไม่ได้ให้มันรันจาก id แต่รันจาก Brand_name

        End If

End Sub


ผู้รู้ช่วยทีครับ ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-18 12:03:27 By : off
 


 

No. 6



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



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

ต้องตัดสองตัวแรกจาก combobox ค่ะ ไม่ได้ดึงจาก table brand ค่ะ ดึงจาก product นั่นแหละ แต่ต้อง where ด้วยค่ะ ลองทำตามที่ดิฉันบอกไว้ด้านบนน่ะค่ะ ถ้าไม่ได้ตรงไหน จะมาตอบให้ค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-19 11:17:04 By : bangbang111
 


 

No. 7

Guest


ขอตัวอย่างโค๊ดได้มั้ยครับ ผมมือใหม่(มาก)จริงๆครับ ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-19 12:20:56 By : off
 


 

No. 8



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



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

ตัวอย่างโค้ดที่คำตอบของ No. 3 ค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-19 12:22:59 By : bangbang111
 


 

No. 9

Guest


คือตอนนี้ผมทำโปรเจคส่งอาจารย์อ่ะครับ ถ้าผมเปลี่ยนไอดี เป็น TO001 SH001 และอื่น ๆ โปรแกรมแสดงแบบที่ต้องการ คือ เรียงจากยี่ห้อ ซึ่งพอเสร็จจากตรงนี้ เชื่อเหลือเกินว่า อาจารย์ของผมนั้น ก็ต้องให้ผมเปลี่ยนเป็นเรียงจาก ประเภท เพื่อลองภูมิของผมอะไรประมาณนี้ ซึ่งถ้าเป็นอย่างนั้น ผมก็ต้องมานั่งเปลี่ยนไอดีใหม่ ที่อ้างอืงถึงประเภท แล้วสินค้าในสตอกมีเป็นร้อยรายการ ความต้องการของผม คือให้ไอดี หรือรหัสสินค้าที่ผมเซ็ทไว้ตอนนี้ มันเป็นแบบนี้ต่อไป แต่อยากให้สามารถเซ็ท หรือ ซอทโค๊ด ได้ว่า เราจะเอาอะไรเป็นหลัก ที่จะแสดงใน Datagridview โดยที่ไม่ต้องไปปรับเปลี่ยนรหัสสินค้า (Pro_id) ที่มันเป็นอยู่ ณ ขณะนี้อ่ะครับ แต่ยังไงก็ขอบคุณมาก ๆ นะครับ ผมคิดว่าคงไม่มีวิธี หรือผมอาจเป็นมือใหม่เกินไป พรุ่งนี้ผมต้องส่งงาน เดี๋ยวไปลุยเอาข้างหน้าละกัน ขอบคุณทุกคนมาก ๆ ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-19 13:32:09 By : off
 


 

No. 10



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



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


ลองดูประมาณนี้
strSQL = "SELECT * FROM Product order by ยี่ห้อสินค้า asc,รหัสสินค้า asc"
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-19 14:33:54 By : edong
 


 

No. 11



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


กำหนด Property "Sort" ของ BindingSource ที่ผูกกับ DataGridView นี้
เป็น "ยี่ห้อสินค้า"
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-19 15:29:59 By : watcharop
 


 

No. 12

Guest


No.11 ที่ตอบมาผมว่าใช่เลยครับ แต่ทำยังไงครับ ขอแนวทางหน่อยครับ ผมมือใหม่จริงๆ ขอเป็นรูปตัวอย่างได้ไหมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-20 11:26:55 By : off
 


 

No. 13



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


ภาพตามสั่ง
BindingSource
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-12-20 12:33:46 By : watcharop
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนเพื่อน ๆ พี่ ๆ อีกครั้งครับเกี่ยวกับ vb ช่วยผมหน่อยนะครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 01
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 อัตราราคา คลิกที่นี่