Toggle Side Panel

  • Blogs
  • 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
  • Contact Us
  • Discussions
More options
    Sign in Sign up
    • Blogs
    • 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
    • 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 8 years, 1 month 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, 9 months ago by  Ajay Prakash.
    • [adinserter block='9']
    • 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

    Popular Salesforce Blogs

    Triggers in Salesforce - Learn All You Need to Know

    Blog in Salesforce Tutorial

    What is Apex Trigger? Apex Triggers are used to refer to triggers in Salesforce. These are different and are accessible for particular tasks such as…

    Apex Trigger, API calls, Before Trigger, Bulky Triggers, Cloud Computing
    MindMajix Jan 27, 2022
    6,524  Views
    Salesforce Marketing Cloud

    Journey Builder: Salesforce Marketing Cloud

    Blog in Others

    Salesforce Journey Builder:- It is a tool that empowers marketers to design and automate campaigns that guide customers through their journey with a brand. Following…

    Cloud Computing, Customer Success, Email Services in Salesforce, Event, Inbound Emails
    Rajan Mar 15, 2018
    8,974  Views
    Salesforce Integration with Google Calendar All You Need to Know

    Salesforce Integration with Google Calendar | All You Need to Know

    Blog in Salesforce

    Salesforce is a popular Customer Relationship Management (CRM) platform that businesses use to manage their sales, marketing, and customer support activities. Salesforce provides various integration…

    Authorization, Calendar Management, Callout, connected app, Content-Type
    NAVDITA DAHIYA Apr 20, 2023
    2,672  Views

    Popular Salesforce Videos

    Why Are Some of The World’s Biggest Brands Transitioning Towards Headless? | Salesforce

    Why Are Some of The World’s Biggest Brands Transitioning Towards Headless? | Salesforce

    Video in

    With the advancement of headless architecture, consumers can now enjoy an omnichannel shopping experience. But that's not all that headless commerce has to offer. Leading…

    Salesforce Training, Salesforce Tutorial, salesforce, Salesforce Webinar, Salesforce Learning
    Cyntexa Aug 31, 2022
    1,504  Views
    Export Data from Salesforce using Data Loader - Step by Step Process

    Export Data from Salesforce using Data Loader - Step by Step Process

    Video in Data, Salesforce Training

    In this video learn how to Export Data from Salesforce to CSV using Data Loader. You can install Data Loader on Windows or Mac. And…

    Salesforce Data Management, Salesforce Data Migration, Salesforce Data Loader, Data Management In Salesforce, Salesforce Data Types
    Jogender Feb 9, 2018
    2,497  Views
    How to Set Up Salesforce Customer Community

    How to Set Up Salesforce Customer Community

    Video in Others

    Step by Step Salesforce tutorial for quickly setting up a Customer Community with Customer Service (Napili) Template.

    Salesforce Developer, Salesforce Tutorial for Beginners, Salesforce Customer Community, Salesforce Licence, Salesforce Accounts Management
    deepti jain Feb 13, 2019
    2,753  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®.

    We use cookies to enhance your browsing experience. Please see our privacy policy if you'd like more information on our use of cookies.