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

HOME > .NET Framework > Forum > มีตารางโชว์จำนวนสินค้ากับมีตารางการขายสินค้าด้วย คือถ้าจำนวนสินค้าเท่ากับ0 อยากจะให้ไม่สามารถบันทึกสินค้าได้ ควรทำอย่างไรดี



 

มีตารางโชว์จำนวนสินค้ากับมีตารางการขายสินค้าด้วย คือถ้าจำนวนสินค้าเท่ากับ0 อยากจะให้ไม่สามารถบันทึกสินค้าได้ ควรทำอย่างไรดี

 



Topic : 119927



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



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




คือตารางโชว์จำนวนสินค้าจะต้องเลือกradiobutton
โค้ดในradiobutton
Code (VB.NET)
 Private Sub RadioButton1_CheckedChanged(sender As Object, e As EventArgs) Handles RadioButton1.CheckedChanged
          Try
            If Not con.State = ConnectionState.Open Then
                con.Open()
            End If

            Dim da As New OleDbDataAdapter
            Dim dt As New DataTable
            da = New OleDbDataAdapter("SELECT * FROM Stock1", con)
            da.Fill(dt)

            DataGridView1.DataSource = dt.DefaultView

            DataGridView1.Columns(0).Visible = True
            DataGridView1.Columns(1).Visible = True
            DataGridView1.Columns(2).Visible = True
            DataGridView1.Columns(3).Visible = False
            DataGridView1.Columns(4).Visible = False
            DataGridView1.Columns(5).Visible = True
            DataGridView1.Columns(6).Visible = False
            DataGridView1.Columns(7).Visible = False

            DataGridView1.Columns.Item(0).Width = 50
            DataGridView1.Columns.Item(1).Width = 100
            DataGridView1.Columns.Item(2).Width = 80
            DataGridView1.Columns.Item(5).Width = 100

            con.Close()

        Catch ex As Exception
            MessageBox.Show(ex.Message)
        Finally
        End Try

    End Sub


โค้ดปุ่มบันทึก
Code (VB.NET)
 Try

            Dim cmd As New OleDbCommand
            If Not con.State = ConnectionState.Open Then
                'open connection
                con.Open()
            End If

            cmd.Connection = con

            
            'check whether add new or update
            If Me.semat.Tag & "" = "" Then

                'add new
                'add data to table

                cmd.CommandText = " INSERT INTO Tb_History(His_products, His_quantity, His_student, His_teacher, His_date, His_time)" & _
                              " VALUES ('" & Me.semat.Text & "'," & Me.txtnum.Text & ",'" & _
                              Me.txtna1.Text & "','" & Me.txtna2.Text & "','" & Me.txtdate.Text & "','" & _
                              Me.txttime.Text & "')"
                cmd.ExecuteNonQuery()

                MessageBox.Show("บันทึกลงตารางเรียบร้อยแล้ว")


                'refresh data in list
                RefreshData()

                'close connection
                con.Close()

            End If

        Catch ex As Exception
            MessageBox.Show("เกิดข้อผิดพลาด เนื่องจาก " & ex.Message, "ข้อผิดพลาด", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)

        End Try




