Abdul-
It looks like your code is inserting new data into tblSalesOrders and
tblSalesOrderDetails, but your current form is editing sales quotes. You have
saved the ID of the new sales order, so you could do something like:
DoCmd.OpenForm "frmSalesOrder", WhereCondition:="SalesOrderID = " & lngOrderID
.. to open the sales order form to display the data you just created.
John Viescas, author
Microsoft Office Access 2010 Inside Out
Microsoft Office Access 2007 Inside Out
Building Microsoft Access Applications
Microsoft Office Access 2003 Inside Out
SQL Queries for Mere Mortals
http://www.viescas.com/
(Paris, France)
-----Original Message-----
From: MS_Access_Professionals@yahoogroups.com
[mailto:MS_Access_Professionals@yahoogroups.com] On Behalf Of Abdul Shakeel
Sent: Wednesday, May 25, 2011 8:52 PM
To: MS_Access_Professionals@yahoogroups.com
Subject: [MS_AccessPros] Reposition Cursor to exact record
I am using the following code to update my form base on existing form record
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim rs1 As DAO.Recordset
Dim rs2 As DAO.Recordset
Dim strSql As String
Dim lngOrderID As Long
If IsNull(Me.CustomerCode) Or IsNull(Me.QuotationNo) Or
IsNull(Me.QuotationDate) Or IsNull(Me.EmpID) Or Not SalesQuoteContainLines()
Then
MsgBox "Please Complete Quotation before Applied to Sales Order.",
vbInformation, "Sales Order Not Completed"
Exit Sub
ElseIf MsgBox("Are you sure you want to Apply this Quotation to Sales Order?
" & vbCrLf & _
"Kindly note that, Once you apply this Quote to Sales Order,"
& _
"it can not be edited, delete or undo.", vbYesNo +
vbInformation, "Applied to Sales Order") = vbYes Then
Me!StatusID = Applied_To_Sales_Order
Set db = CurrentDb()
Set rs = db.OpenRecordset("tblSalesOrders", dbOpenDynaset)
Set rs1 = db.OpenRecordset("tblSalesOrderDetails", dbOpenDynaset)
Set rs2 = Me.SalesQuotesSubform.Form.Recordset
rs.AddNew
rs!CustomerCode = Me.CustomerCode
rs!EmpID = Me.EmpID
rs!SalesOrderNo = "QUO - " & Me.QuotationNo
rs!SalesOrderDate = Me.QuotationDate
rs!Freight = Me.Freight
rs!Tax = Me.Tax
lngOrderID = rs!SalesOrderID
rs.Update
rs2.MoveFirst
Do While Not rs2.EOF
rs1.AddNew
rs1!SalesOrderID = lngOrderID
rs1!SoLineNumber = rs2!sqOrderLineNumber
rs1!InventoryCode = rs2!InventoryCode
rs1!Quantity = rs2!Quantity
rs1!Discount = rs2!Discount
rs1!Rate = rs2!Rate
rs1.Update
rs2.MoveNext
Loop
rs.Close
rs1.Close
db.Close
Set rs = Nothing
Set rs1 = Nothing
Set db = Nothing
MsgBox "Sales Order Number Assigned: " & "QUO - " & Me.QuotationNo,
vbInformation, "Applying To Sales Order"
Else
Me.Undo
End If
Me.Requery
how do I reposition to the exact record which is being update, because Requery
gets me to the first record I have tried after requery something like that but
no luck
Set rs = Me.RecordsetClone
rs.FindFirst "SalesQuoteID =" & Me.SalesQuoteID
If Not rs.EOF Then
Me.Bookmark = rs.Bookmark
End If
rs.Close
Set rs = Nothing
Thanks & Regards,
--
Abdul Shakeel
[Non-text portions of this message have been removed]
------------------------------------
Yahoo! Groups Links
Rabu, 25 Mei 2011
RE: [MS_AccessPros] Reposition Cursor to exact record
__._,_.___
.
__,_._,___
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar