• HdW
  • NEWBIE
  • 0 Points
  • Member since 2010

  • Chatter
    Feed
  • 0
    Best Answers
  • 1
    Likes Received
  • 0
    Likes Given
  • 2
    Questions
  • 3
    Replies

Hello,

 

I am trying to develop my own Excel-report-tool.I use the Office Toolkit for the communication with Salesforce. But if I try to send the query:

 

SELECT AccountNumber 

FROM Account

WHERE id in (SELECT ..........)

 

I get the error message, that semi joins are not supported in this API version. I checked it, and the toolkit uses the API 15.0. In the newer versions (I used 20.0) this query is possible.

 

Is there an easy possibility to use the latest API? I do not want to write my own .dll.

 

Thanks in advance

Markus

  • December 29, 2011
  • Like
  • 0

Hello everyone,

 

we have developed a small customer search in salesforce. If you click on the "search" button manually, everything is working fine, but by clicking on the enter key, nothing happens.

 

I know that problems like this are discussed here quite often, but I didn't find a solution for my problem.

 

 

<apex:page controller="SearchFirstController" tabStyle="Search_Create__tab">
    <apex:sectionHeader title="{!$Label.sfTitle}" subtitle="{!$Label.sfSubTitle}" description="{!$Label.sfTitleDescription}"/>
    <apex:outputPanel id="errorPanel">
        <apex:pageMessage strength="2" title="{!errorTitle}" summary="{!errorMessage}" severity="{!errorSeverity}" rendered="{!errorShow}" />
    </apex:outputPanel>
    <apex:outputPanel id="searchPanel" styleClass="searchFilterFields">
    <apex:form id="searchForm">
    <div class="searchFilterFieldsHolder">
        <table class="searchFilterFields" width="100%">
        <tr>
            <td width="250px">
            <table width="100%">
            <tr>
                <td>
                    <apex:outputLabel value="{!$Label.sfFirstName}" for="searchFirstName"/>
                </td>
                <td width="100%">
                    <apex:inputText value="{!searchFirstName}" id="searchFirstName" required="false"/>
                </td>
            </tr>
            <tr>
                <td>
                    <apex:outputLabel value="{!$Label.sfLastName}" for="searchLastName"/>
                </td>
                <td width="100%">
                    <apex:inputText value="{!searchLastname}" id="searchLastName" required="false"/>
                </td>
            </tr>
            <tr>
                <td>
                    <apex:outputLabel value="{!$Label.sfAccount}" for="searchCompany"/>
                </td>
                <td width="100%">
                    <apex:inputText value="{!searchCompany}" id="searchCompany" required="false"/>
                </td>
            </tr>
            <tr>
                <td>
                    <apex:outputLabel value="{!$Label.sfPhone}" for="searchdPhone"/>
                </td>
                <td width="100%">
                    <apex:inputText value="{!searchPhone}" id="searchPhone" required="false"/>
                </td>
            </tr>
            <tr>
                <td>
                    <apex:outputLabel value="{!$Label.sfEmail}" for="searchEmail"/>
                </td>
                <td width="100%">
                    <apex:inputText value="{!searchEmail}" id="searchEmail" required="false"/>
                </td>
            </tr>
            <tr>
                <td>
                    &nbsp;
                </td>
                <td width="100%">
                    <apex:commandButton value="{!$Label.btnSearch}" action="{!search}" rerender="resultPanel,errorPanel" styleClass="searchFilterButton" status="processingStatus"/>&nbsp;<apex:commandButton value="{!$Label.btnReset}" action="{!reset}" rerender="searchPanel,resultPanel,errorPanel" styleClass="searchFilterButton"/>
                </td>
            </tr>
        </table>
        </td>
        <td align="center" valign="middle"><table style="font-size:80%;"><tr><td width="20%" align="right"><strong>{!$Label.sfAsterik}</strong></td><td width="80%">{!$Label.sfAsterikText}</td></tr><tr><td width="20%" align="right"><strong>{!$Label.sfQuestionmark}</strong></td><td width="80%">{!$Label.sfQuestionmarkText}</td></tr></table></td></tr></table>
    </div>
    </apex:form>
    <center><apex:actionStatus id="processingStatus" startText="{!$Label.sfProcessRequest}"/></center>
    </apex:outputPanel>
    <br/>
    <apex:outputPanel id="resultPanel">
        <apex:form id="resultForm">
        <apex:pageBlock id="leadresultPanel" title="{!$Label.sfLeads}{!If(numLeads > 0,' [' & text(numLeads) & ']',' [0]')}" tabStyle="Lead">
            <apex:pageMessage strength="2" severity="info" summary="{!$Label.sfNoLeadResultWarning}" rendered="{!noLeadResult}" />
            <apex:pageBlockSection title="{!$Label.sfMatchingLeads}" collapsible="true" columns="1" rendered="{!NOT(emptyLeadList)}">
                <apex:pageBlockTable value="{!resultListLeads}" var="leadItem">
                    <apex:column >
                        <apex:facet name="header">{!$Label.sfLeadName}</apex:facet>
                        <apex:outputLink value="{!URLFOR($Action.Lead.View, leadItem.Id)}">{!leadItem.Firstname}&nbsp;{!leadItem.Lastname}</apex:outputLink>
                    </apex:column>
                    <apex:column >
                        <apex:facet name="header">{!$Label.sfLeadCompany}</apex:facet>
                        <apex:outputLink value="{!URLFOR($Action.Lead.View, leadItem.Id)}">{!leadItem.Company}</apex:outputLink>
                    </apex:column>
                    <apex:column value="{!leadItem.Phone}"/>
                    <apex:column value="{!leadItem.Email}"/>
                    <apex:column value="{!leadItem.Status}"/>
                </apex:pageBlockTable>
            </apex:pageBlockSection>
            <apex:commandButton id="createNewLead" value="{!$Label.btnNew}" action="{!createNewLead}"/>
        </apex:pageBlock>
        <apex:pageBlock id="contactresultPanel" title="{!$Label.sfContacts}{!If(numContacts > 0,' [' & text(numContacts) & ']',' [0]')}" tabStyle="Contact">
            <apex:pageMessage strength="2" severity="info" summary="{!$Label.sfNoContactResultWarning}" rendered="{!noContactResult}" />
            <apex:pageBlockSection title="{!$Label.sfMatchingContacts}" collapsible="true" columns="1" rendered="{!NOT(emptyContactList)}">
                <apex:pageBlockTable value="{!resultListContacts}" var="contactItem">
                    <apex:column >
                        <apex:facet name="header">{!$Label.sfContactName}</apex:facet>
                        <apex:outputLink value="{!URLFOR($Action.Contact.View, contactItem.Id)}">{!contactItem.Firstname}&nbsp;{!contactItem.Lastname}</apex:outputLink>
                    </apex:column>
