Beginner Problems Writing to the Database.

Troy

Well-known member
Joined
Feb 7, 2005
Messages
153
Programming Experience
10+
ok I'm so confused.

I'm opening and reading my database just fine but I need to Add new information to the database.

I have My Dataset Setup into the variable dsContact
My DataAdapter String is daContact
and My Table is of course dtContact

this keeps things simpl as daContact, dtContact and dsContact

I have created a form with Textboxes to add my information

Textbox1.Text will contain the Contacts Lastname for instance

in my database the LastName Field is defined as LastName1

I need to take my textbox info and write it to LastName1 into my Dataset
dsContact right?

the following is modified code from a previous posters inquiry into this method

Dim _UPCmd As New System.Data.OleDb.OleDbCommand("UPDATE Contact SET LastName1 = ? WHERE FirstName1 = ?", cn)
_UPCmd.Parameters.Add(
"@LastName1", System.Data.OleDb.OleDbType.VarWChar, 255, "LastName1").Value = TextBox1.Text
_UPCmd.Parameters.Add(
"@FirstName1", System.Data.OleDb.OleDbType.VarWChar, 255, "FirstName1").Value = TextBox2.Text
'check first if the dataset is loaded
If (dsContact.Tables.Contains("Contact")) Then
daContact.UpdateCommand = _UPCmd
'check if there are null values
If (TextBox1.Text = "") Then
MsgBox(​
"you have nulls, you cannot enter null values")
Else
'check update
'if ok
'update data
daContact.Update(dsContact, "Contact")
dsContact.AcceptChanges()
End If
End If
MsgBox(TextBox2.Text & " " & TextBox3.Text & ". " & TextBox1.Text & " added successfully!")

End Sub

Can someone help me figure this out I have more data needing to be included but if I can get these 2 to add I know how to add the rest.

My eyes hurt:eek:


 
Alright guys I've rewritten my code to save my data and it does work! but! I'm having a snag. My Contact table has a field called ContactID the value of which is autogenerated and the value of which I use in my Treeview control to select the Correct record when the node is clicked. I store the value in the Node.tag propery. My problem is after I save my files and close the Routine, I call my UpdateTree routine to resetup my Treeview control with the new added record. This again is working fine! BUT! when I click on the Node I recieve a DBNULL cannot be converted to Decimal error which I know is because The CID variable I usually populate my .tag property is Null. Nothing was saved into the ContactID. However, I have examined the Database in Access afterward and there are numbers within my ContactID and I can restart My program and Have it refill my tree and everything works fine.

Here is my code.

The Save Routine:

