Springen naar inhoud


- - - - -
VS 2015

Ms Access Database Via Datagridview Updaten

VS2015

  • Log in a.u.b. om te beantwoorden
Er zijn 5 reacties in dit onderwerp

#1 Grubo

Grubo

    Starting Developer

  • Leden
  • 3 berichten
    Laatst bezocht 05 mrt 2019 13:24

Geplaatst op 03 maart 2019 - 19:14

Hallo,

Ik ben een hobby programmeur in Nederland en ben blij uw forum te hebben gevonden.

Ben al weken aan het stoeien met het updaten van een Access database middels een datagridview in vb.
Ik heb 3 mogelijkheden welke bijgewerkt moeten worden:
1. Een enkel record
2. Een combinatie van 2 records
3. Een combinatie van 4 records

Telkens wordt het eerste record niet bijgewerkt en de rest wel. Kom er niet uit.
Heeft iemand een idee om mij verder op weg te helpen.

Ik vermoed dat het iets te maken heeft met een index. Bijgevoegd een schermvoorbeeld. (lukt nog niet om het voorbeeld er in te krijgen)


Met de button berekenen laat ik de ingevulde waarden overnemen in de datagridview. De button Verwerken moet dan de database updaten.

#2 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1126 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 04 maart 2019 - 08:48

Bericht bekijkenGrubo, op 03 maart 2019 - 19:14, zei:

Heeft iemand een idee om mij verder op weg te helpen.
Je zal toch meer informatie (code?) moeten leveren, zo niet blijft het koffiedik kijken.

#3 Grubo

Grubo

    Starting Developer

  • Leden
  • 3 berichten
    Laatst bezocht 05 mrt 2019 13:24

Geplaatst op 04 maart 2019 - 09:44

Dirk Andries,

Gisteren het bericht geplaatst maar kon nog niet zo vlug vinden om er een voorbeeld bij te doen en de code op te nemen.
Bijgevoegd nu wel al deze gegevens.
Ik hoop dat je me kunt helpen. Alvast dank.

Maarten

Bijlage  keurbriefjes.jpg   86,06K   6 downloads