<!--                    <apex:column value="{!contactItem.Company}"/>-->
                    <apex:column value="{!contactItem.Phone}"/>
                    <apex:column value="{!contactItem.Email}"/>
                </apex:pageBlockTable>
            </apex:pageBlockSection>
            <apex:commandButton id="createNewLead" value="{!$Label.btnNew}" action="{!createNewContact}"/>
        </apex:pageBlock>
        <apex:pageBlock id="accountresultPanel" title="{!$Label.sfAccounts}{!If(numAccounts > 0,' [' & text(numAccounts) & ']',' [0]')}" tabStyle="Account">
            <apex:pageMessage strength="2" severity="info" summary="{!$Label.sfNoAccountResultWarning}" rendered="{!noAccountResult}" />
            <apex:pageBlockSection title="{!$Label.sfMatchingAccounts}" collapsible="true" columns="1" rendered="{!NOT(emptyAccountList)}">
                <apex:pageBlockTable value="{!resultListAccounts}" var="accountItem">
                    <apex:column >
                        <apex:facet name="header">{!$Label.sfAccountName}</apex:facet>
                        <apex:outputLink value="{!URLFOR($Action.Account.View, accountItem.Id)}">{!accountItem.Name}</apex:outputLink>
                    </apex:column>
                    <apex:column value="{!accountItem.Phone}"/>
                    <apex:column value="{!accountItem.Type}"/>
                </apex:pageBlockTable>
            </apex:pageBlockSection>
            <apex:commandButton id="createNewAccount" value="{!$Label.btnNew}" action="{!createNewAccount}"/>
        </apex:pageBlock>
        </apex:form>
    </apex:outputPanel>