VB.NET:
[SIZE=2][COLOR=#0000ff]Private[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Sub[/COLOR][/SIZE][SIZE=2] ToolStripButton1_Click([/SIZE][SIZE=2][COLOR=#0000ff]ByVal[/COLOR][/SIZE][SIZE=2] sender [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][SIZE=2] System.Object, [/SIZE][SIZE=2][COLOR=#0000ff]ByVal[/COLOR][/SIZE][SIZE=2] e [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][SIZE=2] System.EventArgs) [/SIZE][SIZE=2][COLOR=#0000ff]Handles[/COLOR][/SIZE][SIZE=2] ToolStripButton1.Click[/SIZE][INDENT][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][SIZE=2] oCtl [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Object[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][SIZE=2] strName [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]String[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2]mblnAdd = [/SIZE][SIZE=2][COLOR=#0000ff]True[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] mblnAdd [/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2][INDENT]rowContact = dsContact.Tables([/INDENT][/SIZE][INDENT][SIZE=2][COLOR=#a31515]"Contact"[/COLOR][/SIZE][SIZE=2]).NewRow[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
[SIZE=2][COLOR=#008000]'-- Start the editing in the datarow.[/COLOR][/SIZE]
[SIZE=2]rowContact.BeginEdit()[/SIZE]
[SIZE=2][COLOR=#008000]'-- Run through the text boxes on the form, and[/COLOR][/SIZE]
[SIZE=2][COLOR=#008000]'-- if they match up with a field from the record,[/COLOR][/SIZE]
[SIZE=2][COLOR=#008000]'-- place the value back in the record.[/COLOR][/SIZE]
 
 
 
 
 

[SIZE=2][COLOR=#0000ff]For[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Each[/COLOR][/SIZE][SIZE=2] oCtl [/SIZE][SIZE=2][COLOR=#0000ff]In[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Me[/COLOR][/SIZE][SIZE=2].Controls[/SIZE][INDENT][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]TypeOf[/COLOR][/SIZE][SIZE=2] oCtl [/SIZE][SIZE=2][COLOR=#0000ff]Is[/COLOR][/SIZE][SIZE=2] TextBox [/SIZE][SIZE=2][COLOR=#0000ff]Or[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]TypeOf[/COLOR][/SIZE][SIZE=2] oCtl [/SIZE][SIZE=2][COLOR=#0000ff]Is[/COLOR][/SIZE][SIZE=2] MaskedTextBox [/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2][INDENT]strName = Mid(oCtl.Name, 4)[/INDENT][/SIZE]

[INDENT][SIZE=2][COLOR=#008000]'-- By trapping the exception this way, errors are ignored.[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2][COLOR=#0000ff]Try[/COLOR][/SIZE][/INDENT][INDENT][INDENT][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] oCtl.text = [/SIZE][SIZE=2][COLOR=#0000ff]Nothing[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][SIZE=2] oCtl.text = [/SIZE][SIZE=2][COLOR=#a31515]" "[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2]rowContact(strName) = oCtl.text[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]Catch[/COLOR][/SIZE][SIZE=2] oexp [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][SIZE=2] Exception[/SIZE]
[SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Try[/COLOR][/SIZE]
 
 
 
 
 

[/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 
 
 
 
 

[/INDENT][SIZE=2][COLOR=#0000ff]Next[/COLOR][/SIZE]
[SIZE=2][COLOR=#008000]'-- Finish the editing of the datarow[/COLOR][/SIZE]
[SIZE=2]rowContact.EndEdit()[/SIZE]
[SIZE=2][COLOR=#0000ff]Try[/COLOR][/SIZE]

[INDENT][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] mblnAdd [/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2][INDENT]dsContact.Tables([/INDENT][/SIZE][INDENT][SIZE=2][COLOR=#a31515]"Contact"[/COLOR][/SIZE][SIZE=2]).Rows.Add(rowContact)[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
[SIZE=2][COLOR=#008000]'-- Create an instance of the command builder[/COLOR][/SIZE]
[SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][SIZE=2] ocbContact [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][SIZE=2] OleDb.OleDbCommandBuilder[/SIZE]
[SIZE=2]ocbContact = [/SIZE][SIZE=2][COLOR=#0000ff]New[/COLOR][/SIZE][SIZE=2] OleDb.OleDbCommandBuilder(daContact)[/SIZE]
 
 
 
 
 

[/INDENT][INDENT][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] mblnAdd [/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][/INDENT][INDENT][INDENT][SIZE=2][COLOR=#008000]'-- Have the command builder create an Insert SQL command[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2]daContact.InsertCommand = ocbContact.GetInsertCommand[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]Else[/COLOR][/SIZE]

[INDENT][SIZE=2][COLOR=#008000]'-- Have the command builder create an update SQL command[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2]daContact.UpdateCommand = ocbContact.GetUpdateCommand[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 
 
 
 
 

[/INDENT][INDENT][SIZE=2][COLOR=#008000]'-- Perform the specified SQL command; then close the connection[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2]daContact.Update(dsContact, [/SIZE][SIZE=2][COLOR=#a31515]"Contact"[/COLOR][/SIZE][SIZE=2])[/SIZE][/INDENT][INDENT][SIZE=2]dsContact.Tables([/SIZE][SIZE=2][COLOR=#a31515]"Contact"[/COLOR][/SIZE][SIZE=2]).AcceptChanges()[/SIZE][/INDENT][INDENT][SIZE=2][COLOR=#008000]'-- Close the connection[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] mblnAdd [/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][INDENT][SIZE=2]daContact.InsertCommand.Connection.Close()[/SIZE][/INDENT]

[/INDENT][INDENT][INDENT][SIZE=2][COLOR=#008000]'Clear TreeView Control[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2]frmMain.tvTreeView.Nodes.Clear()[/SIZE][/INDENT][INDENT][SIZE=2][COLOR=green]'Repopulate it[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2]frmMain.updateTree()[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]Else[/COLOR][/SIZE]
 
 
 
 
 

[SIZE=2][INDENT]daContact.UpdateCommand.Connection.Close()[/INDENT][/SIZE]
[SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 
 
 
 
 

[/INDENT][SIZE=2][COLOR=#0000ff]Catch[/COLOR][/SIZE][SIZE=2] excData [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][SIZE=2] Exception[INDENT]MessageBox.Show([/INDENT][/SIZE][INDENT][SIZE=2][COLOR=#a31515]"Error Occurred: "[/COLOR][/SIZE][SIZE=2] & excData.Message)[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Try[/COLOR][/SIZE]
 
 
 
 
 

[/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Sub[/COLOR][/SIZE]


Next is my UpdateTree code:


VB.NET:
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Public[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Sub[/COLOR][/SIZE][SIZE=2] updateTree()[/SIZE][INDENT][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][SIZE=2] indx [/SIZE][SIZE=2][COLOR=#0000ff]As [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Integer[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][SIZE=2] current Alpha [/SIZE][SIZE=2][COLOR=#0000ff]As [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]String[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][SIZE=2] sContactName [/SIZE][SIZE=2][COLOR=#0000ff]As [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]String[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][SIZE=2] rcount [/SIZE][SIZE=2][COLOR=#0000ff]As [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Integer[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2]rcount = 0[/SIZE][/INDENT][INDENT][SIZE=2]CurrentTableCount = 0[/SIZE][/INDENT][INDENT][SIZE=2]ProgressBar1.Value = 0[/SIZE][/INDENT][INDENT][SIZE=2]ProgressBar1.Maximum = 26[/SIZE][/INDENT][INDENT][SIZE=2]StatusLabel1.Text = [/SIZE][SIZE=2][COLOR=#a31515]"Populating Customer List..."[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2]tvTreeView.Nodes.Clear()[/SIZE][/INDENT][INDENT][SIZE=2][COLOR=#008000]'Populate Treeview Control[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2][COLOR=#0000ff]For[/COLOR][/SIZE][SIZE=2] indx = Asc([/SIZE][SIZE=2][COLOR=#a31515]"A"[/COLOR][/SIZE][SIZE=2]) [/SIZE][SIZE=2][COLOR=#0000ff]To[/COLOR][/SIZE][SIZE=2] Asc([/SIZE][SIZE=2][COLOR=#a31515]"Z"[/COLOR][/SIZE][SIZE=2])[INDENT]CurrentTableCount = CurrentTableCount + 1[/INDENT][/SIZE]

[INDENT][SIZE=2]ProgressBar1.Value = CurrentTableCount[/SIZE][/INDENT][INDENT][SIZE=2]currentAlpha = Chr(indx)[/SIZE][/INDENT][INDENT][SIZE=2]tvTreeView.Nodes.Add([/SIZE][SIZE=2][COLOR=#0000ff]New[/COLOR][/SIZE][SIZE=2] TreeNode(currentAlpha))[/SIZE][/INDENT][INDENT][SIZE=2][COLOR=#008000]' Add a child TreeNode for each Author in the matching Main Node. [/COLOR][/SIZE][/INDENT][INDENT][SIZE=2][COLOR=#0000ff]For[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Each[/COLOR][/SIZE][SIZE=2] rowContact [/SIZE][SIZE=2][COLOR=#0000ff]In[/COLOR][/SIZE][SIZE=2] dtContact.Rows[/SIZE][INDENT][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] (UCase(Mid(rowContact.Item([/SIZE][SIZE=2][COLOR=#a31515]"LastName1"[/COLOR][/SIZE][SIZE=2]), 1, 1)) = currentAlpha) [/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2][INDENT]rcount = rcount + 1[/INDENT][/SIZE]

[INDENT][SIZE=2]sContactName = rowContact.Item([/SIZE][SIZE=2][COLOR=#a31515]"LastName1"[/COLOR][/SIZE][SIZE=2]) & [/SIZE][SIZE=2][COLOR=#a31515]", "[/COLOR][/SIZE][SIZE=2] & rowContact.Item([/SIZE][SIZE=2][COLOR=#a31515]"FirstName1"[/COLOR][/SIZE][SIZE=2]) & [/SIZE][SIZE=2][COLOR=#a31515]" "[/COLOR][/SIZE][SIZE=2] _[/SIZE]
[SIZE=2]& rowContact.Item([/SIZE][SIZE=2][COLOR=#a31515]"MiddleInitial1"[/COLOR][/SIZE][SIZE=2]) & [/SIZE][SIZE=2][COLOR=#a31515]"."[/COLOR][/SIZE]
[/INDENT][INDENT][SIZE=2]System.Windows.Forms.Application.DoEvents()[/SIZE][/INDENT][INDENT][SIZE=2]tvTreeView.Nodes(indx - 65).Nodes.Add(sContactName).Tag = rowContact.Item([/SIZE][SIZE=2][COLOR=#a31515]"ContactID"[/COLOR][/SIZE][SIZE=2])[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 
 
 
 
 

[/INDENT][SIZE=2][COLOR=#0000ff]Next[/COLOR][/SIZE]
 
 
 
 
 

[/INDENT][SIZE=2][COLOR=#0000ff]Next[/COLOR][/SIZE]
[SIZE=2]StatusLabel1.Text = [/SIZE][SIZE=2][COLOR=#a31515]"There are "[/COLOR][/SIZE][SIZE=2] & rcount & [/SIZE][SIZE=2][COLOR=#a31515]" Contacts in the Database."[/COLOR][/SIZE]
 
[SIZE=2]System.Windows.Forms.Application.DoEvents()[/SIZE]
 
[SIZE=2][COLOR=#008000]'Update Treeview Control Settings[/COLOR][/SIZE]
[SIZE=2]tvTreeView.Visible = [/SIZE][SIZE=2][COLOR=#0000ff]True[/COLOR][/SIZE]
[SIZE=2]tvTreeView.Enabled = [/SIZE][SIZE=2][COLOR=#0000ff]True[/COLOR][/SIZE]
[SIZE=2]tvTreeView.ExpandAll()[/SIZE]
 
[SIZE=2]StatusLabel1.Text = ReadyStatus[/SIZE]
[SIZE=2]ProgressBar1.Value = 0[/SIZE]
 
[SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Sub[/COLOR][/SIZE]
 
 
 
 

[/INDENT][/COLOR][/SIZE]
What am I not doing?

P.S. here are my DIM Statements
VB.NET:
[SIZE=2][COLOR=#0000ff][SIZE=2][COLOR=#0000ff]Public[/COLOR][/SIZE][SIZE=2] cn [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]New[/COLOR][/SIZE][SIZE=2] System.Data.OleDb.OleDbConnection()[/SIZE]
[SIZE=2][COLOR=#0000ff]Public[/COLOR][/SIZE][SIZE=2] daContact [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]New[/COLOR][/SIZE][SIZE=2] System.Data.OleDb.OleDbDataAdapter([/SIZE][SIZE=2][COLOR=#a31515]"SELECT * FROM Contact"[/COLOR][/SIZE][SIZE=2], cn)[/SIZE]
[SIZE=2][COLOR=#0000ff]Public[/COLOR][/SIZE][SIZE=2] dsContact [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]New[/COLOR][/SIZE][SIZE=2] System.Data.DataSet()[/SIZE]
[SIZE=2][COLOR=#0000ff]Public[/COLOR][/SIZE][SIZE=2] dtContact [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][SIZE=2] System.Data.DataTable[/SIZE]
[SIZE=2][COLOR=#0000ff]Public[/COLOR][/SIZE][SIZE=2] rowContact [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][SIZE=2] System.Data.DataRow[/SIZE]
[/COLOR][/SIZE]
 
Last edited by a moderator:
I have another question also how can I have it skip by null fields and only Write the ones with info in them? seems like there should be a way without breaking it down one at a time.
 
Fixed it, Everything is updating and adding wonderfully. I searched through the boards and found some previous posts. After dabbling with some code I managed to learn quite a bit and I feel I can safely say I understand it how to do it now. Thanks again everyone.

P.S. roflmao I totally rewrote my update code again but although my new code is much more straight forward it's easier for me to follow.

here's the code:


VB.NET:
[/COLOR][/SIZE]

 

[INDENT][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][SIZE=2] msg [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]String[/COLOR][/SIZE][/INDENT]

[INDENT][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][SIZE=2] title [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]String[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][SIZE=2] style [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][SIZE=2] MsgBoxStyle[/SIZE][/INDENT][INDENT][SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][SIZE=2] response [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][SIZE=2] MsgBoxResult[/SIZE][/INDENT]

[SIZE=2][COLOR=#0000ff]On[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Error[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]GoTo[/COLOR][/SIZE][SIZE=2] Handler[/SIZE][INDENT][SIZE=2]msg = [/SIZE][SIZE=2][COLOR=#a31515]"Save New Customer Record "[/COLOR][/SIZE][SIZE=2] & txtLastName1.Text & [/SIZE][SIZE=2][COLOR=#a31515]", "[/COLOR][/SIZE][SIZE=2] & txtFirstName1.Text & [/SIZE][SIZE=2][COLOR=#a31515]" "[/COLOR][/SIZE][SIZE=2] & txtMiddleInitial1.Text & [/SIZE][SIZE=2][COLOR=#a31515]"?"[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2]style = MsgBoxStyle.YesNo[/SIZE][/INDENT][INDENT][SIZE=2]title = [/SIZE][SIZE=2][COLOR=#a31515]"Save?"[/COLOR][/SIZE][SIZE=2][COLOR=#008000]' Define title.[/COLOR][/SIZE][/INDENT]

[INDENT][SIZE=2][COLOR=#008000]'Make sure they want to save changes before you exit[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2]response = MsgBox(msg, MsgBoxStyle.Question + style, title)[/SIZE][/INDENT]

[INDENT][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] response = MsgBoxResult.Yes [/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][SIZE=2][COLOR=#008000]' User chose Yes.[/COLOR][/SIZE][INDENT][SIZE=2]rowContact = dsContact.Tables([/SIZE][SIZE=2][COLOR=#a31515]"Contact"[/COLOR][/SIZE][SIZE=2]).NewRow[/SIZE][/INDENT]

[INDENT][SIZE=2][COLOR=#008000]'-- Start the editing in the datarow.[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2]rowContact.BeginEdit()[/SIZE][/INDENT]

[INDENT][SIZE=2][COLOR=#008000]'-- Run through the text boxes on the form, and[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2][COLOR=#008000]'-- if they match up with a field from the record,[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2][COLOR=#008000]'-- place the value back in the record.[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"LastName1"[/COLOR][/SIZE][SIZE=2]) = txtLastName1.Text[/SIZE][/INDENT][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"FirstName1"[/COLOR][/SIZE][SIZE=2]) = txtFirstName1.Text[/SIZE][/INDENT][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"MiddleInitial1"[/COLOR][/SIZE][SIZE=2]) = txtMiddleInitial1.Text[/SIZE][/INDENT][INDENT][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] txtLastName2.Text <> [/SIZE][SIZE=2][COLOR=#a31515]"" [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"LastName2"[/COLOR][/SIZE][SIZE=2]) = txtLastName2.Text[/SIZE][/INDENT]

[SIZE=2][COLOR=#0000ff]Else[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"LastName2"[/COLOR][/SIZE][SIZE=2]) = Chr(32)[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 

[SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] txtFirstName2.Text <> [/SIZE][SIZE=2][COLOR=#a31515]"" [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"FirstName2"[/COLOR][/SIZE][SIZE=2]) = txtFirstName2.Text[/SIZE][/INDENT]

[SIZE=2][COLOR=#0000ff]Else[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"FirstName2"[/COLOR][/SIZE][SIZE=2]) = Chr(32)[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 

[SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] txtMiddleInitial2.Text <> [/SIZE][SIZE=2][COLOR=#a31515]"" [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"MiddleInitial2"[/COLOR][/SIZE][SIZE=2]) = txtMiddleInitial2.Text[/SIZE][/INDENT]

[SIZE=2][COLOR=#0000ff]Else[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"MiddleInitial2"[/COLOR][/SIZE][SIZE=2]) = Chr(32)[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 

[SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] txtCurrentStreet.Text <> [/SIZE][SIZE=2][COLOR=#a31515]"" [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"CurrentStreet"[/COLOR][/SIZE][SIZE=2]) = txtCurrentStreet.Text[/SIZE][/INDENT]

[SIZE=2][COLOR=#0000ff]Else[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"CurrentStreet"[/COLOR][/SIZE][SIZE=2]) = Chr(32)[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 

[SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] txtCurrentCity.Text <> [/SIZE][SIZE=2][COLOR=#a31515]""[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"CurrentCity"[/COLOR][/SIZE][SIZE=2]) = txtCurrentCity.Text[/SIZE][/INDENT]

[SIZE=2][COLOR=#0000ff]Else[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"CurrentCity"[/COLOR][/SIZE][SIZE=2]) = Chr(32)[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 

[SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] txtCurrentState.Text <> [/SIZE][SIZE=2][COLOR=#a31515]""[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"CurrentState"[/COLOR][/SIZE][SIZE=2]) = txtCurrentState.Text[/SIZE][/INDENT]

[SIZE=2][COLOR=#0000ff]Else[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"CurrentState"[/COLOR][/SIZE][SIZE=2]) = Chr(32)[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 

[SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] txtCurrentZipCode.Text <> [/SIZE][SIZE=2][COLOR=#a31515]""[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"CurrentZip"[/COLOR][/SIZE][SIZE=2]) = txtCurrentZipCode.Text[/SIZE][/INDENT]

[SIZE=2][COLOR=#0000ff]Else[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"CurrentZip"[/COLOR][/SIZE][SIZE=2]) = Chr(32)[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 

[SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] txtCurrentCounty.Text <> [/SIZE][SIZE=2][COLOR=#a31515]""[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"CurrentCounty"[/COLOR][/SIZE][SIZE=2]) = txtCurrentCounty.Text[/SIZE][/INDENT]

[SIZE=2][COLOR=#0000ff]Else[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"CurrentCounty"[/COLOR][/SIZE][SIZE=2]) = Chr(32)[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 

[SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] txtFutureStreet.Text <> [/SIZE][SIZE=2][COLOR=#a31515]""[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"FutureStreet"[/COLOR][/SIZE][SIZE=2]) = txtFutureStreet.Text[/SIZE][/INDENT]

[SIZE=2][COLOR=#0000ff]Else[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"FutureStreet"[/COLOR][/SIZE][SIZE=2]) = Chr(32)[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 

[SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] txtFutureCity.Text <> [/SIZE][SIZE=2][COLOR=#a31515]""[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"FutureCity"[/COLOR][/SIZE][SIZE=2]) = txtFutureCity.Text[/SIZE][/INDENT]

[SIZE=2][COLOR=#0000ff]Else[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"FutureCity"[/COLOR][/SIZE][SIZE=2]) = Chr(32)[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 

[SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] txtFutureState.Text <> [/SIZE][SIZE=2][COLOR=#a31515]""[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"FutureState"[/COLOR][/SIZE][SIZE=2]) = txtFutureState.Text[/SIZE][/INDENT]

[SIZE=2][COLOR=#0000ff]Else[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"FutureState"[/COLOR][/SIZE][SIZE=2]) = Chr(32)[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 

[SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] txtFutureZipCode.Text <> [/SIZE][SIZE=2][COLOR=#a31515]""[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"FutureZip"[/COLOR][/SIZE][SIZE=2]) = txtFutureZipCode.Text[/SIZE][/INDENT]

[SIZE=2][COLOR=#0000ff]Else[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"FutureZip"[/COLOR][/SIZE][SIZE=2]) = Chr(32)[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 

[SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] txtFutureCounty.Text <> [/SIZE][SIZE=2][COLOR=#a31515]""[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"FutureCounty"[/COLOR][/SIZE][SIZE=2]) = txtFutureCounty.Text[/SIZE][/INDENT]

[SIZE=2][COLOR=#0000ff]Else[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"FutureCounty"[/COLOR][/SIZE][SIZE=2]) = Chr(32)[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 

[SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] txtHomePhone.Text <> [/SIZE][SIZE=2][COLOR=#a31515]"( ) -"[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"HomePhone"[/COLOR][/SIZE][SIZE=2]) = txtHomePhone.Text[/SIZE][/INDENT]

[SIZE=2][COLOR=#0000ff]Else[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"HomePhone"[/COLOR][/SIZE][SIZE=2]) = Chr(32)[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 

[SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] txtFax.Text <> [/SIZE][SIZE=2][COLOR=#a31515]"( ) -"[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"Fax"[/COLOR][/SIZE][SIZE=2]) = txtFax.Text[/SIZE][/INDENT]

[SIZE=2][COLOR=#0000ff]Else[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"Fax"[/COLOR][/SIZE][SIZE=2]) = Chr(32)[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 

[SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] txtOfficePhone.Text <> [/SIZE][SIZE=2][COLOR=#a31515]"( ) -"[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"OfficePhone"[/COLOR][/SIZE][SIZE=2]) = txtOfficePhone.Text[/SIZE][/INDENT]

[SIZE=2][COLOR=#0000ff]Else[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"OfficePhone"[/COLOR][/SIZE][SIZE=2]) = Chr(32)[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 

[SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] txtExtension.Text <> [/SIZE][SIZE=2][COLOR=#a31515]""[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"Ext"[/COLOR][/SIZE][SIZE=2]) = txtExtension.Text[/SIZE][/INDENT]

[SIZE=2][COLOR=#0000ff]Else[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"Ext"[/COLOR][/SIZE][SIZE=2]) = Chr(32)[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 

[SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] txtCellPhone.Text <> [/SIZE][SIZE=2][COLOR=#a31515]"( ) -"[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"CellPhone"[/COLOR][/SIZE][SIZE=2]) = txtCellPhone.Text[/SIZE][/INDENT]

[SIZE=2][COLOR=#0000ff]Else[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"CellPhone"[/COLOR][/SIZE][SIZE=2]) = Chr(32)[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 

[SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] txtEmail.Text <> [/SIZE][SIZE=2][COLOR=#a31515]""[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"Email"[/COLOR][/SIZE][SIZE=2]) = txtEmail.Text[/SIZE][/INDENT]

[SIZE=2][COLOR=#0000ff]Else[/COLOR][/SIZE][INDENT][SIZE=2]rowContact([/SIZE][SIZE=2][COLOR=#a31515]"Email"[/COLOR][/SIZE][SIZE=2]) = Chr(32)[/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 
[SIZE=2][COLOR=#008000]'-- Finish the editing of the datarow[/COLOR][/SIZE]
[SIZE=2]rowContact.EndEdit()[/SIZE]
 
[SIZE=2]dsContact.Tables([/SIZE][SIZE=2][COLOR=#a31515]"Contact"[/COLOR][/SIZE][SIZE=2]).Rows.Add(rowContact)[/SIZE]
 
[SIZE=2][COLOR=#008000]'-- Create an instance of the command builder[/COLOR][/SIZE]
[SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][SIZE=2] ocbContact [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][SIZE=2] OleDb.OleDbCommandBuilder[/SIZE]
[SIZE=2]ocbContact = [/SIZE][SIZE=2][COLOR=#0000ff]New[/COLOR][/SIZE][SIZE=2] OleDb.OleDbCommandBuilder(daContact)[/SIZE]
 
[SIZE=2][COLOR=#008000]'-- Have the command builder create an Insert SQL command[/COLOR][/SIZE]
[SIZE=2]daContact.InsertCommand = ocbContact.GetInsertCommand[/SIZE]
 
[SIZE=2][COLOR=#008000]'-- Perform the specified SQL command; then close the connection[/COLOR][/SIZE]
[SIZE=2]daContact.Update(dsContact, [/SIZE][SIZE=2][COLOR=#a31515]"Contact"[/COLOR][/SIZE][SIZE=2])[/SIZE]
[SIZE=2]dsContact.Tables([/SIZE][SIZE=2][COLOR=#a31515]"Contact"[/COLOR][/SIZE][SIZE=2]).AcceptChanges()[/SIZE]
 
[SIZE=2][COLOR=#008000]'-- Close the connection[/COLOR][/SIZE]
[SIZE=2]daContact.InsertCommand.Connection.Close()[/SIZE]
 
[SIZE=2]MsgBox([/SIZE][SIZE=2][COLOR=#a31515]"File for "[/COLOR][/SIZE][SIZE=2] & txtFirstName1.Text & [/SIZE][SIZE=2][COLOR=#a31515]" "[/COLOR][/SIZE][SIZE=2] & txtMiddleInitial1.Text & [/SIZE][SIZE=2][COLOR=#a31515]". "[/COLOR][/SIZE][SIZE=2] & txtLastName1.Text & [/SIZE][SIZE=2][COLOR=#a31515]" added!"[/COLOR][/SIZE][SIZE=2])[/SIZE]
 
[SIZE=2][COLOR=#0000ff]Dim[/COLOR][/SIZE][SIZE=2] Indx [/SIZE][SIZE=2][COLOR=#0000ff]As[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Integer[/COLOR][/SIZE]
 
[SIZE=2]System.Windows.Forms.Application.DoEvents()[/SIZE]
 
[COLOR=darkgreen]'Clearing my textbox fields in case they add more records[/COLOR]
 

[SIZE=2][COLOR=#0000ff]With[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Me[/COLOR][/SIZE][SIZE=2].Controls[/SIZE][INDENT][SIZE=2][COLOR=#0000ff]For[/COLOR][/SIZE][SIZE=2] Indx = 0 [/SIZE][SIZE=2][COLOR=#0000ff]To[/COLOR][/SIZE][SIZE=2] .Count - 1[/SIZE][INDENT][SIZE=2][COLOR=#0000ff]If [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Me[/COLOR][/SIZE][SIZE=2].Controls(Indx).Tag = [/SIZE][SIZE=2][COLOR=#a31515]"1" [/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][/INDENT][INDENT][SIZE=2][COLOR=#0000ff]Me[/COLOR][/SIZE][SIZE=2].Controls(Indx).Text = [/SIZE][SIZE=2][COLOR=#0000ff]Nothing[/COLOR][/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 
[SIZE=2][COLOR=#0000ff]Next[/COLOR][/SIZE]
 

[/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]With[/COLOR][/SIZE]
 
[SIZE=2][COLOR=#0000ff]Me[/COLOR][/SIZE][SIZE=2].txtLastName1.Focus()[/SIZE]
 
[SIZE=2]System.Windows.Forms.Application.DoEvents()[/SIZE]
 
[SIZE=2][COLOR=#008000]'Clear Data Table[/COLOR][/SIZE]
[SIZE=2]dsContact.Clear()[/SIZE]
[SIZE=2]dsPackage.Clear()[/SIZE]
[SIZE=2]dsService.Clear()[/SIZE]
[SIZE=2]dtContact.Clear()[/SIZE]
[SIZE=2]dtPackage.Clear()[/SIZE]
[SIZE=2]dtService.Clear()[/SIZE]
 
[SIZE=2]System.Windows.Forms.Application.DoEvents()[/SIZE]
 
[SIZE=2]cn.Close()[/SIZE]
 
[SIZE=2][COLOR=#008000]'RaiseEvent OpenFileDialog1(m_FileNames(i).ToString)[/COLOR][/SIZE]
 
[SIZE=2]strConnection = [/SIZE][SIZE=2][COLOR=#a31515]"Provider=Microsoft.Jet.OLEDB.4.0;Data Source = "[/COLOR][/SIZE][SIZE=2]& Filename2[/SIZE]
 
[SIZE=2]cn.ConnectionString = strConnection[/SIZE]
 
[SIZE=2]cn.Open()[/SIZE]
 
[SIZE=2]System.Windows.Forms.Application.DoEvents()[/SIZE]
 
[SIZE=2][COLOR=#008000]' Fill the Contacts DataTable [/COLOR][/SIZE]
[SIZE=2]daContact.Fill(dsContact, [/SIZE][SIZE=2][COLOR=#a31515]"Contact"[/COLOR][/SIZE][SIZE=2])[/SIZE]
[SIZE=2]dtContact = dsContact.Tables.Item([/SIZE][SIZE=2][COLOR=#a31515]"Contact"[/COLOR][/SIZE][SIZE=2])[/SIZE]
 
[SIZE=2]System.Windows.Forms.Application.DoEvents()[/SIZE]
 
[SIZE=2][COLOR=#008000]' Fill the Package DataTable[/COLOR][/SIZE]
[SIZE=2]daPackage.Fill(dsPackage, [/SIZE][SIZE=2][COLOR=#a31515]"Package"[/COLOR][/SIZE][SIZE=2])[/SIZE]
[SIZE=2]dtPackage = dsPackage.Tables.Item([/SIZE][SIZE=2][COLOR=#a31515]"Package"[/COLOR][/SIZE][SIZE=2])[/SIZE]
 
[SIZE=2]System.Windows.Forms.Application.DoEvents()[/SIZE]
 
[SIZE=2][COLOR=#008000]' Fill the Service Table[/COLOR][/SIZE]
[SIZE=2]daService.Fill(dsService, [/SIZE][SIZE=2][COLOR=#a31515]"Service"[/COLOR][/SIZE][SIZE=2])[/SIZE]
[SIZE=2]dtService = dsService.Tables.Item([/SIZE][SIZE=2][COLOR=#a31515]"Service"[/COLOR][/SIZE][SIZE=2])[/SIZE]
 
[SIZE=2]System.Windows.Forms.Application.DoEvents()[/SIZE]
 
[SIZE=2][COLOR=#008000]'Clear TreeView Control[/COLOR][/SIZE]
[SIZE=2]frmMain.tvTreeView.Nodes.Clear()[/SIZE]
[SIZE=2]frmMain.updateTree()[/SIZE]
[SIZE=2]frmMain.tvTreeView.Enabled = [/SIZE][SIZE=2][COLOR=#0000ff]False[/COLOR][/SIZE]
 
 

[/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 
[SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE][SIZE=2] response = MsgBoxResult.No [/SIZE][SIZE=2][COLOR=#0000ff]Then[/COLOR][/SIZE][SIZE=2][COLOR=#008000]' User chose No.[/COLOR][/SIZE]
 
[SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]If[/COLOR][/SIZE]
 
[SIZE=2][COLOR=#0000ff]Exit[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Sub[/COLOR][/SIZE]
 

[/INDENT][SIZE=2]Handler:[/SIZE][INDENT][SIZE=2]MsgBox([/SIZE][SIZE=2][COLOR=#a31515]"ERROR!"[/COLOR][/SIZE][SIZE=2] & Chr(13) & Chr(13) & [/SIZE][SIZE=2][COLOR=#a31515]"An error occurred. Error Number: "[/COLOR][/SIZE][SIZE=2] & Err.Number & _[/SIZE][/INDENT][INDENT][SIZE=2][COLOR=#a31515]" Description: "[/COLOR][/SIZE][SIZE=2][COLOR=#1d1d1d] & Err.Description & [/COLOR][/SIZE][SIZE=2][COLOR=#a31515]" Source: "[/COLOR][/SIZE][SIZE=2][COLOR=#1d1d1d] & Err.Source, MsgBoxStyle.Critical, [/COLOR][/SIZE][SIZE=2][COLOR=#a31515]"ERROR!"[/COLOR][/SIZE][SIZE=2][COLOR=#1d1d1d])[/COLOR][/SIZE][/INDENT][SIZE=2][COLOR=#0000ff]End[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Sub[/COLOR][/SIZE]
[COLOR=#0000ff][/COLOR] 
[COLOR=#0000ff]
 
Last edited:
Hmm.. some very old ways of coding in there - going to error handlers, manually setting textbox entries, use of dataadapters within 2.0, no databinding, making your own connections to the db.. Have a read of the DW2 link in my signature, you should be able to simplify your coding to just a few lines!
 
Hmm.. some very old ways of coding in there - going to error handlers, manually setting textbox entries, use of dataadapters within 2.0, no databinding, making your own connections to the db.. Have a read of the DW2 link in my signature, you should be able to simplify your coding to just a few lines!

Thats mostly because my app is designed to allow them to select which DB they want to work with.

So in actuallity no binding can occur. And like I've said I'm old school I've been using VB since 3.0 and I've had to relearn my thinking through several incarnations. Also most of my training is self taught I've always had a passion for coding, the act of visually bringing your ideas into fruitation have me forever a coder. It's modern magic!

Umn it's just like I have magic wand 3.0 in a 2005 erra. LOL.:D
 
Binding can/should still work - in modern times, we bind to a database independent intermediary - the dataset. Offering database independence is a very difficult thing to do.. i dont envy you!
 
Back
Top