Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am doing some arcpy -functions and afterwards I'm trying to add the calculated results from one table to another table. I'm using the arcpy.AddJoin_management() function.

As input table I'm using a table which is stored in a personal geodatabase. The personal geodatabase is not the workspace environment! As "JoinTable" a Table of a file geodatabase is used. This file geodatabase is the workspace geodatabase environment.

The initialized function looks like this:

(%self.getWorkspaceEnvironment => "W:/a18fb/data/mypersonalgeodatabase.mdb" and tFactsheetHochwasser => table in the personal geodatabase)

arcpy.AddJoin_management("%s/tFactsheetHochwasser"%self.getWorkspaceEnvironment(),"KPG", "GebaeudeKtn_BWVred1Stat","KPG","KEEP_ALL")

If the code is executed the following error-message appears:

Failed to execute.Parameters are not valid. The value cannot be a table

ERROR 000840: The value is not a Raster Layer.

ERROR 000840: The value is not a Raster Catalog Layer.

ERROR 000840: The value is not a Mosaic Layer.

Failed to execute (AddJoin)`.

share|improve this question

I was getting the same errors when trying to execute joins using model builder. The solution was to convert them to Feature Layers first and then join from there. I can imagine that the logic is the same using python.

Here is a link to the question and answer that solved my problem.

share|improve this answer
Hi, Craig, thanks for your answer, I also have a Model doing the same spatial analysis as the script does and in the Model all works fine, but I'll try your propsed solution! – freeski_52 Apr 15 '13 at 8:19
up vote 2 down vote accepted

The solution to my issue was to create a tableView using arcpy.MakeTableView_management() The temporary existing View allows joining the tables each other.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.