</apex:page>

 

 

Thanks and regards

Markus

  • August 16, 2010
  • Like
  • 1

Hello everyone,

 

we have developed a small customer search in salesforce. If you click on the "search" button manually, everything is working fine, but by clicking on the enter key, nothing happens.

 

I know that problems like this are discussed here quite often, but I didn't find a solution for my problem.

 

 

<apex:page controller="SearchFirstController" tabStyle="Search_Create__tab">
    <apex:sectionHeader title="{!$Label.sfTitle}" subtitle="{!$Label.sfSubTitle}" description="{!$Label.sfTitleDescription}"/>
    <apex:outputPanel id="errorPanel">
        <apex:pageMessage strength="2" title="{!errorTitle}" summary="{!errorMessage}" severity="{!errorSeverity}" rendered="{!errorShow}" />
    </apex:outputPanel>
    <apex:outputPanel id="searchPanel" styleClass="searchFilterFields">
    <apex:form id="searchForm">
    <div class="searchFilterFieldsHolder">
        <table class="searchFilterFields" width="100%">
        <tr>
            <td width="250px">
            <table width="100%">
            <tr>
                <td>
                    <apex:outputLabel value="{!$Label.sfFirstName}" for="searchFirstName"/>
                </td>
                <td width="100%">
                    <apex:inputText value="{!searchFirstName}" id="searchFirstName" required="false"/>
                </td>
            </tr>
            <tr>
                <td>
                    <apex:outputLabel value="{!$Label.sfLastName}" for="searchLastName"/>
                </td>
                <td width="100%">
                    <apex:inputText value="{!searchLastname}" id="searchLastName" required="false"/>
                </td>
            </tr>
            <tr>
                <td>
                    <apex:outputLabel value="{!$Label.sfAccount}" for="searchCompany"/>
                </td>
                <td width="100%">
                    <apex:inputText value="{!searchCompany}" id="searchCompany" required="false"/>
                </td>
            </tr>
            <tr>
                <td>
                    <apex:outputLabel value="{!$Label.sfPhone}" for="searchdPhone"/>
                </td>
                <td width="100%">
                    <apex:inputText value="{!searchPhone}" id="searchPhone" required="false"/>
                </td>
            </tr>
            <tr>
                <td>
                    <apex:outputLabel value="{!$Label.sfEmail}" for="searchEmail"/>
                </td>
                <td width="100%">
                    <apex:inputText value="{!searchEmail}" id="searchEmail" required="false"/>
                </td>
            </tr>
            <tr>
                <td>
                    &nbsp;
                </td>
                <td width="100%">
                    <apex:commandButton value="{!$Label.btnSearch}" action="{!search}" rerender="resultPanel,errorPanel" styleClass="searchFilterButton" status="processingStatus"/>&nbsp;<apex:commandButton value="{!$Label.btnReset}" action="{!reset}" rerender="searchPanel,resultPanel,errorPanel" styleClass="searchFilterButton"/>
                </td>
            </tr>
        </table>
        </td>
        <td align="center" valign="middle"><table style="font-size:80%;"><tr><td width="20%" align="right"><strong>{!$Label.sfAsterik}</strong></td><td width="80%">{!$Label.sfAsterikText}</td></tr><tr><td width="20%" align="right"><strong>{!$Label.sfQuestionmark}</strong></td><td width="80%">{!$Label.sfQuestionmarkText}</td></tr></table></td></tr></table>
    </div>
    </apex:form>
    <center><apex:actionStatus id="processingStatus" startText="{!$Label.sfProcessRequest}"/></center>
    </apex:outputPanel>
    <br/>
    <apex:outputPanel id="resultPanel">
        <apex:form id="resultForm">
        <apex:pageBlock id="leadresultPanel" title="{!$Label.sfLeads}{!If(numLeads > 0,' [' & text(numLeads) & ']',' [0]')}" tabStyle="Lead">
            <apex:pageMessage strength="2" severity="info" summary="{!$Label.sfNoLeadResultWarning}" rendered="{!noLeadResult}" />
            <apex:pageBlockSection title="{!$Label.sfMatchingLeads}" collapsible="true" columns="1" rendered="{!NOT(emptyLeadList)}">
                <apex:pageBlockTable value="{!resultListLeads}" var="leadItem">
                    <apex:column >
                        <apex:facet name="header">{!$Label.sfLeadName}</apex:facet>
                        <apex:outputLink value="{!URLFOR($Action.Lead.View, leadItem.Id)}">{!leadItem.Firstname}&nbsp;{!leadItem.Lastname}</apex:outputLink>
                    </apex:column>
                    <apex:column >
                        <apex:facet name="header">{!$Label.sfLeadCompany}</apex:facet>
                        <apex:outputLink value="{!URLFOR($Action.Lead.View, leadItem.Id)}">{!leadItem.Company}</apex:outputLink>
                    </apex:column>
                    <apex:column value="{!leadItem.Phone}"/>
                    <apex:column value="{!leadItem.Email}"/>
                    <apex:column value="{!leadItem.Status}"/>
                </apex:pageBlockTable>
            </apex:pageBlockSection>
            <apex:commandButton id="createNewLead" value="{!$Label.btnNew}" action="{!createNewLead}"/>
        </apex:pageBlock>
        <apex:pageBlock id="contactresultPanel" title="{!$Label.sfContacts}{!If(numContacts > 0,' [' & text(numContacts) & ']',' [0]')}" tabStyle="Contact">
            <apex:pageMessage strength="2" severity="info" summary="{!$Label.sfNoContactResultWarning}" rendered="{!noContactResult}" />
            <apex:pageBlockSection title="{!$Label.sfMatchingContacts}" collapsible="true" columns="1" rendered="{!NOT(emptyContactList)}">
                <apex:pageBlockTable value="{!resultListContacts}" var="contactItem">
                    <apex:column >
                        <apex:facet name="header">{!$Label.sfContactName}</apex:facet>
                        <apex:outputLink value="{!URLFOR($Action.Contact.View, contactItem.Id)}">{!contactItem.Firstname}&nbsp;{!contactItem.Lastname}</apex:outputLink>
                    </apex:column>
