If the tableName is determined at runtime, the well known dbforms variables, e.g. 
 currentRow_tablename will not work. So there is a new variable 
 named dbforms which is a hashtable that holds a list of 
 all known dbforms and subforms in the page. Key of the map is 
 the new db:dbforms attribute name. Objects of this list are 
 of the type DbFormContext, which will give the access to all 
 of the known fields:
 
 Public class DbFormsContext {
    public String getPosition();
    public ResultSetVector getRsv();
    public Map getSearchFieldAlgorithmNames();
    public Map getSearchFieldModeNames();
    public Map getSearchFieldNames();
    public Map getCurrentRow();
    public void setCurrentRow(Map map);
    public void setPosition(String string);
 }Any form with a subform on it would be ok too.
 
See DbFormTagTEI class and the test case (in the bookstore example) testAuthorBooksSubFormWithContextVar.jsp  for details!
 
For example:
 <db:dbform   ...
                 tableName='<%=determined_at_runtime%>'
                 name="AUTHOR"
      >
...
 <db:body>
...
    <%=((DbFormContext)dbforms.get("AUTHOR")).getCurrentRow().get("AUTHOR_ID")%>
...
   </db:dbform