Code:
Public Class frmCheckKeurbrief
	Dim i As Integer
	Dim Totaal As Integer
	Dim a, b, c, d, j, k, l, m, p, t As Integer
	Private Sub frmCheckKeurbrief_Load(sender As Object, e As EventArgs) Handles MyBase.Load
		'TODO: This line of code loads data into the 'VogelvriendDataSet.Qr_VogelsBijwerken' table. You can move, or remove it, as needed.
		Me.Qr_VogelsBijwerkenTableAdapter.Fill(Me.VogelvriendDataSet.Qr_VogelsBijwerken)
		Button1.Enabled = False
		Button2.Enabled = False
	End Sub
	Private Sub DataGridView1_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellClick
		i = DataGridView1.CurrentRow.Index
		If DataGridView1.Item(7, i).Value = 0 And DataGridView1.Item(8, i).Value = 0 Then
			TextBox1.Text = DataGridView1.Item(0, i).Value.ToString
			TextBox2.Text = ""
			TextBox3.Text = ""
			TextBox4.Text = ""
			TextBox5.Text = ""
			TextBox6.Text = ""
			TextBox7.Text = ""
			TextBox8.Text = ""
			TextBox9.Text = DataGridView1.Item(3, i).Value.ToString
			TextBox10.Text = ""
			TextBox11.Text = ""
			TextBox12.Text = ""
			TextBox13.Text = DataGridView1.Item(4, i).Value.ToString
			TextBox14.Text = ""
			TextBox15.Text = ""
			TextBox16.Text = ""
			TextBox34.Text = ""
			TextBox25.Visible = False
			TextBox26.Visible = False
			TextBox28.Visible = False
			TextBox30.Visible = False
			TextBox31.Visible = True
			TextBox32.Visible = False
			TextBox33.Visible = False
			TextBox34.Visible = True
			TextBox35.Visible = False
			TextBox36.Visible = False
			Button1.Enabled = True
		Else
			If DataGridView1.Item(1, i).Value = "A" And DataGridView1.Item(7, i).Value = -1 Then
				Button1.Enabled = True
				Button2.Enabled = False
				TextBox25.Visible = False
				TextBox26.Visible = True
				TextBox28.Visible = False
				TextBox30.Visible = True
				TextBox31.Visible = False
				TextBox32.Visible = False
				TextBox33.Visible = True
				TextBox34.Visible = False
				TextBox35.Visible = False
				TextBox36.Visible = True
				TextBox1.Text = DataGridView1.Item(0, i).Value.ToString
				TextBox2.Text = DataGridView1.Item(0, i + 1).Value.ToString
				TextBox3.Text = DataGridView1.Item(0, i + 2).Value.ToString
				TextBox4.Text = DataGridView1.Item(0, i + 3).Value.ToString
				TextBox5.Text = DataGridView1.Item(1, i).Value.ToString
				TextBox6.Text = DataGridView1.Item(1, i + 1).Value.ToString
				TextBox7.Text = DataGridView1.Item(1, i + 2).Value.ToString
				TextBox8.Text = DataGridView1.Item(1, i + 3).Value.ToString
				TextBox9.Text = DataGridView1.Item(3, i).Value.ToString
				TextBox10.Text = DataGridView1.Item(3, i + 1).Value.ToString
				TextBox11.Text = DataGridView1.Item(3, i + 2).Value.ToString
				TextBox12.Text = DataGridView1.Item(3, i + 3).Value.ToString
				TextBox13.Text = DataGridView1.Item(4, i).Value.ToString
				TextBox14.Text = DataGridView1.Item(4, i + 1).Value.ToString
				TextBox15.Text = DataGridView1.Item(4, i + 2).Value.ToString
				TextBox16.Text = DataGridView1.Item(4, i + 3).Value.ToString
			ElseIf DataGridView1.Item(1, i).Value = "A" And DataGridView1.Item(8, i).Value = -1 Then
				Button1.Enabled = True
				Button2.Enabled = False
				TextBox25.Visible = True
				TextBox26.Visible = False
				TextBox28.Visible = True
				TextBox30.Visible = False
				TextBox31.Visible = False
				TextBox32.Visible = True
				TextBox33.Visible = False
				TextBox34.Visible = False
				TextBox35.Visible = True
				TextBox36.Visible = False
				TextBox1.Text = DataGridView1.Item(0, i).Value.ToString
				TextBox2.Text = DataGridView1.Item(0, i + 1).Value.ToString
				TextBox3.Text = ""
				TextBox4.Text = ""
				TextBox5.Text = DataGridView1.Item(1, i).Value.ToString
				TextBox6.Text = DataGridView1.Item(1, i + 1).Value.ToString
				TextBox7.Text = ""
				TextBox8.Text = ""
				TextBox9.Text = DataGridView1.Item(3, i).Value.ToString
				TextBox10.Text = DataGridView1.Item(3, i + 1).Value.ToString
				TextBox11.Text = ""
				TextBox12.Text = ""
				TextBox13.Text = DataGridView1.Item(4, i).Value.ToString
				TextBox14.Text = DataGridView1.Item(4, i + 1).Value.ToString
				TextBox15.Text = ""
				TextBox16.Text = ""
			End If
		End If
	End Sub
	Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
		Dim Extra As Integer
		i = DataGridView1.CurrentRow.Index
		If DataGridView1.Item(7, i).Value = 0 And DataGridView1.Item(8, i).Value = 0 Then
			a = CInt(TextBox17.Text)
			j = CInt(TextBox21.Text)
			DataGridView1.Item(9, i).Value = a
			DataGridView1.Item(10, i).Value = j
			DataGridView1.Item(13, i).Value = TextBox31.Text
			DataGridView1.Item(14, i).Value = TextBox34.Text
		ElseIf DataGridView1.Item(1, i).Value = "A" And DataGridView1.Item(7, i).Value = -1 Then
			Dim Punten(3) As Integer
			Punten(0) = CInt(TextBox21.Text)
			Punten(1) = CInt(TextBox22.Text)
			Punten(2) = CInt(TextBox23.Text)
			Punten(3) = CInt(TextBox24.Text)
			Array.Sort(Punten)
			If chkbEenheidspunten.Checked = True Then
				Extra = 0
			Else
				If Punten(3) = 0 Then
					Extra = 0
				Else
					If Punten(3) - Punten(0) = 0 Then
						Extra = 6
					ElseIf Punten(3) - Punten(0) = 1 Then
						Extra = 5
					ElseIf Punten(3) - Punten(0) = 2 Then
						Extra = 4
					ElseIf Punten(3) - Punten(0) = 3 Then
						Extra = 3
					ElseIf Punten(3) - Punten(0) = 4 Then
						Extra = 2
					ElseIf Punten(3) - Punten(0) = 5 Then
						Extra = 1
					ElseIf Punten(3) - Punten(0) = 6 Then
						Extra = 0
					End If
				End If
			End If
			TextBox26.Text = Extra
			For ctr As Integer = 0 To 3
				Totaal += Punten(ctr)
			Next
			' Totaal = CInt(TextBox21.Text) + CInt(TextBox22.Text) + CInt(TextBox23.Text) + CInt(TextBox24.Text) + CInt(TextBox26.Text)
			TextBox30.Text = Totaal + Extra
			a = CInt(TextBox17.Text)
			b = CInt(TextBox18.Text)
			c = CInt(TextBox19.Text)
			d = CInt(TextBox20.Text)
			j = CInt(TextBox21.Text)
			k = CInt(TextBox22.Text)
			l = CInt(TextBox23.Text)
			m = CInt(TextBox24.Text)
			p = Extra
			t = Totaal + p
			DataGridView1.Item(9, i).Value = a
			DataGridView1.Item(9, i + 1).Value = b
			DataGridView1.Item(9, i + 2).Value = c
			DataGridView1.Item(9, i + 3).Value = d
			DataGridView1.Item(10, i).Value = j
			DataGridView1.Item(10, i + 1).Value = k
			DataGridView1.Item(10, i + 2).Value = l
			DataGridView1.Item(10, i + 3).Value = m
			DataGridView1.Item(11, i + 3).Value = p
			DataGridView1.Item(12, i + 3).Value = t
			DataGridView1.Item(13, i + 3).Value = TextBox33.Text
			DataGridView1.Item(14, i + 3).Value = TextBox36.Text
		ElseIf DataGridView1.Item(1, i).Value = "A" And DataGridView1.Item(8, i).Value = -1 Then
			Dim Punten(1) As Integer
			Punten(0) = CInt(TextBox21.Text)
			Punten(1) = CInt(TextBox22.Text)
			Array.Sort(Punten)
			If chkbEenheidspunten.Checked = True Then
				Extra = 0
			Else
				If Punten(1) = 0 Then
					Extra = 0
				Else
					If Punten(1) - Punten(0) = 0 Then
						Extra = 3
					ElseIf Punten(1) - Punten(0) = 1 Then
						Extra = 2
					ElseIf Punten(1) - Punten(0) = 2 Then
						Extra = 1
					ElseIf Punten(1) - Punten(0) = 3 Then
						Extra = 0
					End If
				End If
			End If
			TextBox25.Text = Extra
			For Ctr As Integer = 0 To 1
				Totaal += Punten(Ctr)
			Next
			'Totaal = CInt(TextBox21.Text) + CInt(TextBox22.Text) + CInt(TextBox25.Text)
			TextBox28.Text = Totaal + Extra
			a = CInt(TextBox17.Text)
			b = CInt(TextBox18.Text)
			j = CInt(TextBox21.Text)
			k = CInt(TextBox22.Text)
			p = Extra
			t = Totaal + p
			DataGridView1.Item(9, i).Value = a
			DataGridView1.Item(9, i + 1).Value = b
			DataGridView1.Item(10, i).Value = j
			DataGridView1.Item(10, i + 1).Value = k
			DataGridView1.Item(11, i + 1).Value = p
			DataGridView1.Item(12, i + 1).Value = t
			DataGridView1.Item(13, i + 1).Value = TextBox32.Text
			DataGridView1.Item(14, i + 1).Value = TextBox35.Text
		End If
		Button1.Enabled = False
		Button2.Enabled = True
	End Sub
	Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
		Qr_VogelsBijwerkenTableAdapter.Update(VogelvriendDataSet)
		Me.VogelvriendDataSet.Qr_VogelsBijwerken.AcceptChanges()
		'Me.Qr_VogelsBijwerkenTableAdapter.Fill(Me.VogelvriendDataSet.Qr_VogelsBijwerken)
		'Me.DataGridView1.Refresh()
		Me.DataGridView1.FirstDisplayedScrollingRowIndex = i

		TextBox1.Text = ""
		TextBox2.Text = ""
		TextBox3.Text = ""
		TextBox4.Text = ""
		TextBox5.Text = ""
		TextBox6.Text = ""
		TextBox7.Text = ""
		TextBox8.Text = ""
		TextBox9.Text = ""
		TextBox10.Text = ""
		TextBox11.Text = ""
		TextBox12.Text = ""
		TextBox13.Text = ""
		TextBox14.Text = ""
		TextBox15.Text = ""
		TextBox16.Text = ""
		TextBox17.Text = 0
		TextBox18.Text = 0
		TextBox19.Text = 0
		TextBox20.Text = 0
		TextBox21.Text = 0
		TextBox22.Text = 0
		TextBox23.Text = 0
		TextBox24.Text = 0
		TextBox25.Text = ""
		TextBox26.Text = ""
		TextBox28.Text = ""
		TextBox30.Text = ""
		TextBox31.Text = ""
		TextBox32.Text = ""
		TextBox33.Text = ""
		TextBox34.Text = ""
		TextBox35.Text = ""
		TextBox36.Text = ""
		Totaal = 0
		Button1.Enabled = False
		Button2.Enabled = False
	End Sub
