That depends on how complex your database is. Always do these tests on a copy of your db.
One way to check is to Disc Set multi off Conn dbname Set null -0- Out filename UNLOAD ALL Out scr -- move or rename the db. Now set error messages on and Run filename If you get no errors you are done. The db should be recreated with the same name. That is why you rename or move the db before recreating it Check to see if everything looks normal, correct number of tables, columns, views, and correct number of rows in each table. If you do get errors, you may have to get more elaborate. The things that trip me up most are views with dependencies on views. They don't always get unloaded in the correct order. Hope this helps. Dennis ________________________________ From: [email protected] [mailto:[email protected]] On Behalf Of Paula Stuart Sent: Wednesday, July 15, 2009 12:25 PM To: RBASE-L Mailing List Subject: [RBASE-L] - RE: Help! Program that worked is now broken. Dennis, Packing did not help. The code hasn't changed. The tables are permanent. I just checked and I can do an update WITHIN a table using a where clause that includes the IDNO. It's the lookup updates that don't work. If I rebuild the database, do I unload/reload the tables (unload ALL), or do I need to unload the structures and the data separately? -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Dennis McGrath Sent: Wednesday, July 15, 2009 12:31 PM To: RBASE-L Mailing List Subject: [RBASE-L] - RE: Help! Program that worked is now broken. Paula, If nothing has changed in your code, and all the tables are permanent, then the trouble is probably in your db. If John's suggestion about packing does not work, you probably have to recreate the db clean using the unload/load (not reload) method. If you do not know how to do this, I'm sure someone here can point you to a description of how to accomplish this. Once the db has been recreated all should work as before. Dennis McGrath ________________________________ From: [email protected] [mailto:[email protected]] On Behalf Of Paula Stuart Sent: Wednesday, July 15, 2009 11:04 AM To: RBASE-L Mailing List Subject: [RBASE-L] - RE: Help! Program that worked is now broken. Hi Dennis, It's a table that is in the database only to run these reports, the structure is permanent but the table contains no rows until you run the program. Then the table is populated with records for the applicable reporting quarter from another table which contains the financial transactions we're reporting. BIOFILE is the primary table containing the primary key IDNO. Other tables use the same IDNO as a Foreign Key linking back to BIOFILE. There are multiple addresses and financial transactions for each individual. This program populates FECUPLOADTEMP with the financial transactions for the quarter from another table, then updates FECUPLOADTEMP with address and other data from BIOFILE and other tables. Once data is loaded into FECUPLOADTEMP properly it's then converted via another table to further refine the format to match the needs of the system we have to upload to. It's basically a four step process to "dumb-down" RBASE to formats the federal government software can read (money and dates are converted to text for example). FECUPLOADTEMP has IDNO as a Foreign Key linking back to BIOFILE. I tried using your syntax with the T1, T2 but that generated a Syntax error and a "no data matches" This is the same syntax and the same program I've used for YEARS to do these look-up updates and it's always worked. Not only does the program not work, but when I try to do this update from the R prompt it doesn't work there either. I thought this was a pretty simple update command. I'd be less insane if the report weren't due today. Paula -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Dennis McGrath Sent: Wednesday, July 15, 2009 11:16 AM To: RBASE-L Mailing List Subject: [RBASE-L] - RE: Help! Program that worked is now broken. It looks like you are using a temp table. After you load the date in the temp table do you create an index on FECUPLOADTEMP.IDNO ? I have found that this solves a lot of mysteries with temp tables. Also, try this syntax: UPDATE FECUPLOADTEMP SET FRCODE = T1.FRCODE FROM BIOFILE T1, FECUPLOADTEMP T2 WHERE T1..IDNO = T1.IDNO Dennis McGrath ________________________________ From: [email protected] [mailto:[email protected]] On Behalf Of Dan Goldberg Sent: Wednesday, July 15, 2009 10:06 AM To: RBASE-L Mailing List Subject: [RBASE-L] - RE: Help! Program that worked is now broken. Have you tried to see if there is data. select frcode from BIOFILE, FECUPLOADTEMP WHERE FECUPLOADTEMP.IDNO = BIOFILE.IDNO Dan Goldberg ________________________________ From: [email protected] [mailto:[email protected]] On Behalf Of Paula Stuart Sent: Wednesday, July 15, 2009 7:34 AM To: RBASE-L Mailing List Subject: [RBASE-L] - RE: Help! Program that worked is now broken. Yesterday, right before I ran the program. -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Dan Goldberg Sent: Wednesday, July 15, 2009 10:14 AM To: RBASE-L Mailing List Subject: [RBASE-L] - RE: Help! Program that worked is now broken. Just curious, when is the last time you reloaded the database?? Dan Goldberg ________________________________ From: [email protected] [mailto:[email protected]] On Behalf Of Paula Stuart Sent: Wednesday, July 15, 2009 7:10 AM To: RBASE-L Mailing List Subject: [RBASE-L] - Help! Program that worked is now broken. I'm really under the gun here. I have a program that's been running properly for years (RBase 7.1). It is used to extract data from my client's database for quarterly reporting to the government. This involves extracting data from a number of tables and reformatting it in the manner required to import it properly. There are a number of lines of code that are do updates of data from various tables, based on matching IDNO (the primary key for the database). This has always worked before, and now when it runs, none of the data gets updated for those fields. I've checked that the IDNO'S match, the records exist. The data is there. The commands just aren't working. Can someone look at this code and tell me if there's a glitch I'm not seeing? I even tried loading this Database into 7.6 (client isn't up and running on new version yet but will be soon) Same problem. The I extracted one of the command lines (see below) and tried to run it at the R prompt. I got an error message (Syntax problem) and a "no rows exist or satisfy the specified clause" I've checked the tables. There are matching rows with appropriate data. UPDATE FECUPLOADTEMP SET FRCODE = FRCODE FROM BIOFILE, FECUPLOADTEMP WHERE FECUPLOADTEMP.IDNO = BIOFILE.IDNO

