First time I've seen this in a portal, but a "ghost record" with fields filled with question marks is a known issue. The solution is to rebuild the indexes in the file.
For More Information see: Phantom Record, damaged file message, Recover can't detect a problem
This is one of many acknowledged bugs that can be found in the Known Bug List here in the Report an Issue section of the forum.
It can also be downloaded as a database file from: http://www.4shared.com/file/8orL8apk/FMP_Bugs.html
Thanks for confirming we are not hallucinating. I read through the forum link you supplied, but do not know how to "rebuild the indexes in the file." FM is on a server, and the IT person who oversees it also does not know what this means. Any directions you can give to clarify? (He's going on vacation for a week, so if it's at all complex, we'll likely wait until he gets back.)
This can be done while the file is hosted on the server if you use a full access password, just don't do it when others are accessing the file:
To rebuild the index of a single field:
- Open Manage | Database | Fields and double click the field
- Use either the storage tab or the storage options button to turn off indexing.
- Exit Manage | Database, then return and turn indexing back on.
This method requires taking the file down off the server, re-indexing it and then putting the re-indexed file back up on the server:
You can also rebuild all your file's indexes by importing all the data into an empty copy (clone) of your file.
If you have FileMaker 11, you can use Advanced Recovery options to rebuild your file's indexes:
- With the file closed, select Recover from the File Menu.
- Select "Use advanced Options"
- Select only: "Copy File Blocks as-is" and "Rebuild Field Indexes Now".
The advanced recovery options method is your best bet as there is no way to tell which field or fields need re-indexing so it's quicker to just to rebuild them all.
I've also been able to hide the "ghost record" from my users as a temporary fix:
Enter find mode
Set field [yourtable::Primarykeyfield ; "*"]
Constrain found set
should drop the ghost record out of the current found set. Any field that is never empty can be used in the set field step.
I suspect a similar portal filter will hide the ghost record from your portals. Something like:
Not IsEmpty ( Portaltable::ForeignKeyField )
Thanks, I got the portal filter to work as a temporary fix. (It would be fine even as a permanent fix, except that every layout that uses that portal would need to have the filter added.) Will try the recovery fix when staffing allows.