End Class



#4 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1126 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 04 maart 2019 - 13:47

Bericht bekijkenGrubo, op 04 maart 2019 - 09:44, zei:

Ik hoop dat je me kunt helpen.
Oei, deze ga ik toch aan mij laten voorbijgaan, denk ik.
Eén wilde gok toch: indien het eerste record het record is in edit mode, dan ontbreekt er misschien een EndEdit?

#5 Grubo

Grubo

    Starting Developer

  • Leden
  • 3 berichten
    Laatst bezocht 05 mrt 2019 13:24

Geplaatst op 04 maart 2019 - 18:21

Dirk Andries,

Je wilde gok heeft bij mij in ieder geval geholpen. Ik ga het vanavond nog even testen maar het lijkt er op dat het updaten nu wel werkt.
Je hebt me in ieder geval op het juiste spoor gezet.
Nogmaals dank.

Maarten.

#6 Dirk Andries

Dirk Andries

    Guru Developer

  • Leden
  • PipPipPipPipPipPip
  • 1126 berichten
    Laatst bezocht
  • LocatieGent

Geplaatst op 05 maart 2019 - 10:10

Bericht bekijkenGrubo, op 04 maart 2019 - 18:21, zei:

Je wilde gok heeft bij mij in ieder geval geholpen.
Het was trouwens eerder een vermoeden dan een gok, na het (vluchtig) bestuderen van je code.
Mocht ik je project hebben gehad, dan had ik zelf de moeite genomen om mijn vermoeden te verifiëren.
Succes!





Ook met taq VS 2015, VS2015 voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[VS 2015] Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)