You can add fields from InfoPath to custom lists in SPS using managed code.
One way is to use
http://<yourserver>/<yoursite>/_vti_bin/lists.asmx?op=UpdateListItemsWhat you will to do is simply create a batch XmlNode with the relevant items and either insert or update items in an existing list.
code sample:
string strBatch = "<Method ID='" + number + "' Cmd='New'>" +
"<Field Name='ID'>New</Field>" +
"<Field Name='Title'>" + equipmentText + "</Field>" +
"<Field Name='Equipment_x0020_Type'>" + typeText + "</Field>" +
"<Field Name='Recommendation'>" + recommendationText + "</Field>" +
"<Field Name='Area'>" + areaID + "</Field>" +
"</Method>";
XmlDocument xmlDoc = new System.Xml.XmlDocument();
System.Xml.XmlElement elBatch = xmlDoc.CreateElement("Batch");
elBatch.SetAttribute("OnError","Continue");
elBatch.InnerXml = strBatch;
//call webservice to create item
//replace areaEquipmentGuid with your own list GUID
XmlNode ndReturn = listService.UpdateListItems( areaEquipmentGuid.ToString(), elBatch );
the above code assumes an instantiated object "listService" of the above webservice (add web reference in VS.NET)
known problems:
the above will work for custom list items (announcements, tasks etc) but if you want to upload images, lists.asmx cant help you.
Here you will have to experiment with either Remote Procedure Calls (check FPRCP in SPPT SDK), create a Custom Web Service (recommended), webDAV or simply create a .NET WebRequest / HttpWebRequest.
also images are encoded with a special header, but fortunately Patrick's book on InfoPath has the solution on how to remove that ;-)
let me know if you need the code, since i took the liberty of translating Matthew Blain's code to C#
custom web services in SPPT
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odc_sp2003_ta/html/odc_writingcustomwebservicesforsppt.asp
HTH
//AndersR