method set_data_from_vtable = fun tables vtable ->
    self#reset_data vtable.SQL_db.vt_name;
    let tables_from =
      List.filter (fun t -> not (SQL_db.table_in_join vtable t)) tables
    in
      List.iter
        (fun t ->
           ignore (select_w#store1#append_data
                     (t, new constraints_list_store ())))
        tables_from;
      ignore (select_w#store2#append_data
                (vtable.SQL_db.vt_ftable, new constraints_list_store ()));
      List.iter
        (fun (t, columns) ->
           let c_store = new constraints_list_store () in
             List.iter
               (fun (c1, c2) ->
                  c_store#append_data { jc_column1 = c1; jc_column2 = c2; })
               columns;
             ignore (select_w#store2#append_data (t, c_store)))
        vtable.SQL_db.vt_join