<!--                    <apex:column value="{!contactItem.Company}"/>-->
                    <apex:column value="{!contactItem.Phone}"/>
                    <apex:column value="{!contactItem.Email}"/>
                </apex:pageBlockTable>
            </apex:pageBlockSection>
            <apex:commandButton id="createNewLead" value="{!$Label.btnNew}" action="{!createNewContact}"/>
        </apex:pageBlock>
        <apex:pageBlock id="accountresultPanel" title="{!$Label.sfAccounts}{!If(numAccounts > 0,' [' & text(numAccounts) & ']',' [0]')}" tabStyle="Account">
            <apex:pageMessage strength="2" severity="info" summary="{!$Label.sfNoAccountResultWarning}" rendered="{!noAccountResult}" />
            <apex:pageBlockSection title="{!$Label.sfMatchingAccounts}" collapsible="true" columns="1" rendered="{!NOT(emptyAccountList)}">
                <apex:pageBlockTable value="{!resultListAccounts}" var="accountItem">
                    <apex:column >
                        <apex:facet name="header">{!$Label.sfAccountName}</apex:facet>
                        <apex:outputLink value="{!URLFOR($Action.Account.View, accountItem.Id)}">{!accountItem.Name}</apex:outputLink>
                    </apex:column>
                    <apex:column value="{!accountItem.Phone}"/>
                    <apex:column value="{!accountItem.Type}"/>
                </apex:pageBlockTable>
            </apex:pageBlockSection>
            <apex:commandButton id="createNewAccount" value="{!$Label.btnNew}" action="{!createNewAccount}"/>
        </apex:pageBlock>
        </apex:form>
    </apex:outputPanel>
