Using joins In toplink

Hi.I'm using toplink with JSF in Jdeveloper.I want to retrieve data by which uses joins between various tables and and then display it in a datatable.how can I do this??Also,I want scrolls in the datatable with one column fixed and the rest of the columns scrollable.How can I do this?

To specify joins within your TopLink query in 10.1.3 JDeveloper and earlier you will need to use some customization code ( a descriptor after-load) to set the joining through code. This will be declaratively available a future release.
To have your data table include columns from related entities you can add columns to the table and use the expression language to access values from related objects.
Doug

Similar Messages

  • Equivalent to "Use Joining" of TopLink in EJB3?

    Hi,
    In order to optimize querys of related objects in EJB3 (or JPA):
    Exists some mapping option equivalent to the Join Reading (“Use Joining” check box in JDeveloper 10g R3) of TopLink 10.1.3?
    Thans for your help.
    Regards.

    repost

  • Using join and batch reading in the same query

    Hi,
    I wonder if it is possible to use "Joining" and "batch reading" in the same query.
    For example I Have
    A -> 1-1 B
    A -> 1-1 B
    B -> 1-M C
    This is the case where I have two separate 1-1 relationships to the same class B from A. Toplink 10.0.3 can manage it nicely through joining.
    Now, I would like to read a set of As (with its 2 Bs) and all Cs for each B.
    It seems that the following configuration does not work:
    A -> 1-1 B (use joining)
    A -> 1-1 B (use joining)
    B -> 1-M C (Batch read)
    Any help would be greatly appreciated
    Tony.

    James,
    Would you be so kind to look at the following code?
    Am I formulating it correctly to achieve my desired behavior?
    Trip.class -> 1-1 PickupStop
    Trip.class -> 1-1 DropoffStop
    PickupStop and DropoffStop extend Stop and use same table (STOP)
    Stop -> 1-M StopEvents
    I would like to fetch all Trips, with their Stops and all StopEvents in 2 queries:
    1. Trip joined with Stop
    2. Batchread StopEvents
    Code:
    ReadAllQuery raq = new ReadAllQuery(Trip.class);
    Expression qexp1 = new ExpressionBuilder();
    Expression qexp2 = new ExpressionBuilder();
    raq.addJoinedAttribute("pickupStop");
    raq.addJoinedAttribute("dropoffStop");
    raq.addBatchReadAttribute(qexp1.get("pickupStop").get("vStopEvents"));
    raq.addBatchReadAttribute(qexp2.get("dropoffStop").get("vStopEvents"));

  • Joins in Toplink

    Hi All,
    I'm new to work with toplink and I'm working with DatabaseQueries,
    My requirement is, i need to build an Expression as following the sql query represent
    SELECT A.COLUMN_NAME1,A.COLUMN_NAME2, B.COLUMN_NAME3,B.COLUMN_NAME4 FROM TABLE1 A, TABLE2 B
    WHERE A.COLUMN_NAME1=B.COLUMN_NAME1;
    is it possible to build an expression like this.
    how can we overcome this situation.
    i tried it but i couldn't get it. My code is:
    ReportQuery query = new ReportQuery(Dept.class,builder);
              query.get("deptno").get("empname"));
    My database table attributes are
    DEPT: deptno(primarykey),dname,location,division;
    EMPLOYEE: empno(primarykey), empname,deptno(foreignkey),salary,job;
    how can i use joins here.
    please suggest me.
    sample code is always welcome.
    Thanks in advance,
    regards
    Satish Dasari

    Hi Mr jsutherl,
    Here I'm posting My code and the error that I'm getting.
    I hope this can help me out to get the result using joins.
    I'm using JDeveloper 10g 10.1.3.1.0 and Oracle TopLink - 10g Release 3 (10.1.3.1.0)
    Session session = getSessionFactory().acquireSession();
    try {
    ExpressionBuilder builder = new ExpressionBuilder(Emp.class);
    Expression expression = builder.getAllowingNull("Dept").get("dname");
    ReadAllQuery query = new ReadAllQuery(Emp.class);
    query.addJoinedAttribute("dname");
    query.setSelectionCriteria(expression);
    query.setReferenceClass(Emp.class);
    List<Emp> emp = (List<Emp>)session.executeQuery(query);
    System.out.println("emp : "+emp);
    catch (Exception e) {
    System.out.println("error.........jointest: "+e);
    session.release();
    The Error is
    [TopLink Warning]: 2007.01.21 04:34:48.816--ClientSession(12528403)--Exception [TOPLINK-6015] (Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)): oracle.toplink.exceptions.QueryException
    Exception Description: Invalid query key [
    Query Key dname
    Base com.prapansol.tldbqdl.model.Emp] in expression.
    Query: ReadAllQuery(com.prapansol.tldbqdl.model.Emp)
    07/01/21 16:34:48 error.........jointest: Exception [TOPLINK-6015] (Oracle TopLink - 10g Release 3 (10.1.3.1.0) (Build 061004)): oracle.toplink.exceptions.QueryException
    Exception Description: Invalid query key [
    Query Key dname
    Base com.prapansol.tldbqdl.model.Emp] in expression.
    Query: ReadAllQuery(com.prapansol.tldbqdl.model.Emp)
    I unable to check where I'm going wrong. please help me.
    Thanks,
    regards,
    Satish

  • How to Join in TopLink

    Hi,
    This is maybe dummy question, but i don't have idea how i can do this.
    Basicly we can view data from database table easly using ADFand EJB-TopLink.
    For example (using HR schema, employee and department table) we can drag employee datacontrol into ADF readonly table.
    But what about if i want to view department name in one table ?
    In short, my problem is similiar like join employee and department table and show the result using ADF table.
    Best Regards
    YM : callme_harry
    Blog : http://harry-christian.blogspot.com

    I think you picked up the wrong department field - you need to pick the department that is under the Employees object.
    Here is the code in my JSF
                <af:table value="#{bindings.Employees.collectionModel}" var="row"
                          rows="#{bindings.Employees.rangeSize}"
                          emptyText="#{bindings.Employees.viewable ? 'No rows yet.' : 'Access Denied.'}"
                          fetchSize="#{bindings.Employees.rangeSize}"
                          selectedRowKeys="#{bindings.Employees.collectionModel.selectedRow}"
                          selectionListener="#{bindings.Employees.collectionModel.makeCurrent}"
                          rowSelection="single">
                  <af:column sortProperty="commissionPct" sortable="true"
                             headerText="#{bindings.Employees.hints.commissionPct.label}">
                    <af:outputText value="#{row.commissionPct}">
                      <af:convertNumber groupingUsed="false"
                                        pattern="#{bindings.Employees.hints.commissionPct.format}"/>
                    </af:outputText>
                  </af:column>
                  <af:column sortProperty="employeeId" sortable="true"
                             headerText="#{bindings.Employees.hints.employeeId.label}">
                    <af:outputText value="#{row.employeeId}">
                      <af:convertNumber groupingUsed="false"
                                        pattern="#{bindings.Employees.hints.employeeId.format}"/>
                    </af:outputText>
                  </af:column>
                  <af:column sortProperty="firstName" sortable="true"
                             headerText="#{bindings.Employees.hints.firstName.label}">
                    <af:outputText value="#{row.firstName}"/>
                  </af:column>
                  <af:column sortProperty="salary" sortable="true"
                             headerText="#{bindings.Employees.hints.salary.label}">
                    <af:outputText value="#{row.salary}">
                      <af:convertNumber groupingUsed="false"
                                        pattern="#{bindings.Employees.hints.salary.format}"/>
                    </af:outputText>
                  </af:column>
                  <af:column sortProperty="departmentName" sortable="true"
                             headerText="#{bindings.Employees.hints.departments.departmentName.label}">
                    <af:outputText value="#{row.departments.bindings.departmentName.inputValue}"/>
                  </af:column>
                </af:table>

  • How to use jta in toplink and stateless session bean EJB 3.0?

    I have an application with techologies jsf,stateless session bean, adf, toplink
    generated by toplink workbench.
    In web side ı want to use two methods in stateless session bean which are updated
    different tables. I call these methods in my page backing bean.
    I also want to JTA in web side. My first methods is done correctly, but second method has an error. I wanto to rollback all transaction.
    How can ı do that? with using JTA in Toplink...

    Yuichi
    Did you manage to solve this?  I'm doing something similar and seeing the same problem, although they're up to 7.3 SP7.
    Any help greatly appreciated.
    Lewis

  • How do i get data from a structure using join?

    hi,
    what is the actual use of a structure.?
    my problem is :
    KUAGV is an existing STRUCTURE. it has got one fields each which links to MARA, AND VBKD tables. i want to fetch all related information from KUAGV, mara, vbkd . which is the better way : using joins or views or anything else? how do i
    get data from a structure using join?

    structure temporarily holds  any data passed to it dynamically throughout the runtime but doesnot store it permanently. so
    a structure cannot be included in a join.so instead of incuding structure KUAGV's field in a join 
    search the transparent table in which same field are present and  use it in join.
    A structure if created in DDIC(Data Dictionary) is a global DATA STRUCTURE which is used to group related information, for example you would group all the details of your bank account into a structure BANK_ACCOUNT that contains fields like account_Id, account_holder_name etc.
    If you create a structure in your program then it is local to your program. So you use this structure to create data holders of this DATA TYPE to hold data in your program.
    Edited by: suja thomas on Feb 11, 2008 6:24 AM
    Edited by: suja thomas on Feb 11, 2008 6:31 AM

  • Very urgent (using join conditions in PI)

    Hi PI gurus.
    My scenario is SOAP to JDBC(Portal Webdynpro screen to Oracle database).
    I have a requirement to fetch some complex data from the database using complex nested queries.How can i go ahead using join conditions in PI.Here the client is insisiting only on queries and rejected all other methods for solving this like
    1)Java proxies
    2)stored procedures written in the database system
    3)Create a logical view in database system .
    The following option is permitted for me by the client to follow
    ·  Using the SQL_QUERY as a query method in the JDBC Receiver Channel in XI
    · Trying out JOIN conditions to make multiple query into a single query:- Here need to check the feasibility of the JOIN Condition
    Please help me to complete our task.
    points will be rewarded for helpful answers.
    Thanks & Regards
             Veena

    Define the data structures (Request & Response)
    A JDBC Synchronous scenario, the response message type name is dependent on the request message type name
    i.e., if request is
    Dear Raj,
    This is my scenario SOAP-to-JDBC(syn) with out using BPM's.
    4datatypes & message types,
    MT_JDBCRequest
    --->Statement1
    My response msg type
    MT_JDBCRequest_response
    >Statement1_response
    >row
    twoMessage Interfaces, two mappings (for request & response) and one interface mapping 
    Configure the Objects In Integration directory.
    Define the Web services and save the WSDL file After completion of configuration.
    WSDL file is used for the integration of Portal - PI scenario.
    Process Flow:
    1.     User requests for a report from the available list of PSMA reports by providing required set of input parameters.
    2.     Portal forwards the request with these input parameters to PI using web service model through SOAP protocol and the required results are derived from PI
    3.     Report is viewed on portal screen.
    Thanks & regards,
       Veena

  • How can i fetch records from 3 tables in a single query  without using join

    Hi.
    Can any body please tell me <b>How can i fetch records from 3 tables with a single query  without using joins</b>
    Thanx
    prabhudutta

    Hi Prabgudutta,
    We can fetch the data by using the views concept.
    Go throuth this info we can know the how to create view and same like database table only we can fetch the data.
    Views conatin the data at runtime only.
    Four different view types are supported. These differ in the
    way in which the view is implemented and in the methods
    permitted for accessing the view data.
    Database views are implemented with an equivalent view on
    the database.
    Projection views are used to hide fields of a table (only
    projection).
    Help views can be used as selection method in search helps.
    Maintenance views permit you to maintain the data
    distributed
    on several tables for one application object at one time.
    step by step creation of Maintenance view:
    With the help of the table maintenance generator, you are able to maintain the ENTRIES of the table in SM30 transaction.
    It can be set in transaction SE11 - Tools - Table maintenance generator.
    Table maintanance Generator is used to manually input values using transaction sm30
    follow below steps
    1) go to se11 check table maintanance check box under attributes tab
    2) utilities-table maintanance Generator-> create function group and assign it under
    function group input box. Also assign authorization group default &NC& .
    3) select standard recording routine radio in table table mainitainence generator to move table
    contents to quality and production by assigning it to request.
    4) select maintaience type as single step.
    5) maintainence screen as system generated numbers this dialog box appears when you click on create button
    6) save and activate table
    One step, two step in Table Maintenance Generator
    Single step: Only overview screen is created i.e. the Table Maintenance Program will have only one screen where you can add, delete or edit records.
    Two step: Two screens namely the overview screen and Single screen are created. The user can see the key fields in the first screen and can further go on to edit further details.
    SM30 is used for table maintenance(addition or deletion of records),
    For all the tables in SE11 for which Table maintenance is selected , they can be maintained in SM30
    Sm30 is used to maintain the table ,i.e to delete ,insert or modify the field values and all..
    It creates the maintenance screen for u for the aprticular table as the maintenance is not allowed for the table..
    In the SE11 delivery and maintenance tab, keep the maintenance allowed..
    Then come to the SM30 and then enter the table name and press maintain..,
    Give the authorization group if necessary and give the function group and then select maintenance type as one step and give the screen numbers as system specified..
    Then create,,,
    Then u will able to see the maintenance view for the table in which u can able to insert and delete the table values...
    We use SM30 transaction for entering values into any DB table.
    First we create a table in SE11 and create the table maintenance generator for that Table using (utilities-> table maintenance generator) and create it.
    Then it will create a View.
    After that from SM30, enter the table name and Maintain, create new entries, change the existing entries for that table.
    Hope this resolves your query.
    Reward all the helpful answers.
    Rgds,
    P.Naganjana Reddy

  • Creating table using joins in subquery

    can we create a table by using joins in subquery??
    like this
    create table emp as select * from employees e,departments d
    where d.department_id=e.department_id
    can we ??

    What happens when you try it?
    It worked for me. See below:
    drop table test_table;
    create table test_table as
    select e.employee_id, e.first_name || ' ' || e.last_name ename, e.email, e.salary, d.department_name
      from employees e
      join departments d
        on (e.department_id = d.department_id)
    where e.salary = 10000;
    select *
      from test_Table;
    EMPLOYEE_ID ENAME                                          EMAIL                       SALARY DEPARTMENT_NAME             
            150 Peter Tucker                                   PTUCKER                      10000 Sales                         
            156 Janette King                                   JKING                        10000 Sales                         
            169 Harrison Bloom                                 HBLOOM                       10000 Sales                         
            204 Hermann Baer                                   HBAER                        10000 Public Relations

  • Issues with query using joins in 3 tables

    I am trying to fetch data from 3 tables (Project,RIsk and Issues) using join. There are Risks associated with some projects and Issues associated with some projects.
    ProjectID is primary key in Project table.
    RiskID is primary key in risk table. ProjectID is foreign key.
    IssueID is primary key in Issue table.ProjectID is foreign Key.
    I need the projectname, count of risks for projects, count of issues for projects. I am using joins in all the 3 tables. Issue here is, its giving me double of count of risks and issues for each project.
    Please advise how can I get the correct number. I have used the below query,
    select p.projectname,count(r.riskid),count(i.issueid) from project as p
    left outer join risk as r on p.projectid=r.projecctid
    left outer join issue as i on p.projectid=i.projectid
    group by
    p.projectname
    thanks

    Hi All,
    I got a new requirement to count, the number of high priority risks as well as high priority issues along with the other details. I modified the below table to include the changes, but I am not getting the desired result. Could you please help?
    Original query:
    select p.projectname,count(distinct r.riskid), count(distinct i.issueid) from project as p
    left outer join risk as r on p.projectid=r.projecctid
    left outer join issue as i on p.projectid=i.projectid
    group by p.projectname
    Modified query:
    select p.projectname,count(distinct r.riskid),sum(case when r.riskpriority='high' then 1 else 0 end), sum(case when i.issuepriority='high' then 1 else 0 end),count(distinct i.issueid) from project as p
    left outer join risk as r on p.projectid=r.projecctid
    left outer join issue as i on p.projectid=i.projectid
    group by p.projectnameI should get the desired result as:XYZ,8,1,4,4But I am getting:XYZ,8,4,4,32thanks for the reply.

  • SQL Query Using Join

    Hi,
    I am trying to join two tables using joining.
    SQL> select * from test10;
    ID
    1
    2
    SQL> select * from test11;
    ID
    1
    3
    4
    My expected output is
    ID
    1
    2
    3
    4
    I am able to do this using "Union"
    SQL> select * from test10
    2 union
    3 select * from test11;
    ID
    1
    2
    3
    4
    But i want to achieve this using join. Please help..
    Thanks & Regards,
    Arijit

    Hi, Arijit,
    The way to do that with a join is FULL OUTER JOIN, like this:
    SELECT       NVL (t10.id, t11.id)     AS id
    FROM               test10  t10
    FULL OUTER JOIN  test11  t11  ON   t10.id  = t11.id
    ORDER BY  1
    ;If that's exactly what you're trying to do, you should stick with the UNION.
    FULL OUTER JOIN is good when there are other columns involved.

  • Opitmizing sql query using join

    Hello all,
    I have the following query that needs to be written using Joins. I am not sure if this is the correct place to post this question
    Tables used:
    1. activities: (a_id, n_id, market, amount, act_type, act_number, act_seq) --the money paid by the registrant for the market.
    2. market_reg (a_id, n_id, market, reg_stage) -- for each market there are registrants
    3. market (market) -- stores market details
    I need to get sum of total_payment_amount using the condition. I know the query is not opitmized and its not the correct way to get info. I was
    wondering if you guys can suggest me a query that will pull the information by using joins
    SELECT a.a_id, a.n_id, SUM (a.total_payment_amount)
    FROM activities a
    WHERE a.market = 'marketname'
    AND a.a_id||a.n_id IN
    (SELECT mr.a_id||mr.n_id
    FROM market_reg mr
    WHERE mr.market = 'marketname'
    AND mr.reg_stage = 'P'
    AND mr.n_id <> 0)
    AND (a.act_type = 'A'
    OR (a.act_type IS NULL
    AND a.act_number||act_seq IN
    ( SELECT a1.act_number||a1.act_seq
    FROM activities a1
    WHERE a1.market = 'marketname'
    GROUP BY a1.act_number||a1.act_seq
    HAVING COUNT (a1.act_number||a1.act_seq) = 1)))
    GROUP BY a.a_id, a.n_id;
    Thanks

    Hi,
    I see you have already re-posted this on a more appropriate forum, the SQL and PL/SQL forum.
    Thanks,
    Gary

  • About SQL Query using joins

    Hi,
    I want to write a SQL statement using Joins. The base table "A" has about 100 fields and the join table "B" a few. I would like to fetch all fields from table "A" and a few from table "B".
    Is there a way to write a query wherein I can use "Select * " for table "A" rather than writing all 100 field name in the query? Please keep in mind that I want to use a Join.
    Thanks.

    Hi Thomas,
    but if there are some fields which are in both tables, SELECT * will be not sufficient. E.g. fields ERNAM, ERDAT, AENAM, AEDAT are such fields which can occur in more tables. In case that a target area will contain these fields, by * with addition INTO CORRESPONDING FIELDS OF, you are not able to specify from which table these values should be taken. In such case, it can be solved by specifying field list dynamically. If it is not that case SELECT * is sufficient. You should check intersection of common fields for tables you are joining. Thereafter you should decide if you can use SELECT *.
    Maybe for better understanding, what exactly I am talking about, look at this example:
    TYPES: BEGIN OF ts_data,
            ernam TYPE mara-ernam,
           END OF ts_data.
    DATA: ls_data TYPE ts_data,
          ls_mara TYPE mara,
          ls_mchb TYPE mchb.
    START-OF-SELECTION.
      ls_mara-matnr = '1'.
      ls_mchb-matnr = ls_mara-matnr.
      ls_mara-ernam = 'A'.
      ls_mchb-ernam = 'B'.
      INSERT mara FROM ls_mara.
      INSERT mchb FROM ls_mchb.
      SELECT SINGLE * FROM mara INNER JOIN mchb ON mara~matnr = mchb~matnr INTO CORRESPONDING FIELDS OF ls_data.
      ROLLBACK WORK.
    You as a developer are not able to tell from which table common fields should be selected. But maybe this is really too specific case...
    Regards,
    Adrian

  • Query using JOIN

    Hi,
    my tables structure looks:
    Column names:
    rhead
    bu
    sub_bu
    report_order
    sub_bu_order
    q1py
    My query is:
    select Rhead,bu,Sub_bu,report_order,sub_bu_order,q1py,case
              when sub_bu='ISS' then (select q1py from tsg a where a.sub_bu='ESS' and a.rhead=b.rhead)
              when sub_bu='TS' then (select q1py from tsg a where a.sub_bu='Services' and a.rhead=b.rhead)
              when sub_bu='SW' then (select q1py from tsg a where a.sub_bu='SW' and a.rhead=b.rhead)
              else NULL end as q1py_bu,
              case
              when sub_bu='ISS' then (select q1py from tsg a where a.sub_bu='TSG' and a.rhead=b.rhead)
              when sub_bu like 'R&D' and rhead in ('Region owned opex','% of revenue','Region opex','Region opex%') then
              (select q1py from tsg a where a.sub_bu like 'TSG' and a.rhead=b.rhead)
              else NULL end as q1py_tot from tsg b where report_order=1
    Result:
    rhead bu sub_bu report_order sub_bu_order q1py q1py_bu q1py_tot
    orders ESS ISS 1 1 1162 1778.4 2953.9
    here i am using the sub query to produce the result. I need to give the same result by using JOINS.
    So any one help me, by using JOINS instead of SUB QUERY and produce the same result
    Thanx in advance

    Hi,
    this is my query
    select
    Rhead,BU,Sub_bu,report_order,sub_bu_order,q1py,
    case
              when sub_bu='ISS' then (select q1py from tsg a where a.sub_bu='ESS' and a.rhead=b.rhead)
              when sub_bu='TS' then (select q1py from tsg a where a.sub_bu='Services' and a.rhead=b.rhead)
              when sub_bu='SW' then (select q1py from tsg a where a.sub_bu='SW' and a.rhead=b.rhead)
              else NULL end as q1py_bu,
    case
              when sub_bu='ISS' then (select q1py from tsg a where a.sub_bu='TSG' and a.rhead=b.rhead)
              when sub_bu like 'R&D' and rhead in ('Region owned opex','% of revenue','Region opex','Region opex%') then
              (select q1py from tsg a where a.sub_bu like 'TSG' and a.rhead=b.rhead)
              else NULL end as q1py_tot
    last_update from tsg where @condition;
    i will use the different conditions. they are
    1.sub_bu<>bu and report_order<=8
    2.report_order > 8 and report_order<11 and sub_bu not in (‘TSG’)
    3.report_order > 10 and report_order <14
    4.report_order > 13
    i used the above query and getting some time.
    so i am using the below query as suggested by forum earlier.
    select
    Rhead,BU,Sub_bu,report_order,sub_bu_order,q1py,
    case
    when sub_bu='ISS'
    then max(case when sub_bu='ESS' then q1py end) over(partition by rhead)
    when sub_bu='TS'
    then max(case when sub_bu='Services' then q1py end) over(partition by rhead)
    when sub_bu='SW'
    then max(case when sub_bu='SW' then q1py end) over(partition by rhead)
    end as q1py_bu,
    case
    when sub_bu='ISS'
    then max (case when sub_bu='TSG' then q1py end) over (partition by rhead)
    when sub_bu = 'R&D' and rhead in ('Region owned opex','% of revenue','Region opex','Region opex%')
    then max(case when sub_bu = 'TSG' then q1py end) over (partition by rhead)
    end as q1py_tot, last_update from tsg where @condition;
    I am getting better result by this query.
    but the problem is this query gives wrong output for first two conditions(1.sub_bu<>bu and report_order<=8
    2.report_order > 8 and report_order<11 and sub_bu not in (‘TSG’). The value is not displayed for the virtual column q1py_bu and q1py_tot.
    i am getting this warning message too
    Warning: Null value is eliminated by an aggregate or other SET operation.
    I am not able to find the solution. so plz do help in this..
    other than this every thing is fine
    thanks

Maybe you are looking for

  • MSI KT3 Ultra-ARU

    Can anyway say to me the PCI/AGP dividers of MSI Kt3 ULTRA -ARU? Thanx in advance

  • Problem typing mail message

    Sometimes, when I am typing a reply to an email on my 4s phone, the typing continues indefinitely across the screen, rather than jumping down to the next line and continuing there.  After I send the message, and look at it in "sent" messages, it look

  • How do i get the song to display rather than the clock?

    i have a new 80gig iPod classic. when the music is playing, once the backlight goes off, the song title disappears and a digital clock appears. how do i keep the song title in the screen without keeping the backlight on all of the time?

  • Book format lost

    My wife has successfully created and printed a book using Aperature 2.1 - love it! Now a few months later she wants to modify and reprint the book. But when she opens the project, there is just all the photos used, displayed in the browser/viewer vie

  • HT1918 Change of id email......what a mess?

    I have tried to change my id email. In doing so I ended up making a new account and can't get into my old one. When I sign in to the old one my security questions are wrong - even my date of birth, and no comfirmation email will send. I need the old