Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations wOOdy-Soft on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

inserting data into multiple tables

Status
Not open for further replies.

CGreenMTU

Programmer
May 27, 2004
61
US
I'm having problem with my code to insert data into 2 datatables in my access database. When I click the click event button, my first insert works with no problem, however, my second insert does not work and I get a data type mismatch error. I'm thinking it's the [Transaction Amount] field, but how can i correct this? The field type in access is "currency".

Here is my code:
Code:
Private Sub lnkSaveClaimant_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lnkSaveClaimant.Click
        Dim OleDbString As String = "INSERT INTO TblClaimantRecord ([Claim Number], [Claimant Number], [Address 1], [Address 2], City, [First Name], Company, [Last Name], [Middle Initial], State, ZIP) VALUES (@ClaimNumber, @ClaimantNumber, @Address1, @Address2, @City, @FirstName, @Company, @LastName, @MiddleInitial, @State, @ZIP)"

        Dim cmdClaimant As New OleDb.OleDbCommand(OleDbString, cnClaimant1)

        cmdClaimant.Parameters.Add("@ClaimNumber", txtClaimNum.Text)
        cmdClaimant.Parameters.Add("@ClaimantNumber", txtClaimant.Text)
        cmdClaimant.Parameters.Add("@Address1", txtAdd1.Text)
        cmdClaimant.Parameters.Add("@Address2", txtAdd2.Text)
        cmdClaimant.Parameters.Add("@City", txtCity.Text)
        cmdClaimant.Parameters.Add("@FirstName", txtFirst.Text)
        cmdClaimant.Parameters.Add("@Company", txtCompany.Text)
        cmdClaimant.Parameters.Add("@LastName", txtLast.Text)
        cmdClaimant.Parameters.Add("@MiddleInitial", txtMiddle.Text)
        cmdClaimant.Parameters.Add("@State", txtState.Text)
        cmdClaimant.Parameters.Add("@ZIP", txtZip.Text)

        cnClaimant1.Open()
        cmdClaimant.ExecuteNonQuery()
        cnClaimant1.Close()


        Dim OleDbString2 As String = "INSERT INTO TblClaimTransactions ([Claim Number], [Claimant Number], [Check Number], Printed, [Reason Code], [Transaction Amount], [Transaction Date], [Transaction Type Code], [Vendor Number], Voided) VALUES (@ClaimNumber2, @ClaimaintNumber2, @CheckNumber, @Printed, @ReasonCode, @TransactionAmount, @TransactionDate, @TransactionTypeCode, @VendorNumber, @Voided)"

        Dim cmdClaimant2 As New OleDb.OleDbCommand(OleDbString2, cnClaimant1)

        cmdClaimant2.Parameters.Add("@ClaimNumber2", txtClaimNum.Text)
        cmdClaimant2.Parameters.Add("@ClaimantNumber2", txtClaimant.Text)
        cmdClaimant2.Parameters.Add("@CheckNumber", txtCheckNum.Text)
        cmdClaimant2.Parameters.Add("@Printed", ckbPrinted.Checked)
        cmdClaimant2.Parameters.Add("@ReasonCode", txtReasonCode.Text)
        cmdClaimant2.Parameters.Add("@TransactionAmount", txtTransAmount.Text)
        cmdClaimant2.Parameters.Add("@TransactionDate", txtTransDate.Text)
        cmdClaimant2.Parameters.Add("@TransactionTypeCode", ddlTransType.SelectedItem.Text)
        cmdClaimant2.Parameters.Add("@VendorNumber", txtVendorID.Text)
        cmdClaimant2.Parameters.Add("@Voided", ckbVoid.Checked)

        cnClaimant1.Open()
        cmdClaimant2.ExecuteNonQuery()
        cnClaimant1.Close()

End Sub
 
i believe I have fixed the problem myself. I changed the data type of the TransactionAmount field in MS Access to Number (currency with 2 decimal places) rather than Currency, and now it works correctly. thanks anyway....
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top