Toggle Side Panel

  • Home
  • Articles
    • All Articles
    • Blogs
    • Videos
    • Infographics
  • Consultants
    • Salesforce Product Expertise
      • Top Salesforce ConsultantsTop Salesforce Consultants
      • Marketing Cloud ConsultantsMarketing Cloud Consultants
      • Service Cloud ConsultantsService Cloud Consultants
      • Experience Cloud ConsultantsExperience Cloud Consultants
      • Analytics Cloud ConsultantsAnalytics Cloud Consultants
    • Salesforce Industry Expertise
      • Non-Profit Cloud ConsultantsNon-Profit Cloud Consultants
      • Financial Service Cloud ConsultantsFinancial Service Cloud Consultants
      • Health Cloud ConsultantsHealth Cloud Consultants
      • Commerce Cloud ConsultantsCommerce Cloud Consultants
      • Manufacturing Cloud ConsultantsManufacturing Cloud Consultants
    • Salesforce Experts by Location
      • USATop Salesforce Consultants in USA
      • IndiaTop Salesforce Consultants in India
      • AustraliaTop Salesforce Consultants in Australia
      • United KingdomTop Salesforce Consultants in UK
      • CanadaTop Salesforce Consultants in Canada
  • Webinars
  • Marketplace
  • Advertise With Us
  • Contact Us
  • Discussions