Tag : .NET, Ms Access, VS 2012 (.NET 4.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-11-14 18:08:28 By : peemes101 View : 1227 Reply : 22
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

ใช้ IF ปกติก็น่าจะได้แล้วน่ะครับ

Code
IF XXX <= 0 Then ' Not Insert Else 'Insert End IF







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-15 09:55:36 By : mr.win
 


 

No. 2



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



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


XXX จะเขียนอย่างไรดีครับ
เพราะในdatagridviewคือ columns ที่5 ชื่อว่า จำนวนสินค้า
จากโค้ดในradio คืออันนี้ DataGridView1.Columns(5).Visible = True
และ
ืnot insert จะเขียนประมาณไหนดีครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-15 12:40:29 By : peemes101
 

 

No. 3



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

Code (VB.NET)
IF DataGridView1.Columns(5).Visible <> True Then
  ' Not Insert
Else
  'Insert
End IF

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-16 13:37:33 By : lamaka.tor
 


 

No. 4



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



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


ในปุ่มบันทึกดังนี้
Code (VB.NET)
If DataGridView1.Columns(5).Visible <= 0 > True Then
            MsgBox("ไม่สามารถบันทึกได้")

        Else
            'check whether add new or update
            If Me.semat.Tag & "" = "" Then

                'add new
                'add data to table

                cmd.CommandText = " INSERT INTO Tb_History(His_products, His_quantity, His_student, His_teacher, His_date, His_time)" & _
                              " VALUES ('" & Me.semat.Text & "'," & Me.txtnum.Text & ",'" & _
                              Me.txtna1.Text & "','" & Me.txtna2.Text & "','" & Me.txtdate.Text & "','" & _
                              Me.txttime.Text & "')"
                cmd.ExecuteNonQuery()

                MessageBox.Show("บันทึกลงตารางเรียบร้อยแล้ว")


                'refresh data in list
                RefreshData()

                'close connection
                con.Close()

            End If



        End If




แล้วทำไมมันเข้าที่ INSERT อย่างเดียวเลย?
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-17 06:47:45 By : peemes101
 


 

No. 5



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

ตอบความคิดเห็นที่ : 4 เขียนโดย : peemes101 เมื่อวันที่ 2015-11-17 06:47:45
รายละเอียดของการตอบ ::
If DataGridView1.Columns(5).Visible <= 0 > True Then

ตีความหมายว่าไงรึครับ งงงงงงง

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-17 08:14:08 By : lamaka.tor
 


 

No. 6



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



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


If DataGridView1.Columns(5).Visible <= 0 > True Then
ซึ่งใน<> ก็ใส่เงือนไขว่าถ้า =0 จะบันทึกไม่ได้หรือไม่ใช่ครับ


แต่ใส่อันนี้ If DataGridView1.Columns(5).Visible <> True Then
จะบันทึกได้หมด

แต่สิ่งที่ต้องการคือ Columsนี้มัน =0 จบันทึกไม่ได้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-17 21:55:14 By : peemes101
 


 

No. 7



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

ตอบความคิดเห็นที่ : 6 เขียนโดย : peemes101 เมื่อวันที่ 2015-11-17 21:55:14
รายละเอียดของการตอบ ::

DataGridView1.Columns(5).Visible มันเป็นตัวเลขได้ด้วยรึครับ

งงตรงนี้แหละ ครับ 5555


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-18 08:54:31 By : lamaka.tor
 


 

No. 8



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



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


อ้าวแล้วยังงั้น
ควรเขียนอย่างไรละครับ
ว่า ถ้าคอลัมนี้ น้อยกว่าหรือเท่ากับ 0 จะบันทึกไม่ได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-18 11:04:28 By : peemes101
 


 

No. 9



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

If (int)DataGridView1.Rows(???).Columns(5).Value<= 0 Then

บ้านๆเลย แค่ดึงค่าใน Columns(5) ออกมาแค่นั้นครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-18 13:38:15 By : lamaka.tor
 


 

No. 10



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



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


ใส่แล้วครับ
มันขึ้นerrorดังรูป
หก
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-18 14:06:29 By : peemes101
 


 

No. 11



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

If (int)DataGridView1.Rows(???).Columns(5).Value<= 0 Then


บ้านๆ คือ
??? คือ Rows ที่เราเปิดอ่านข้อมูลอ่าครับ

ถ้า (int) ไม่ได้ก็ใช้ Convert รึไรก็ได้ที่ให้ได้ค่าออกมาเป็น int ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-18 14:34:35 By : lamaka.tor
 


 

No. 12

Guest


อืม ขอโทษนะจะว่าดีไหม ที่คุณ TOR บอกอ่ะมันก็ถูกแล้ว แต่เขาบอกมาเป็นแนวทาง เข้าใจว่าพึงเริ่มเขียนแต่ก็อย่าทิ้งหนังสือหรือพี่ goo
พี่ goo อีกล่ะ -_-"
จะอธิบายให้ก็แล้วกันนะครับ
if = ถ้า DataGridView1 = ตารางข้อมูล1 Rows = แถว ที่เขาใส่ ??? เพราะไม่รู้ว่าแถวที่เท่าไร Columns(5) = Index ของ Columns เป็นชื่อก็ได้ value = ค่าที่ได้
(int) = เหมือนให้ Convert เป็น ตัวเลข ไม่งั้นไม่เข้าเงื่อนไข <= 0
"เพราะไม่ได้ vb มานานแล้วอาจจะอธิบายไม่ถูกหมดนะครับ"
If (int)DataGridView1.Rows(???).Columns(5).Value<= 0 Then

ถ้าเราจะเอามาใช้จะต้องเป็นประมาณนี้
If (int)DataGridView1.Rows(1).Columns(5).Value<= 0 Then
แต่ก็ละมันจะตรวจเฉพาะแถวที่ 1 เท่านั้นแต่เรามีข้อมูลใน ตารางเยอะกว่า 1 แถวเราจะทำอย่างไง
ลองดูเรื่อง Loop For Each While...End While เพราะอย่างไงก็หนีไม่พ้น
ลองดูครับ
และอีกอย่างเวลาหาข้อมูลกับพี่เขาอะ(พี่ goo) ไม่ต้องพิมพ์ยาวให้พิมพ์สั่นก็ได้ เช่น vb loop datagridview พี่เขาเข้าใจครับผม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-18 14:36:50 By : บัญดิษฐ
 


 

No. 13



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



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


ขอบคุณสำหรับคำอธิบายครับ
แต่พอใส่ If (int)DataGridView1.Rows(1).Columns(5).Value<= 0 Then

มันerror เหลือ1ที่ คือ End of statement expected. โดยขึ้นยักๆสีน้ำเงินตั้งแต่ datagridviewไปครับ

และ
ข้อมูลแถวของผมมันแยกตามradio ที่เลือกซึ่งถ้าเลือก rad 1 มี 10 แถว และถ้าเลือกrad 2 มี 15 แถว
ดังควรเขียนอย่างไรดีครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-18 16:10:52 By : peemes101
 


 

No. 14



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

If (int)DataGridView1.Rows(???).Columns(5).Value<= 0 Then


บ้านๆ คือ
??? คือ Rows ที่เราเปิดอ่านข้อมูลอ่าครับ

ถ้า (int) ไม่ได้ก็ใช้ Convert รึไรก็ได้ที่ให้ได้ค่าออกมาเป็น int ครับ

เหมือนเอาคำตอบเก่ามาตอบเลย 5555

ลองศึกษาให้มากๆหน่อยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-18 17:22:16 By : lamaka.tor
 


 

No. 15



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



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


ต้องใส่แบบนี้
If Int(DataGridView1.Rows(1).Columns(5).Value) <= 0 Then

แต่ขึ้นerrorว่า 'Columns' is not a member of 'System.Windows.Forms.DataGridViewRow'.
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-19 01:18:05 By : peemes101
 


 

No. 16



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

ตอบความคิดเห็นที่ : 15 เขียนโดย : peemes101 เมื่อวันที่ 2015-11-19 01:18:05
รายละเอียดของการตอบ ::
นับ Columns ถูกใช่ไม๊ครับ

ลองเอาหน้าตามันมาดูครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-19 08:26:00 By : lamaka.tor
 


 

No. 17



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



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


คือมีradioให้เลือกอยู่ 2 อัน ซึ่งเมื่อเลือกแบบไหน ก็จะโชว์ของสินค้านั้นในdatagridview1

ดังนั้นมีส่วนที่ทำให้error หรือป่าวครับ

และนับถูกครับ มันอยู่ตำแหน่งที่5ในdatabase แต่พอมาโชว์ใน vb มันอยู่คอลัมที่3
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-19 10:14:37 By : peemes101
 


 

No. 18



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

ตอบความคิดเห็นที่ : 17 เขียนโดย : peemes101 เมื่อวันที่ 2015-11-19 10:14:37
รายละเอียดของการตอบ ::

ลอง

MessageBox.Show(DataGridView1.Rows(1).Columns(5).Value.ToString())

มาดูครับว่ามันเป็นอะไรถ้ายัง เอ๋อ อีกก็แสดงว่าผิดครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-19 10:26:24 By : lamaka.tor
 


 

No. 19



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



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


มันยัง error ว่า Columns' is not a member of 'System.Windows.Forms.DataGridViewRow'. ครับ
โดยขึ้นยักสีน้ำเงิน ใต้ DataGridView1.Rows(1).Columns ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-19 12:02:05 By : peemes101
 


 

No. 20

Guest


เอาอย่างนี้แล้วกัน ถ้าผมอธิบายแล้วยังไม่เขาใจอีก คุณเดินไปร้านหนังสือไปซื้อมาสักเล่ม ไม่เอาเล่มนี้ที่คุณมีอยู่
แล้วคุณจะรู้ว่าโลกนี้มันไม่ได้เขียนโค้ดได้แบบเดียว วิธีเดียว คุณต้องศึกษาทำความเขาใจ แก้ปัญหาเอง
ค้นหา google ก็บอกแล้ว เขามีบอกทุกอย่าง ไม่จำเป็นต้องเก่งภาษา ผมจบ ปวส ภาษาผมก็ไม่ได้
แต่รู้อะไรไหม บริษัทยังจ้างผมอยู่

ถ้าดูตัวอย่างนี้แล้วยังไม่ได้ คงไม่มีคำตอบให้อีกแล้วละครับ
Code (VB.NET)
Private Sub Button33_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button33.Click
    Dim rowindex As String
    Dim found as Boolean = false
    For Each row As DataGridViewRow In DataGridView1.Rows
        If row.Cells.Item("ITEM_ID").Value = TextBox5.Text Then
            rowindex = row.Index.ToString()
            found = true
            Dim actie As String = row.Cells("PRICE").Value.ToString()
            MsgBox(actie)
            Exit for
        End If
    Next
    If Not found Then
       MsgBox("Item not found")
    End if    
End Sub 

ไม่ได้ให้เอาโค้ดไปใช้ทั้งหมดเลย แต่เอาให้ศึกษาดู วิธีที่ชาวบ้านเขาเขียน ฮ่วย..หมอนี่ คือเว้ายากแท้
ผมว่า ผมเริ่มรู้สึกเหมือนท่านหน้าฮี แล้วละ(ว่าท่านมาเยอะเหมือนกัน เขาตัวเองเลย)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-19 13:24:26 By : บัญดิษฐ
 


 

No. 21



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



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

ตอบความคิดเห็นที่ : 19 เขียนโดย : peemes101 เมื่อวันที่ 2015-11-19 12:02:05
รายละเอียดของการตอบ ::


MessageBox.Show(DataGridView1(1, 5).Value.ToString())


ผมผิดเองแหละครับเขียนแต่ C# ไม่รู้ว่า vb เขาใช้ DataGridView1.Rows(1).Cells(5).Value


แต่อย่างที่ท่าน บัญดิษฐ กล่าวครับ ปัญหาง่ายขนาดนี้น่าจะแก้เองได้นะครับ

555

ถ้ามัวแต่จะเอาปัญหาเดิมๆมาให้คนอื่นแก้มันจะบ่งบอกถึงความรับผิดชอบ และ ความใส่ใจต่องาน จะส่งผลต่องานในภายภาคหน้าได้นะครับ

55555

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-19 14:48:56 By : lamaka.tor
 


 

No. 22



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



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


ขอบคุณมากๆเลย
สามารถทำได้แล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-20 17:49:09 By : peemes101
 

   

ค้นหาข้อมูล


   
 

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