Hier ist mein Code, jedes Mal, wenn ich auf den Button1 klicke, anstatt die Datagridview zu aktualisieren, fügt es nur einen anderen Eintrag ein, der ein Duplikat des vorherigen ist. Ich weiß, dass etwas in meinem Code fehlt, das die Daten in Datagrid löscht, bevor es erneut geladen wird. Bitte helfen Sie.VB.Net - Eintrag in Datagridview hält Duplizieren auf Ereignis
Private Function LoadData_UnitProcess()
Dim UP_SQL As String = "SELECT LotNum FROM Transactions WHERE StatusID=3 ORDER BY Process_EntryDate DESC"
Dim UP_Ad As OleDbDataAdapter = New OleDbDataAdapter(UP_SQL, strCon)
UP_Ad.Fill(UP_Ds, "Transactions")
UnitOnProcess_DG.DataSource = UP_Ds.Tables(0)
With UnitOnProcess_DG
.RowHeadersVisible = False
.Columns(0).HeaderCell.Value = "Lot #"
.Columns(0).Width = "363"
.AllowUserToAddRows = False
End With
LoadData_UnitProcess = ""
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
LoadData_UnitProcess()
End Sub
Private Sub Displayer_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
LoadData_UnitProcess()
End Sub
1) Ihr 'LoadData_UnitReady' ist ein Sub und keine Funktion: Es wird nichts zurückgesendet. 2) keiner der gezeigten Sub-Call die Funktion. Beide nennen etwas anderes – genespos
@genespos, 'LoadData_UnitReady' ist eigentlich eine Funktion, aber eine schlecht geschriebene. Erstens ist der Rückgabetyp nicht angegeben. Zweitens verwendet es den alten VB6-Stil, bei dem ein Wert zurückgegeben wird, indem dem Funktionsnamen zugewiesen wird. Vor allem aber gibt es keinen Grund dafür, dass es eine Funktion ist, weil es immer eine leere Zeichenfolge zurückgibt und dieser Wert absolut nichts mit dem Zweck der Methode zu tun hat. Es sollte ein "Sub" sein. – jmcilhinney
Sorry, ich habe die falsche Funktion kopiert. Ich habe es jetzt bearbeitet. – Darwin