More options
    Sign in Sign up
    • Home
    • Articles
      • All Articles
      • Blogs
      • Videos
      • Infographics
    • Consultants
      • Salesforce Product Expertise
        • Top Salesforce ConsultantsTop Salesforce Consultants
        • Marketing Cloud ConsultantsMarketing Cloud Consultants
        • Service Cloud ConsultantsService Cloud Consultants
        • Experience Cloud ConsultantsExperience Cloud Consultants
        • Analytics Cloud ConsultantsAnalytics Cloud Consultants
      • Salesforce Industry Expertise
        • Non-Profit Cloud ConsultantsNon-Profit Cloud Consultants
        • Financial Service Cloud ConsultantsFinancial Service Cloud Consultants
        • Health Cloud ConsultantsHealth Cloud Consultants
        • Commerce Cloud ConsultantsCommerce Cloud Consultants
        • Manufacturing Cloud ConsultantsManufacturing Cloud Consultants
      • Salesforce Experts by Location
        • USATop Salesforce Consultants in USA
        • IndiaTop Salesforce Consultants in India
        • AustraliaTop Salesforce Consultants in Australia
        • United KingdomTop Salesforce Consultants in UK
        • CanadaTop Salesforce Consultants in Canada
    • Webinars
    • Marketplace
    • Advertise With Us
    • Contact Us
    • Discussions
    Close search

    Activity › Forums › Salesforce® Discussions › How to insert Account and its related contacts through Salesforce Visualforce page?

    Tagged: Contact List in Salesforce, Contact Object, Contact Record, Insert Account, Multiple Contacts, Multiple Records, Salesforce Visualforce Page, Visualforce Component, Visualforce Controller in Salesforce

    • Salesforce® Discussions

      How to insert Account and its related contacts through Salesforce Visualforce page?

      Posted by shariq on August 8, 2017 at 6:07 AM

      I want to insert Account and its multiple contacts by filling fields on visualforce page.

      shariq replied 7 years, 4 months ago 3 Members · 3 Replies
      • Contact List in Salesforce
      • Contact Object
      • Contact Record
      • Insert Account
      • Multiple Contacts
      • Multiple Records
      • Salesforce Visualforce Page
      • Visualforce Component
      • Visualforce Controller in Salesforce
    • 3 Replies
    • Ajay Prakash

      Member
      January 13, 2018 at 3:05 PM

      Hi Shariq,

      You can not insert Account and its related contacts in the single transaction. You need to insert account first and then its related contacts. To insert related contacts you need the id of the parent Account.

      Please let us know what you have tried so far, in your scenario then we may be more helpful.

      Thanks.

       

      • This reply was modified 8 years ago by  Ajay Prakash.
    • Parul

      Member
      September 15, 2018 at 2:42 PM

      In single transaction it's not possible to insert account and its related contacts because you have to insert first parent then its child record.

       

       

      Thanks

    • shariq

      Member
      September 16, 2018 at 10:19 AM

      Hi Ajay,

      This is the code I have written and it is working fine for me -

      Apex class - 

      public with sharing class AddContactsAccounts1
      {

      // public List <AddCon> customContacts {get; set;}
      public List <Account> accounts ;
      public List <Contact> contacts1{get; set;}
      public Map <Integer,List<Contact>> mapIntVsConList{get; set;}
      public Map <Integer,Account> mapIntVsAcc{get; set;}
      public Integer i ;
      public Integer j ;
      public Account acc {get; set;}
      public Contact con {get; set;}

      public AddContactsAccounts1()
      {
      i=0;j=0;
      accounts = new List<Account>();
      mapIntVsConList = new Map <Integer,List<Contact>>();
      mapIntVsAcc = new Map <Integer,Account>();
      // customAccounts = new List <AddAcc> ();
      //customContacts = new List <AddCon> ();
      contacts1 = new List<Contact>();
      // AddAcc customAccount = new AddAcc();
      // customAccounts.add(customAccount);
      acc = new Account();
      mapIntVsAcc.put(i,acc);
      mapIntVsConList.put(i,contacts1);
      }

      public void addNewAccount()
      {
      i++;
      //customContacts = new List <AddCon> ();
      acc = new Account();
      mapIntVsAcc.put(i,acc);
      contacts1 = new List<contact>();
      mapIntVsConList.put(i,contacts1);

      }
      public void addNewContact()
      {
      con = new Contact();
      contacts1.add(con);
      mapIntVsConList.put(i,contacts1);
      }

      public PageReference insertAccountsContacts()
      {
      //i=0;
      //Map <Id,List<Contact>> mapAccIdVsCon = new Map <Id,List<Contact>>();
      PageReference pageRefer = new PageReference('/apex/AddContactsAccountsPage1');
      /*for (AddAcc customAccount : customAccounts)
      {
      accounts.add(customAccount.acc);
      }*/
      //system.debug('accounts::::'+accounts);
      List<Contact> conList = new List<Contact>();
      for(Integer i : mapIntVsAcc.keySet())
      {
      accounts.add(mapIntVsAcc.get(i));
      }
      insert accounts;
      j = 0;
      for(Account a : accounts)
      {
      //List <Contact> contacts = new List <Contact>();
      for(Contact c : mapIntVsConList.get(j))
      {
      c.accountId = a.Id;
      conList.add(c);
      }
      // mapAccIdVsCon.put(a.Id, contacts);
      j++;
      }
      //system.debug('contacts::::'+contacts);

      /* for(Id ide :mapAccIdVsCon.keySet())
      {
      for(Contact c : mapAccIdVsCon.get(ide))
      {
      conList.add(c);
      }
      }*/
      insert conList;

      pageRefer.setRedirect(True);
      return pageRefer;
      // return Page.AddContactsAccountsPage1;
      }
      }

      Visualforce page - 

      <apex:page controller="AddContactsAccounts1" sidebar="false" >
      <apex:form id="form">
      <apex:pageBlock >
      <apex:pageBlockButtons >
      <apex:commandButton action="{!addNewAccount}" value="Add New Account" rerender="pageId"/>
      <apex:commandButton action="{!addNewContact}" value="Add New Contact" rerender="pageId"/>
      <apex:commandButton action="{!insertAccountsContacts}" value="Insert All" />
      </apex:pageBlockButtons>

      <apex:pageBlockTable var="customAccount" value="{!mapIntVsAcc}" id="pageId">
      <apex:column ><h1>
      Account Name
      </h1> <apex:inputfield value="{!mapIntVsAcc[customAccount].Name}" /></apex:column>
      <apex:column > <apex:pageBlockTable value="{!mapIntVsConList[customAccount]}" var="cont" columns="6" >
      <apex:column ><h1>
      Contact Last Name
      </h1> <apex:inputfield value="{!cont.LastName}" /> </apex:column>
      <apex:column ><h1>
      Gender
      </h1> <apex:inputfield value="{!cont.Gender__c}" /> </apex:column>
      <apex:column > <h1>
      Start Date
      </h1> <apex:inputfield value="{!cont.Start_Date__c}" /> </apex:column>
      <apex:column ><h1>
      End Date
      </h1> <apex:inputfield value="{!cont.End_Date__c}" /> </apex:column>
      </apex:pageBlockTable></apex:column>
      </apex:pageBlockTable>

      </apex:pageBlock>
      </apex:form>
      </apex:page>

      Thanks.

    Log In to reply.

    • Public
    • All Members
    • My Connections
    • Only Me
    • Public
    • All Members
    • My Connections
    • Only Me
    • Public
    • All Members
    • My Connections
    • Only Me

    application solution

    Popular Salesforce Blogs

    Salesforce Skype URIs

    Skype URIs in Salesforce (One Click to Call or Chat on Skype)

    Blog in Salesforce customization

    In this post, i will put a way to implement Skype URIs in 5 Minute with salesforce. Skype is a popular way to chat or calls. We have…

    Customer Success, Skype in Salesforce, Skype URI
    0to1Code.Com Aug 31, 2017
    8,719  Views

    Sender Authentication Package (SAP) in Marketing Cloud: How to Use It to Improve Brand Awareness

    Blog in Others

    To increase the chances of your emails reaching their intended recipients, they should be authenticated, not just validated. Authentication is serious to Google and other…

    automation tools, Bulk Email, Business Growth, Business Intelligence, Business Intelligence Tools
    Twistellar Sep 3, 2024
    494  Views

    8 New Features of Salesforce Financial Services Cloud

    Blog in Salesforce Cloud Platform

    Salesforce has recently launched new features in Financial Services cloud to drive customer engagement across wealth management, banking, and insurance. Salesforce designed Financial Cloud Software to revolutionize…

    Customer Experiences, Customer Feedback, Customer Relationship Management, Dashboards in Salesforce, Einstein Analytics
    LevelShift (formerly DemandBlue) Dec 17, 2018
    4,871  Views

    Popular Salesforce Videos

    Revenue Sharing with Salesforce | Unlocking Profit Potential | Live Stream Highlights

    Revenue Sharing with Salesforce | Unlocking Profit Potential | Live Stream Highlights

    Video in Others

    This extract from our live webinar uncovered how this powerful platform can revolutionize your revenue generation and maximize your profits. Discover the untapped potential of…

    Salesforce Training, Salesforce Developer, salesforce, Salesforce Hulk, Salesforce Webinar
    Cyntexa Aug 31, 2023
    1,107  Views
    Generate the Multiple Contracts in Salesforce CPQ

    Generate the Multiple Contracts in Salesforce CPQ

    Video in Salesforce Products

    In this video, watch a demonstration of how to generate multiple contracts using a single quote record. Watch and learn. Do let us know in…

    Salesforce Training, Salesforce Tutorial, Salesforce CPQ, Salesforce Video, Salesforce Learning
    Jogender May 31, 2021
    5,555  Views
    Get the Most Out of Your Digital Adoption Efforts On Your Salesforce Community with GuideIn

    Get the Most Out of Your Digital Adoption Efforts On Your Salesforce Community with GuideIn

    Video in Salesforce Communities

    Navigating online communities can be tricky. GuideIn is a Salesforce-native, lightning-ready product from the house of Grazitti that enables you to maximize digital adoption in…

    Salesforce Training, Salesforce Tutorial, salesforce, Salesforce Community, Salesforce Learning
    Grazitti Jul 18, 2022
    2,354  Views
    Footer Forcetalks logo

    support@forcetalks.com

    • twitterx

    Quick Links

    Advertise with Us

    Salesforce® Articles

    Dreamforce 2023

    Top Salesforce® Bloggers 2023

    Top Salesforce Consultants

    Get Listed

    Company

    Contact Us

    About Us

    Privacy Policy

    Terms & Conditions

    InsightHub

    Salesforce Blogs

    Salesforce Videos

    Salesforce Groups

    Salesforce Jobs

    © 2026 - Forcetalks ● All Rights Reserved

    Salesforce® is a trademark of Salesforce® Inc. No claim is made to the exclusive right to use “Salesforce”. Any services offered within the Forcetalks website/app are not sponsored or endorsed by Salesforce®.

    Try AuditMyCRM - It is a Salesforce CRM Audit tool which comprehensively scans your Salesforce org and gives you the list of errors or warnings you need to take care of.
    We use cookies to enhance your browsing experience. Please see our privacy policy if you'd like more information on our use of cookies.