title: How to use Crystal Reports without a tightly-linked DB connection?
body: <p>I'm learning to use Crystal Reports (with VB 2005).</p>
  
  <p>Most of what I've seen so far involves slurping data directly from a database, which is fine if that's all you want to display in the report.</p>
  
  <p>My DB has a lot of foreign keys, so the way I've tried to stay sane with presenting actual information in my app is to add extra members to my objects that contain strings (descriptions) of what the foreign keys represent.  Like:</p>
  
  <pre><code>Class AssetIdentifier
  
      Private ID_AssetIdentifier As Integer
      Private AssetID As Integer
      Private IdentifierTypeID As Integer
      Private IdentifierType As String
      Private IdentifierText As String
  
      ...
  </code></pre>
  
  <p>Here, IdentifierTypeID is a foreign key, and I look up the value in a different table and place it in IdentifierType.  That way I have the text description right in the object and I can carry it around with the other stuff.</p>
  
  <p>So, on to my Crystal Reports question.</p>
  
  <p>Crystal Reports seems to make it straightforward to hook up to records in a particular table (especially with the Experts), but that's all you get.</p>
  
  <p>Ideally, I'd like to make a list of my classes, like</p>
  
  <pre><code>Dim assetIdentifiers as New List(Of AssetIdentifier)
  </code></pre>
  
  <p>and pass that to a Crystal Report instead of doing a tight link to a particular DB, have most of the work done for me but leaving me to work around the part that it doesn't do.  The closest I can see so far is an ADO.NET dataset, but even that seems far removed.  I'm already handling queries myself fine:  I have all kinds of functions that return List(Of Whatever) based on queries.</p>
  
  <p>Is there an easy way to do this?</p>
  
  <p>Thanks in advance!</p>
  
  <p><strong>UPDATE:</strong>  OK, I found something here:</p>
  
  <p><a href="http://msdn.microsoft.com/en-us/library/ms227595(VS.80).aspx" rel="nofollow noreferrer">http://msdn.microsoft.com/en-us/library/ms227595(VS.80).aspx</a></p>
  
  <p>but it only appears to give this capability for web projects or web applications.  Am I out of luck if I want to integrate into a standalone application?</p>