Freezing the data sheet while manipulating a form

Is it possible to “freeze” the information on the data sheet while manipulating the information displayed on a form that draws upon that information? For instance, searching for only selected records within the form without performing the search on the data sheet, changing the sort order, etc.
I know this seems like a brain-dead sort of question, but a search of your “Help” database for such a simple question rarely seems to give a simple answer, and I am the antithesis of any sort of a programmer, and several decades removed from the days when I refused to let that intimidate me…


I could be standing in the rain here, but my image is, that the datasheet is the house with the furniture. A form is a window looking into that house. I reread your inquiry and modified my solution ideas. A lot depends on what you want to do with those form records.

Consider this … you can populate an array with selected records. There are objects on a form that can display the contents of that array. You can also make selections from that array. So you’d probably want something like an “ArrayMaster” that holds the all records you’d want to deal with. From that master, you’d make selections (and sort) to the array you want to display in the form object.

A more specific answer requires a more specific question - maybe an example of how it would “look” if it worked just the way you want.

Below is part of what was my first reply. Moving the desired records to a temporary database is still a valid solution. It does ensure that the master file won’t be contaminated by any manipulation of those selected records.

Yes, PanX has this monster UnDo ability - but I’d consider that a parachute rather than a main operating method. If you are relying on an UnDo and the database gets prematurely closed …
In the words of that great philosopher, RoboCop, “There will be … trouble.”

*** Warning: the following clip unfortunately ends in an obscenity. ***

Long, long ago, I worked at, not for, INTEL (to their chagrin, I was using my Mac PowerBook and Panorama to do the desired analysis). One supervisor wanted me to write a PC routine (VisualBasic) to delete files. I asked if he wanted some kind of secondary “Are you sure?” type control. He, of the Windows/PC world, said the user knows what he wants to do - just trigger the delete with, “Push any key.”

So I wrote the routine and brought him to my desk to show it work. I bought up the files under consideration, Then I opened a ring binder and it just “happened” that the cover fell across my keyboard and pushed a key - the files were gone (or so they appeared - you know - just to show what could happen). So we decided an “Are you sure?” confirmation wouldn’t be that much of a burden for the user.

My point is, unlimited undo - during a session - is great. But sometimes sessions end unexpectedly.

Part of my initial response

T’were it me - I’m a big believer in temporary files. Panorama is so darn quick, you could select what you want to see in the form, import them (with Replace if you don’t clean your temp file out when you close it) to the temp file where you’ll see them via form view, and work from there. How fast is it? Long, long ago, when computers were much slower and 4GB was a lot of RAM, I wrote a USP rate calculation routine. When you clicked on a menu to select the shipping method, I’d load the database with cost data (weight, area code, rate) for either Ground, or 2nd Day, or Air, or Next Day, etc. By the time the popup menu collapsed back, Panorama had opened the method file, imported all the records for that file, and closed it.

But that’s old, old school. These days, with the CPU speed and RAM sizes, you could probably do everything “in-house”.

It kinda depends on if you want to just see the data or manipulate (change/add/delete) the data.

As suggested, arrays may be your answer.

You can build an array of any selected set of records and include or exclude fields as desired.

The array can be searched and/or sorted. If you search and extract any given subset, it’s easy enough to reset the array to the current select in the Datasheet.

In Help, see ArraySelectedBuild, ArrayFilter, ArrayMultiSort, and ArraySearch.

Oh, and see Exportline( for use as the formula in building the array since it will include complete records with all fields if that’s what you need.

If you are looking for a simple answer to this question, that simple answer would be no. The data sheet and forms simply provide different views to the same underlying data. And “underlying data” means not only the data itself, but its current arrangement of records - how the records are sorted, selected, etc.

Paul and James gave you complicated answers, both mentioned arrays. Arrays are very powerful, and you might be able to do what you want with them. But it won’t be simple - especially if you want a different sort order. Panorama really isn’t designed to work in the way you want. With a lot of work sometimes you can get Panorama to do things it wasn’t really designed to do, but “going against the grain” is rarely simple.