Solved

Visual Studio Visual Basic 2012, Automatically update a record when moving to next record without need for save button

Posted on 2014-09-22
2
483 Views
Last Modified: 2014-09-24
Trying to see if I can teach an old dog(me) new tricks. After years of using Access to create databases, I am trying to use Visual Studio 2012 Visual Basic to re-create some of the applications I have created. Right now my learning curve is more of a straight line than a curve. I am used to Microsoft Access handling all record update functions for me. I used the before update event for data validation. Then, if no errors were found, Access would write the updated data to the table. Not so with VB 2012. How do I get VB 2012 to error check a record before the update is written and then, if no errors are found, to write the changes (and/or add a new record) when moving to a new record. I have purchased a couple of books on VB 2012 and I cannot find the answer in any of them. I can't find it online. As a side issue, is there a book/tutorial that anyone could recommend that deals pretty much exclusively with handling databases? I would like to find one that takes me, step by step, thru the creation of a small vb project that updates data located in a SQL server.
0
Comment
Question by:rodneygray
2 Comments
 
LVL 83

Accepted Solution

by:
CodeCruiser earned 500 total points
ID: 40338702
There are quite a few tutorials online and following is just an example

http://www.homeandlearn.co.uk/NET/nets12p1.html

VB has this concept of disconnected database access where it downloads records from DB, allows you to work on it locally and then upload changes back to the DB if you want.

If you want to update records whenever current record changes then you can call the tableadapter.update method in your button clicks for all the next, previous buttons.
0
 
LVL 1

Author Comment

by:rodneygray
ID: 40340269
Found the solution on http://www.codeproject.com/Articles/12846/Auto-Saving-DataGridView-Rows-to-a-SQL-Server-Data
Had to add two subroutines and one class variable. Might need to add me.Validate(), have not tested yet.


Public Class SizeForm
    Dim UpdatePending As Boolean = False

   
Private Sub SizeBindingSource_ListChanged(sender As Object, e As System.ComponentModel.ListChangedEventArgs) Handles SizeBindingSource.ListChanged
        If Me.SupplyRoomDataSet.HasChanges Then
            Me.UpdatePending = True
        End If
    End Sub


Private Sub SizeDataGridView_RowValidated(sender As Object, e As DataGridViewCellEventArgs) Handles SizeDataGridView.RowValidated
        If UpdatePending Then
            Me.SizeTableAdapter.Update(Me.SupplyRoomDataSet)
            Me.UpdatePending = False
        End If
    End Sub
End Class
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

If you're writing a .NET application to connect to an Access .mdb database and use pre-existing queries that require parameters, you've come to the right place! Let's say the pre-existing query(qryCust) in Access takes a Date as a parameter and l…
Microsoft Reports are based on a report definition, which is an XML file that describes data and layout for the report, with a different extension. You can create a client-side report definition language (*.rdlc) file with Visual Studio, and build g…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question