I have a database consisting of two tables, Names and Adresses. Each table will have approx. 900,000 records.
Searches to be performed will yeald anything upto 80,000 records, and I need a way of providing a quick navigation function. I don’t necessarily need to load all the foundset records (or is that a pre-requisite for record navigation), I just want to be able to go any record within the foundset quickly.
I have tried creating a global for the user to enter a record no., and setting up a method to use the global as a record no. to go to, which works fine for record counts under 200, but not over 200.
MAC OSX 10.3 server, running on an Apple Mac G4, database is in MySQL.
create a relation with the global on the left side and the field you jumping to the right doing a controller.loadRecords(thatRelation) after filling the global
looping until you are where you want to be (can be expensive)
while(controller.recordIndex < controller.getMaxRecordIndex() && controller.recordIndex < globals.jump_id)
{
controller.recordIndex = controller.getMaxRecordIndex();
}
controller.recordIndex = globals.jump_id
1 How would I go about searching for a particular record no (i.e the 1000th record in a found set of say 10,000) without having to go into Find mode.
2 Not quite sure what you are saying here. The global on the left no problem, but given that I am looking for a particular record no within a found set, what do I put on the right, bearing in mind that none of the fields will have relevant record no’s.
3 Tried that, and it’s too expensive.
What I am looking for is something similar to the way FM does it, i.e. after doing a search you get the records found on the left and then one just has to either pull the slider down or type in the record number to jump straight to that record in the found set.
I was trying to keep the description as brief as possible. However, it seems I ned to give more detail, so if it’s Ok with you, I will send over more info offline.
I would be interested to hear how this discussion ended.
I am also looking to implement a similar FM style controller/slider for browsing over potentially thousands of search results (up to 400,000 records).
Some of the technicians in our lab like to scroll over large sections of stocks for various reasons (mainly because they are used to FM and fear change!!! ). I am currently considering replacing our FM database with a servoy - mysql implementation, and have been instructed that this is one of the requirements of any new interface we put in place.
Any instructions on getting this working would be greatly appreciated.
Thanks for that, I think I have convinced the technicians that they dont need the ability to scroll the entire database anymore! . Like I said, it was just a tool available in File Maker, that they requested in the new interface.
I am having a little trouble getting a custom JSlider working. Would it be possible to see some of the code that is used to get the slider working for the default controller?
Do you have any plans for a Servoy workshop in the UK this year?
the default controller is a pure java implementation.
I didn’t use the jslider yet as a bean in javascript.. so i can’t help you with that one right now.
As for the Update of a single field in every record in a foundset: See the FoundSetUpdater functions under the DatabaseManager… And search the forum, since there have been a couple discussions going on how to get it to work.
As I am a novice with servoy, im not sure if what Im doing is correct. I am storing the getfoundsetcount in a global variable, which is displayed in a field on my navigation form.
The variable is set when onShow is executed on the form, and it displays the correct value of the initial foundset.
Now, if I issue the default find to search a field, the global variable is not updated in the results, because the method to calculate it isnt called again. How can I get the display of the foundsetcount updated automatically after a simple find is executed?
Do I need to write my own find method? Or is there a much simpler way to do this?
Sorry for the simple questions, hopefully I can get the hang of this soon…
I have my own method executed onFind, I want to include in the method the ability to search colums based on the text entered into the dataproviders in my form (like how the default onFind does it). How do I get the data out of the fields in find mode?
Can I use the onRecordEdit in find mode to store the entered text into a global?
that won’t work.
in find mode scripts aren’t working. So onRecordSelect will not be executed.
if you work with global input fields you will need to trigger youre own search. So put a search button on the form and when they fill in the globals and press that button you do the search.
Your help whilst I have been getting to grips with the demo has been very much appreciated. We are currently seriously considering purchasing Servoy and using it within our department.