﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » StrataFrame Application Framework - V1 » Business Objects and Data Access (How do I?)  » Instead of a view - Is this possible or nonsense</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Sat, 30 May 2026 22:57:46 GMT</lastBuildDate><ttl>20</ttl><item><title>Instead of a view - Is this possible or nonsense</title><link>http://forum.strataframe.net/FindPost32871.aspx</link><description>Hi there,&lt;br/&gt;&lt;br/&gt;I wonder if something like this would work. I got a BO which maps one table and send a&lt;br/&gt;&lt;br/&gt;SQL-command like this&lt;br/&gt;&lt;br/&gt;&lt;span&gt;[code]&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span&gt;select table1.field1, table1.field2*table1 as somecalcfield, table2.anotherfield from table one left outer join table2 on.......&lt;br/&gt;&lt;br/&gt;&lt;/span&gt;&lt;span&gt;[/code]&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span&gt;I know, that I could easily get this by using a view and map it but for reasons of runtime-flexibility I would like to know if this field from table2 can be accessed through the BO which maps only table1. It would make some situations easy where I want to replace foxpro-code utilizing the create cursor-command.&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span&gt;Thanks in Advance&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span&gt;Thomas&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;</description><pubDate>Fri, 06 Feb 2015 10:26:46 GMT</pubDate><dc:creator>Thomas Holste</dc:creator></item><item><title>RE: Instead of a view - Is this possible or nonsense</title><link>http://forum.strataframe.net/FindPost32877.aspx</link><description>Hi Ben,&lt;br/&gt;&lt;br/&gt;thanks again for your help, &lt;br/&gt;&lt;br/&gt;Best regards&lt;br/&gt;&lt;br/&gt;Thomas</description><pubDate>Fri, 06 Feb 2015 10:26:46 GMT</pubDate><dc:creator>Thomas Holste</dc:creator></item><item><title>RE: Instead of a view - Is this possible or nonsense</title><link>http://forum.strataframe.net/FindPost32876.aspx</link><description>Nothing to be insecure about, Thomas :) &amp;nbsp;The BOs are used to save records as well as act as a client-side storage for data. &amp;nbsp;Since they have a DataTable that stores the data internally, they can have any structure you want. &amp;nbsp;&lt;br/&gt;&lt;br/&gt;&lt;div&gt;Also, you can add columns to the DataTables and still save BOs. &amp;nbsp;A business object has a list of the mapped columns from the table in the database, so when it saves, it will only try to save back the columns that are mapped and it will ignore the others.</description><pubDate>Fri, 06 Feb 2015 06:14:11 GMT</pubDate><dc:creator>StrataFrame Team</dc:creator></item><item><title>RE: Instead of a view - Is this possible or nonsense</title><link>http://forum.strataframe.net/FindPost32875.aspx</link><description>Hi Ben,&lt;br/&gt;&lt;br/&gt;thanks a lot for your help. Your example has taught me a fine way to to something similar to the Cursors I used a lot for statistics and reporting. I can now build a BO consisting of Data from different tables, enpty fields to fill later and calculated fields in one select-command. There is one assumption/question left: As I understand it, I can add data to the BO temporarily (not wanting to save anything) for the above mentioned reasons as Long as I do not issue a save-command and undo this in my form-closing-Event? I tried it and it seems to work but I am still a bit insecure.&lt;br/&gt;&lt;br/&gt;Best regards&lt;br/&gt;&lt;br/&gt;Thomas&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;</description><pubDate>Fri, 06 Feb 2015 04:05:01 GMT</pubDate><dc:creator>Thomas Holste</dc:creator></item><item><title>RE: Instead of a view - Is this possible or nonsense</title><link>http://forum.strataframe.net/FindPost32874.aspx</link><description>You would just copy one of the fields from the designer file on the business object like so:&lt;br/&gt;&lt;br/&gt;&lt;div&gt;Public Property FieldFromTable2 As String&lt;div&gt;&amp;nbsp; &amp;nbsp;Get&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Return DirectCast(Me.CurrentRow("FieldFromTable2"), String)&lt;div&gt;&amp;nbsp; &amp;nbsp;End Get&lt;div&gt;&amp;nbsp; &amp;nbsp;Set (value As String)&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; Me.CurrentRow("FieldFromTable2") = value&lt;div&gt;&amp;nbsp; &amp;nbsp;End Set&lt;div&gt;End Property&lt;br/&gt;&lt;br/&gt;&lt;div&gt;Whatever you put as the "FieldFromTable2" when accessing the CurrentRow indexer just needs to match the alias of the column in the results of the query.</description><pubDate>Thu, 05 Feb 2015 13:37:47 GMT</pubDate><dc:creator>StrataFrame Team</dc:creator></item><item><title>RE: Instead of a view - Is this possible or nonsense</title><link>http://forum.strataframe.net/FindPost32873.aspx</link><description>Hi Trent,&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt;thank you for your answer but how do I implenet accessing the field from the joined table. The query is already working but I do not see the field from table2.&amp;nbsp; I implemented a custom property but do not know how to fill ist with data?&lt;br/&gt;&lt;br/&gt;&lt;span&gt;[code]&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#2b91af" face="Consolas" size="2"&gt;&lt;font color="#2b91af" face="Consolas" size="2"&gt;&lt;font color="#2b91af" face="Consolas" size="2"&gt;Browsable&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;(&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;False&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;), _&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#2b91af" face="Consolas" size="2"&gt;&lt;font color="#2b91af" face="Consolas" size="2"&gt;&lt;font color="#2b91af" face="Consolas" size="2"&gt;BusinessFieldDisplayInEditor&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;(), _&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#2b91af" face="Consolas" size="2"&gt;&lt;font color="#2b91af" face="Consolas" size="2"&gt;&lt;font color="#2b91af" face="Consolas" size="2"&gt;Description&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;(&lt;/font&gt;&lt;/font&gt;&lt;font color="#a31515" face="Consolas" size="2"&gt;&lt;font color="#a31515" face="Consolas" size="2"&gt;&lt;font color="#a31515" face="Consolas" size="2"&gt;"Warengruppen-Bezeichnung"&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;), _&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#2b91af" face="Consolas" size="2"&gt;&lt;font color="#2b91af" face="Consolas" size="2"&gt;&lt;font color="#2b91af" face="Consolas" size="2"&gt;DesignerSerializationVisibility&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;(&lt;/font&gt;&lt;/font&gt;&lt;font color="#2b91af" face="Consolas" size="2"&gt;&lt;font color="#2b91af" face="Consolas" size="2"&gt;&lt;font color="#2b91af" face="Consolas" size="2"&gt;DesignerSerializationVisibility&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;.Hidden)&amp;gt; _&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;Public&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;ReadOnly&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;Property&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt; [FIELDFROMTABLE2]() &lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;As&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt; System.&lt;/font&gt;&lt;/font&gt;&lt;font color="#2b91af" face="Consolas" size="2"&gt;&lt;font color="#2b91af" face="Consolas" size="2"&gt;&lt;font color="#2b91af" face="Consolas" size="2"&gt;String&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;&lt;font color="#2b91af" face="Consolas" size="2"&gt;&lt;font color="#2b91af" face="Consolas" size="2"&gt;&lt;font color="#2b91af" face="Consolas" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;Get&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;Return&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt; ?????&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;Get&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;End&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Consolas" size="2"&gt;&lt;font face="Consolas" size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;&lt;font color="#0000ff" face="Consolas" size="2"&gt;Property&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;br/&gt;&lt;br/&gt;&lt;/span&gt;&lt;span&gt;[/code]&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span&gt;I do not know what to write in that return command?&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span&gt;Thanks a lot&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span&gt;Thomas&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span&gt;&lt;br/&gt;&lt;/span&gt;</description><pubDate>Thu, 05 Feb 2015 13:30:18 GMT</pubDate><dc:creator>Thomas Holste</dc:creator></item><item><title>RE: Instead of a view - Is this possible or nonsense</title><link>http://forum.strataframe.net/FindPost32872.aspx</link><description>Thomas:&lt;br/&gt;&lt;br/&gt;&lt;div&gt;You can most definitely access it and you can even create a custom property so that it is strong-typed in code, etc. &amp;nbsp;But you will not be able to write back to the table without code changes. &amp;nbsp;If you need the table to be updatable, then you will have to use a view. &amp;nbsp;If you are just bringing it in for client-side access, then you are good to go.</description><pubDate>Thu, 05 Feb 2015 11:49:01 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item></channel></rss>