Hi Jason, You might be able to adapt this Sub for your needs: -
Sub FindRecord(iTargetID AS Integer) Dim oColumn AS Object Dim iColumnValue AS Integer Dim iRow AS Integer Dim rs AS Object Dim sTargetID AS String rs = goFormTransHeader.createResultSet() if rs.absolute(iTargetID) = false then ' Check if rs is past end of Table rs.Previous() End if Do oColumn = rs.Columns.getByName("TransHeaderID") iColumnValue = rs.getInt(1) iRow = rs.Row if iColumnValue = iTargetID then goFormTransHeader.absolute(iRow) Exit Sub else if iColumnValue < iTargetID then sTargetID = iTargetID MsgBox("Record " + sTargetID + " not found",0,"ERROR") Exit Sub End if End if Loop While rs.Previous() End Sub Notes:- 1. TargetID is the key value for the record I want to display on the Form 2. goFormTransHeader is my global variable for the Form 3. TransHeaderID is the key field of my Table. (Integer, auto increment) 4. I have relatively few deletions from the Table so TransHeaderID is fairly close to the required row number. Thus a number of rs.Previous() cycles is usually all I need. In your case if that is too slow, you might need to consider doing a binary search. Let me know if you have any questions. Noel -- Noel Lodge lodg...@gmail.com On 7 August 2013 05:57, Tom Davies <tomdavie...@yahoo.co.uk> wrote: > Hi :) > Yes, sorry for all the Rtfm answers! Prolly is best to ask on devs lists > as they might have more idea of what you are doing. There are a few here > that seemed to understand but it was all waaay beyond me. > Regards from > Tom :) > > > > > > >________________________________ > > From: Jason White <whitewaterssoftwarei...@gmail.com> > >To: and...@pitonyak.org > >Cc: users@global.libreoffice.org > >Sent: Tuesday, 6 August 2013, 16:43 > >Subject: Re: [libreoffice-users] Base: In basic, how do you open a form > to a particular record number? > > > > > >Well, thank you everyone for all the references. I've figured out the > >I am doing things backwards, I have the tool Xray, and the 1500 page > >introductory developers guide. Clearly this is a question for one of > >the core developers (if its not documented in the developers guide) > > > >On Tue, Aug 6, 2013 at 11:21 AM, Andrew Douglas Pitonyak > ><and...@pitonyak.org> wrote: > >> > >> https://wiki.documentfoundation.org/images/5/50/BH40-BaseHandbook.odt > >> http://www.baseprogramming.com/OOBasicDatabaseDev.pdf > >> > >> http://www.pitonyak.org/database/ > >> http://www.pitonyak.org/database/AndrewBase.odt > >> http://www.pitonyak.org/oo.php > >> > >> These links just provide some ideas of other places to look > >> > >> > >> > http://wiki.openoffice.org/wiki/Documentation/DevGuide/Database/Using_DBMS_Features > >> > http://www.openoffice.org/api/docs/common/ref/com/sun/star/sdbc/TransactionIsolation.html > >> > >> On 08/06/2013 09:23 AM, Jason White wrote: > >>> > >>> This is some example code I'm using that opens a form. How do set set > >>> the current record number of the newly opened form from the basic > >>> script. > >>> > >>> Sub OpenDataEntry(oEvent As Object) > >>> Dim FrmName as string > >>> FrmName = "Finalization - Data Entry" > >>> ThisDatabaseDocument.FormDocuments.getByName(FrmName).open() > >>> End Sub > >>> > >>> I'm a programmer. Does anyone know where a useable API reference is > >>> for libreoffice basic? I have looked at the "documentation" and there > >>> is no apparent reference to ThisDatabaseDocument , FormDocuments , > >>> getByName , and etc. Surely there is a real API reference or some > >>> trick I'm missing out there > >>> > >>> Thanks > >>> Jason White > >>> > >> > >> -- > >> Andrew Pitonyak > >> My Macro Document: http://www.pitonyak.org/AndrewMacro.odt > >> Info: http://www.pitonyak.org/oo.php > >> > >> > >> > >> -- > >> To unsubscribe e-mail to: users+unsubscr...@global.libreoffice.org > >> Problems? > >> http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/ > >> Posting guidelines + more: > http://wiki.documentfoundation.org/Netiquette > >> List archive: http://listarchives.libreoffice.org/global/users/ > >> All messages sent to this list will be publicly archived and cannot be > >> deleted > >> > > > > > > > >-- > >Jason White > > > >-- > >To unsubscribe e-mail to: users+unsubscr...@global.libreoffice.org > >Problems? > http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/ > >Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette > >List archive: http://listarchives.libreoffice.org/global/users/ > >All messages sent to this list will be publicly archived and cannot be > deleted > > > > > > > -- > To unsubscribe e-mail to: users+unsubscr...@global.libreoffice.org > Problems? > http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/ > Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette > List archive: http://listarchives.libreoffice.org/global/users/ > All messages sent to this list will be publicly archived and cannot be > deleted > > -- To unsubscribe e-mail to: users+unsubscr...@global.libreoffice.org Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/ Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette List archive: http://listarchives.libreoffice.org/global/users/ All messages sent to this list will be publicly archived and cannot be deleted