</apex:page>

 

 

Thanks and regards

Markus

  • August 16, 2010
  • Like
  • 1

Hello everyone,

 

we have developed a small customer search in salesforce. If you click on the "search" button manually, everything is working fine, but by clicking on the enter key, nothing happens.

 

I know that problems like this are discussed here quite often, but I didn't find a solution for my problem.

 

 

<apex:page controller="SearchFirstController" tabStyle="Search_Create__tab">
    <apex:sectionHeader title="{!$Label.sfTitle}" subtitle="{!$Label.sfSubTitle}" description="{!$Label.sfTitleDescription}"/>
    <apex:outputPanel id="errorPanel">
        <apex:pageMessage strength="2" title="{!errorTitle}" summary="{!errorMessage}" severity="{!errorSeverity}" rendered="{!errorShow}" />
    </apex:outputPanel>
    <apex:outputPanel id="searchPanel" styleClass="searchFilterFields">
    <apex:form id="searchForm">
    <div class="searchFilterFieldsHolder">
        <table class="searchFilterFields" width="100%">
        <tr>
            <td width="250px">
            <table width="100%">
            <tr>
                <td>
                    <apex:outputLabel value="{!$Label.sfFirstName}" for="searchFirstName"/>
                </td>
                <td width="100%">
                    <apex:inputText value="{!searchFirstName}" id="searchFirstName" required="false"/>
                </td>
            </tr>
            <tr>
                <td>
                    <apex:outputLabel value="{!$Label.sfLastName}" for="searchLastName"/>
                </td>
                <td width="100%">
                    <apex:inputText value="{!searchLastname}" id="searchLastName" required="false"/>
                </td>
            </tr>
            <tr>
                <td>
                    <apex:outputLabel value="{!$Label.sfAccount}" for="searchCompany"/>
                </td>
                <td width="100%">
                    <apex:inputText value="{!searchCompany}" id="searchCompany" required="false"/>
                </td>
            </tr>
            <tr>
                <td>
                    <apex:outputLabel value="{!$Label.sfPhone}" for="searchdPhone"/>
                </td>
                <td width="100%">
                    <apex:inputText value="{!searchPhone}" id="searchPhone" required="false"/>
                </td>
            </tr>
            <tr>
                <td>
                    <apex:outputLabel value="{!$Label.sfEmail}" for="searchEmail"/>
                </td>
                <td width="100%">
                    <apex:inputText value="{!searchEmail}" id="searchEmail" required="false"/>
                </td>
            </tr>
            <tr>
                <td>
                    &nbsp;
                </td>
                <td width="100%">
                    <apex:commandButton value="{!$Label.btnSearch}" action="{!search}" rerender="resultPanel,errorPanel" styleClass="searchFilterButton" status="processingStatus"/>&nbsp;<apex:commandButton value="{!$Label.btnReset}" action="{!reset}" rerender="searchPanel,resultPanel,errorPanel" styleClass="searchFilterButton"/>
                </td>
            </tr>
        </table>
        </td>
        <td align="center" valign="middle"><table style="font-size:80%;"><tr><td width="20%" align="right"><strong>{!$Label.sfAsterik}</strong></td><td width="80%">{!$Label.sfAsterikText}</td></tr><tr><td width="20%" align="right"><strong>{!$Label.sfQuestionmark}</strong></td><td width="80%">{!$Label.sfQuestionmarkText}</td></tr></table></td></tr></table>
    </div>
    </apex:form>
    <center><apex:actionStatus id="processingStatus" startText="{!$Label.sfProcessRequest}"/></center>
    </apex:outputPanel>
    <br/>
    <apex:outputPanel id="resultPanel">
        <apex:form id="resultForm">
        <apex:pageBlock id="leadresultPanel" title="{!$Label.sfLeads}{!If(numLeads > 0,' [' & text(numLeads) & ']',' [0]')}" tabStyle="Lead">
            <apex:pageMessage strength="2" severity="info" summary="{!$Label.sfNoLeadResultWarning}" rendered="{!noLeadResult}" />
            <apex:pageBlockSection title="{!$Label.sfMatchingLeads}" collapsible="true" columns="1" rendered="{!NOT(emptyLeadList)}">
                <apex:pageBlockTable value="{!resultListLeads}" var="leadItem">
                    <apex:column >
                        <apex:facet name="header">{!$Label.sfLeadName}</apex:facet>
                        <apex:outputLink value="{!URLFOR($Action.Lead.View, leadItem.Id)}">{!leadItem.Firstname}&nbsp;{!leadItem.Lastname}</apex:outputLink>
                    </apex:column>
                    <apex:column >
                        <apex:facet name="header">{!$Label.sfLeadCompany}</apex:facet>
                        <apex:outputLink value="{!URLFOR($Action.Lead.View, leadItem.Id)}">{!leadItem.Company}</apex:outputLink>
                    </apex:column>
                    <apex:column value="{!leadItem.Phone}"/>
                    <apex:column value="{!leadItem.Email}"/>
                    <apex:column value="{!leadItem.Status}"/>
                </apex:pageBlockTable>
            </apex:pageBlockSection>
            <apex:commandButton id="createNewLead" value="{!$Label.btnNew}" action="{!createNewLead}"/>
        </apex:pageBlock>
        <apex:pageBlock id="contactresultPanel" title="{!$Label.sfContacts}{!If(numContacts > 0,' [' & text(numContacts) & ']',' [0]')}" tabStyle="Contact">
            <apex:pageMessage strength="2" severity="info" summary="{!$Label.sfNoContactResultWarning}" rendered="{!noContactResult}" />
            <apex:pageBlockSection title="{!$Label.sfMatchingContacts}" collapsible="true" columns="1" rendered="{!NOT(emptyContactList)}">
                <apex:pageBlockTable value="{!resultListContacts}" var="contactItem">
                    <apex:column >
                        <apex:facet name="header">{!$Label.sfContactName}</apex:facet>
                        <apex:outputLink value="{!URLFOR($Action.Contact.View, contactItem.Id)}">{!contactItem.Firstname}&nbsp;{!contactItem.Lastname}</apex:outputLink>
                    </apex:column>
