Private Sub btnNieuweKlantToevoegen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNieuweKlantToevoegen.Click
Dim oConString2 As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|MSP.mdb;"
Dim oCon2 As New OleDb.OleDbConnection(oConString2)
Dim sqlBedrijfsnaam_bestaat As String = "SELECT COUNT(*) FROM Klanten WHERE Bedrijfsnaam = '" & Me.txtBedrijfsnaam_Klanten.Text & "'"
Dim oCmdBedrijfsnaam_bestaat As New OleDbCommand(sqlBedrijfsnaam_bestaat, oCon2)
Try
oCon2.Open()
Dim oReaderBedrijfsnaamBestaat As OleDbDataReader = oCmdBedrijfsnaam_bestaat.ExecuteReader
oReaderBedrijfsnaamBestaat.Read()
If (Me.txtBedrijfsnaam_Klanten.Text.Equals("")) Then
MessageBox.Show("Vul een bedrijfsnaam in!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
ElseIf (oReaderBedrijfsnaamBestaat(0) > 0) Then
MessageBox.Show("Bedrijfsnaam bestaat al!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Else
'insert into database
Dim sSQL As String = "INSERT INTO Klanten(Bedrijfsnaam) VALUES('" & Me.txtBedrijfsnaam_Klanten.Text & ")"
Dim oCom As New OleDbCommand(sSQL, oCon2)
Try
oCom.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message)
Finally
oCom.Dispose()
oCon2.Dispose()
oCon2.Close()
End Try
End If
oCmdBedrijfsnaam_bestaat.Dispose()
Catch ex As Exception
MessageBox.Show(ex.ToString)
Finally
oCon2.Close()
oCon2.Dispose()
End Try
End Sub
PrivateSub btnNieuweKlantToevoegen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles btnNieuweKlantToevoegen.Click
Dim oConString2 AsString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|MSP.mdb;"
Dim oCon2 AsNew OleDb.OleDbConnection(oConString2)
Dim sqlBedrijfsnaam_bestaat AsString="SELECT COUNT(*) FROM Klanten WHERE Bedrijfsnaam = '"&Me.txtBedrijfsnaam_Klanten.Text&"'"
Dim oCmdBedrijfsnaam_bestaat AsNew OleDbCommand(sqlBedrijfsnaam_bestaat, oCon2)
Try
oCon2.Open()
Dim oReaderBedrijfsnaamBestaat As OleDbDataReader = oCmdBedrijfsnaam_bestaat.ExecuteReader
Private Sub btnNieuweKlantToevoegen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNieuweKlantToevoegen.Click
Dim oConString2 As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|MSP.mdb;"
Dim oCon2 As New OleDb.OleDbConnection(oConString2)
Dim sqlBedrijfsnaam_Contactpersoon_bestaat As String = "SELECT COUNT(*) FROM Klanten WHERE Bedrijfsnaam = '" & Me.txtBedrijfsnaam_Klanten.Text & "'"
Dim oCmdBedrijfsnaam_Contactpersoon_bestaat, oCmdContactpersoon_bestaat As New OleDbCommand(sqlBedrijfsnaam_Contactpersoon_bestaat, oCon2)
Try
oCon2.Open()
Dim oReaderBedrijfsnaam_Contactpersoon_Bestaat As OleDbDataReader = oCmdBedrijfsnaam_Contactpersoon_bestaat.ExecuteReader
oReaderBedrijfsnaam_Contactpersoon_Bestaat.Read()
If String.IsNullOrEmpty(txtBedrijfsnaam_Klanten.Text) Then
strErrors &= "- Er is geen bedrijfsnaam ingevuld!" & Environment.NewLine
xErrors = xErrors + 1
ElseIf (oReaderBedrijfsnaam_Contactpersoon_Bestaat(0) > 0) Then
strErrors &= "- Bedrijfsnaam bestaat al!" & Environment.NewLine
xErrors = xErrors + 1
ElseIf String.IsNullOrEmpty(txtContactpersoon_Klanten.Text) Then
strErrors &= "- Er is geen contactpersoon ingevuld!" & Environment.NewLine
xErrors = xErrors + 1
ElseIf (oReaderBedrijfsnaam_Contactpersoon_Bestaat(0) > 0) Then
strErrors &= "- Contactpersoon bestaat al!" & Environment.NewLine
xErrors = xErrors + 1
ElseIf String.IsNullOrEmpty(txtAdres_Klanten.Text) Then
strErrors &= "- Er is geen adres ingevuld!" & Environment.NewLine
xErrors = xErrors + 1
ElseIf String.IsNullOrEmpty(txtPostcode_Klanten.Text) Then
strErrors &= "- Er is geen postcode ingevuld!" & Environment.NewLine
xErrors = xErrors + 1
ElseIf String.IsNullOrEmpty(txtPlaats_Klanten.Text) Then
strErrors &= "- Er is geen plaats ingevuld!" & Environment.NewLine
xErrors = xErrors + 1
ElseIf String.IsNullOrEmpty(txtTelefoonnummer_Klanten.Text) Then
strErrors &= "- Er is geen telefoonnummer ingevuld!" & Environment.NewLine
xErrors = xErrors + 1
ElseIf String.IsNullOrEmpty(txtEmailadres_Klanten.Text) Then
strErrors &= "- Er is geen emailadres ingevuld!" & Environment.NewLine
xErrors = xErrors + 1
'Alle errors bij elkaar optellen en weergeven'
If xErrors > 0 Then
MessageBox.Show(strErrors, "Fout", MessageBoxButtons.OK, MessageBoxIcon.Warning)
If Windows.Forms.DialogResult.OK Then
xErrors = 0
End If
End If
Else
'insert into database
Dim sSQL As String = "INSERT INTO Klanten(Bedrijfsnaam, Contactpersoon, Adres, Postcode, Plaats, Telefoonnummer, Faxnummer, Emailadres) VALUES('" & Me.txtBedrijfsnaam_Klanten.Text & "', '" & Me.txtContactpersoon_Klanten.Text & "', '" & Me.txtAdres_Klanten.Text & "', '" & Me.txtPostcode_Klanten.Text & "', '" & Me.txtPlaats_Klanten.Text & "', '" & Me.txtTelefoonnummer_Klanten.Text & "', '" & Me.txtFaxnummer_Klanten.Text & "', '" & Me.txtEmailadres_Klanten.Text & "')"
Dim oCom As New OleDbCommand(sSQL, oCon2)
Try
oCom.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message)
Finally
oCom.Dispose()
oCon2.Dispose()
oCon2.Close()
End Try
End If
oCmdBedrijfsnaam_Contactpersoon_bestaat.Dispose()
Catch ex As Exception
MessageBox.Show(ex.ToString)
Finally
oCon2.Close()
oCon2.Dispose()
End Try
End Sub
PrivateSub btnNieuweKlantToevoegen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles btnNieuweKlantToevoegen.Click
Dim oConString2 AsString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|MSP.mdb;"
Dim oCon2 AsNew OleDb.OleDbConnection(oConString2)
Dim sqlBedrijfsnaam_Contactpersoon_bestaat AsString="SELECT COUNT(*) FROM Klanten WHERE Bedrijfsnaam = '"&Me.txtBedrijfsnaam_Klanten.Text&"'"
Dim oCmdBedrijfsnaam_Contactpersoon_bestaat, oCmdContactpersoon_bestaat AsNew OleDbCommand(sqlBedrijfsnaam_Contactpersoon_bestaat, oCon2)
Try
oCon2.Open()
Dim oReaderBedrijfsnaam_Contactpersoon_Bestaat As OleDbDataReader = oCmdBedrijfsnaam_Contactpersoon_bestaat.ExecuteReader
Eerst ben je bezig over die query-fout, die je zelf al hebt opgelost. Dan begin je over het resetten van de auto-nummering in een DB, en nu begin je weer over iets... Wat is de bedoeling hiervan?
Wat gaat er fout of werkt niet in die laatste stuk code? Ook steekt die niet logisch in elkaar. Je moet eerst controle doen op alle invoervelden en daarna kan je gaan controleren of het bedrijf al bestaat:
- Controle op invoer, bij fouten: melding weergeven
- Juiste invoer: controleren of bedrijfsnaam bestaat, als die bestaat: melding weergeven
- Bestaat nog niet: alles invoegen in de DB
Volledig correct gezien wel, want het ene topic is het andere niet, maar swat, doet er nu dan niet toe. Heb je de rest van m'n reactie dan ook gelezen? :D
Dat bedoel ik niet, die if/elseif is wel juist. Maar met je vorige code ga je of nu alle nodige velden zijn ingevuld of niet, communiceren met de DB terwijl dit helemaal niet nodig is. Pas als alle invoer correct is kan je gaan communiceren met de DB.