Hi
I'm trying to update an Access 2003 database with the classic Orders, OrderDetails set up.
Orders
-------
OrderId (autonumber) (PK)
OrderDetails
-------
OrderDetailsId (autonumber) (PK)
OrderId (FK)
Heres my code
Main calling function
FillOrderDataRow
FillOrderDetailsDataRow
Trouble is this sometimes works but most of the time it doesn't. The OrderId returned from FillOrdersDataRow is not the autonumber from the database, its just a increment of how many rows we have inserted and starts from 0.
Any ideas?
Thanks
Darren
I'm trying to update an Access 2003 database with the classic Orders, OrderDetails set up.
Orders
-------
OrderId (autonumber) (PK)
OrderDetails
-------
OrderDetailsId (autonumber) (PK)
OrderId (FK)
Heres my code
Main calling function
VB.NET:
OrderId = FillOrdersDataRow(trans)
' Fill order details record
If OrderId > 0 Then FillOrderDetailsDataRow(trans, OrderId)
FillOrderDataRow
VB.NET:
Private Function FillOrdersDataRow(ByVal trans As TransactionType) As Integer
Dim drOrders As dsDataset.OrdersRow = dsDataset.Orders.NewOrdersRow
' Add the values
drOrders.transactionId = trans.TransactionID
drOrders.orderQuantity = trans.QuantityPurchased
....
....
' Add the new row to the table
Me.dsDataset.Orders.AddOrdersRow(drOrders)
' Update the datatables to the database
Me.OrdersTableAdapter.Update(Me.dsDataset.Orders)
Return drOrders.orderId
FillOrderDetailsDataRow
VB.NET:
Private Sub FillOrderDetailsDataRow(ByVal trans As TransactionType, ByVal OrderId As Integer)
Dim drOrderDetails As dsDataset.OrderDetailsRow = dsDataset.OrderDetails.NewOrderDetailsRow
' Fill the values
drOrderDetails.orderId = OrderId
drOrderDetails.ItemId = trans.Item.ItemID
' Add the new row to the table
Me.dsDataset.OrderDetails.AddOrderDetailsRow(drOrderDetails)
' Validate and update the datatables to the database
Me.Validate()
Me.OrderDetailsTableAdapter.Update(Me.dsDataset.OrderDetails)
Trouble is this sometimes works but most of the time it doesn't. The OrderId returned from FillOrdersDataRow is not the autonumber from the database, its just a increment of how many rows we have inserted and starts from 0.
Any ideas?
Thanks
Darren