<!--                    <apex:column value="{!contactItem.Company}"/>-->
                    <apex:column value="{!contactItem.Phone}"/>
                    <apex:column value="{!contactItem.Email}"/>
                </apex:pageBlockTable>
            </apex:pageBlockSection>
            <apex:commandButton id="createNewLead" value="{!$Label.btnNew}" action="{!createNewContact}"/>
        </apex:pageBlock>
        <apex:pageBlock id="accountresultPanel" title="{!$Label.sfAccounts}{!If(numAccounts > 0,' [' & text(numAccounts) & ']',' [0]')}" tabStyle="Account">
            <apex:pageMessage strength="2" severity="info" summary="{!$Label.sfNoAccountResultWarning}" rendered="{!noAccountResult}" />
            <apex:pageBlockSection title="{!$Label.sfMatchingAccounts}" collapsible="true" columns="1" rendered="{!NOT(emptyAccountList)}">
                <apex:pageBlockTable value="{!resultListAccounts}" var="accountItem">
                    <apex:column >
                        <apex:facet name="header">{!$Label.sfAccountName}</apex:facet>
                        <apex:outputLink value="{!URLFOR($Action.Account.View, accountItem.Id)}">{!accountItem.Name}</apex:outputLink>
                    </apex:column>
                    <apex:column value="{!accountItem.Phone}"/>
                    <apex:column value="{!accountItem.Type}"/>
                </apex:pageBlockTable>
            </apex:pageBlockSection>
            <apex:commandButton id="createNewAccount" value="{!$Label.btnNew}" action="{!createNewAccount}"/>
        </apex:pageBlock>
        </apex:form>
    </apex:outputPanel>
</apex:page>

 

 

Thanks and regards

Markus

  • August 16, 2010
  • Like
  • 1