Patrice T
Чтобы проверить наличие дубликатов, вам нужно проверить каждую существующую строку в datagridview, из фрагмента кода, я подозреваю, что вы проверяете только текущую.
Используйте отладчик, чтобы точно видеть, что делает ваш код.
Существует инструмент, который позволяет вам видеть, что делает ваш код, его имя отладчик Это также отличный инструмент обучения, потому что он показывает вам реальность, и вы можете увидеть, какие ожидания соответствуют реальности.
Когда вы не понимаете, что делает ваш код или почему он делает то, что он делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.
Отладчик - Википедия, свободная энциклопедия[^]
Visual Basic / Visual Studio Video Tutorial - Базовая Отладка - YouTube[^]
Visual Basic .NET programming for Beginners - точки останова и средства отладки[^]
Отладчик здесь, чтобы показать вам, что делает ваш код, и ваша задача-сравнить с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.
Khabibb Mubarakk
Эй, ребята, я получаю решение этой проблемы, но у меня есть еще одна проблема... я делаю это на частной субмарине . этот код cek дублирует данные по ячейкам(nid_sp)
For i As Integer = 0 To dataspdibeli.Rows.Count - 1
If Not IsDBNull(dataspdibeli.Rows(i).Cells("NID_SP").Value) AndAlso dataspdibeli.Rows(i).Cells("NID_SP").Value = spnid.Text Then
If MessageBox.Show("Data Barang Sudah Ada , Tambah Jumlah Barang ?", "Confirmation !", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
dataspdibeli.Rows(i).Cells("QTY").Value = dataspdibeli.Rows(i).Cells("QTY").Value + Val(spqty.Text)
Else
Exit Sub
End If
Exit Sub
End If
Next
этот код для проверки другого условия Перед проверкой дубликатов данных
<pre>Dim stock = datasparepart.CurrentRow.Cells(5).Value
If stock = 0 Then
MsgBox("Stock Item Habis", MsgBoxStyle.Exclamation)
ElseIf stock < Val(spqty.Text) Then
MsgBox("Stock Kurang Dari Jumlah Item Yang Dibeli", MsgBoxStyle.Exclamation)
ElseIf spqty.Text = "" Then
MsgBox("Masukkan Jumlah Item", MsgBoxStyle.Exclamation)
spqty.Focus()
elseif ----{HOW PLACE/CHECK THE PRIVATE SUB DUPLICATE HERE}
Else
With dataspdibeli
'Insert data ke DGV
.Rows.Insert(.NewRowIndex, penfaktur.Text, spnid.Text, spnama.Text, spharga.Text, spqty.Text, spsubtotal.Text)
End With
hitung()
End If