FoxInCloud
progressive fetching feedback
Gravatar is a globally recognized avatar based on your email address. progressive fetching feedback
  Tuvia Vinitsky
  All
  Dec 6, 2015 @ 05:21am
So far it seems to work very well. To start I loaded a data set that before was bringing the system to its knees and I was able to page thru flawlessly.

I have discovered one small issue. If a view returns no records, it generates a record out of range error here twice:


Gravatar is a globally recognized avatar based on your email address. Re: progressive fetching feedback
  FoxInCloud Support - Thierry N.
  Tuvia Vinitsky
  Dec 7, 2015 @ 01:02am
Hi Tuvia,

We've added a sample 'Clear Combos Values' in http://foxincloud.com/tutotest/valuesDelayed.tuto

Here the cmdClear.click() code:

* thisForm.cmdClear as Ficcmd (of ficsample.vcx) as Commandbutton
* Source code read from "valuesdelayed.scx" and colorized at 12/07/2015 11:58:32 AM

PROCEDURE Click
if m.thisForm.wlHTMLgen && Added by FoxInCloud base classes Manager (source mode) on 11/28/14 18:19:21
local cJS as String

text to cJS textmerge noshow flags 1 pretext 3
$('<<this.Parent.ficcboJSvalue1.wcID>>').selectedIndex = 0;
comboValueCollect('<<this.Parent.ficcboJSvalue1.Name>>', $('<<this.Parent.ficcboJSvalue1.wcID>>').value);
$('<<this.Parent.ficcboJSvalue2.wcID>>').selectedIndex = 0;
comboValueCollect('<<this.Parent.ficcboJSvalue2.Name>>', $('<<this.Parent.ficcboJSvalue2.wcID>>').value);
$('<<this.Parent.ficcboJSvalue3.wcID>>').selectedIndex = 0;
comboValueCollect('<<this.Parent.ficcboJSvalue3.Name>>', $('<<this.Parent.ficcboJSvalue3.wcID>>').value);
endtext

return m.cJS
endif

store 1 to ;
this.Parent.ficcboJSvalue1.ListIndex;
, this.Parent.ficcboJSvalue2.ListIndex;
, this.Parent.ficcboJSvalue3.ListIndex;
ENDPROC


So far it seems to work very well. To start I loaded a data set that before was bringing the system to its knees and I was able to page thru flawlessly.

I have discovered one small issue. If a view returns no records, it generates a record out of range error here twice:


-- thn (FoxInCloud)

Gravatar is a globally recognized avatar based on your email address. Re: progressive fetching feedback
  FoxInCloud Support - Thierry N.
  Tuvia Vinitsky
  Dec 7, 2015 @ 01:04am
Thanks for this feedback, that's a very easy fix.

I hope Gilles (an others) will also provide feedback so that we can release a beta 2


So far it seems to work very well. To start I loaded a data set that before was bringing the system to its knees and I was able to page thru flawlessly.

I have discovered one small issue. If a view returns no records, it generates a record out of range error here twice:


-- thn (FoxInCloud)

Gravatar is a globally recognized avatar based on your email address. Re: progressive fetching feedback
  Tuvia Vinitsky
  Thierry Nivelet (FoxInCloud)
  Dec 7, 2015 @ 05:14am
I'm hoping today or tomorrow to load the entire data set of millions of records in numerous tables and play around, but so far with the 50,000 records I have it is the answer to the main stumbling block for sql server, especially with grids. Way to go.


Thanks for this feedback, that's a very easy fix.

I hope Gilles (an others) will also provide feedback so that we can release a beta 2


So far it seems to work very well. To start I loaded a data set that before was bringing the system to its knees and I was able to page thru flawlessly.

I have discovered one small issue. If a view returns no records, it generates a record out of range error here twice:


Gravatar is a globally recognized avatar based on your email address. Re: progressive fetching feedback
  Tuvia Vinitsky
  Thierry Nivelet (FoxInCloud)
  Dec 7, 2015 @ 07:47am
I note this has to be done at form level; at class level .wcid is not populated.


Hi Tuvia,

We've added a sample 'Clear Combos Values' in http://foxincloud.com/tutotest/valuesDelayed.tuto

Here the cmdClear.click() code:

* thisForm.cmdClear as Ficcmd (of ficsample.vcx) as Commandbutton
* Source code read from "valuesdelayed.scx" and colorized at 12/07/2015 11:58:32 AM

PROCEDURE Click
if m.thisForm.wlHTMLgen && Added by FoxInCloud base classes Manager (source mode) on 11/28/14 18:19:21
local cJS as String

text to cJS textmerge noshow flags 1 pretext 3
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
endtext

return m.cJS
endif

store 1 to ;
this.Parent.ficcboJSvalue1.ListIndex;
, this.Parent.ficcboJSvalue2.ListIndex;
, this.Parent.ficcboJSvalue3.ListIndex;
ENDPROC


So far it seems to work very well. To start I loaded a data set that before was bringing the system to its knees and I was able to page thru flawlessly.

I have discovered one small issue. If a view returns no records, it generates a record out of range error here twice:


Gravatar is a globally recognized avatar based on your email address. Re: progressive fetching feedback
  FoxInCloud Support - Thierry N.
  Tuvia Vinitsky
  Dec 7, 2015 @ 07:50am
the issue maybe that the commandbutton stands before the combos in the parent-child order and, thus, the combos.wcID are not set yet when cmd.click() generates
that's a known issue
workaround is to send command button to the foreground if possible


I note this has to be done at form level; at class level .wcid is not populated.


Hi Tuvia,

We've added a sample 'Clear Combos Values' in http://foxincloud.com/tutotest/valuesDelayed.tuto

Here the cmdClear.click() code:

* thisForm.cmdClear as Ficcmd (of ficsample.vcx) as Commandbutton
* Source code read from "valuesdelayed.scx" and colorized at 12/07/2015 11:58:32 AM

PROCEDURE Click
if m.thisForm.wlHTMLgen && Added by FoxInCloud base classes Manager (source mode) on 11/28/14 18:19:21
local cJS as String

text to cJS textmerge noshow flags 1 pretext 3
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
endtext

return m.cJS
endif

store 1 to ;
this.Parent.ficcboJSvalue1.ListIndex;
, this.Parent.ficcboJSvalue2.ListIndex;
, this.Parent.ficcboJSvalue3.ListIndex;
ENDPROC


So far it seems to work very well. To start I loaded a data set that before was bringing the system to its knees and I was able to page thru flawlessly.

I have discovered one small issue. If a view returns no records, it generates a record out of range error here twice:




-- thn (FoxInCloud)

Gravatar is a globally recognized avatar based on your email address. Re: progressive fetching feedback
  Tuvia Vinitsky
  Thierry Nivelet (FoxInCloud)
  Dec 7, 2015 @ 07:58am
Yep, I see that now. Command button and comboboxes are at the same level now, I will put the command button inside a container and see if that helps.


the issue maybe that the commandbutton stands before the combos in the parent-child order and, thus, the combos.wcID are not set yet when cmd.click() generates
that's a known issue
workaround is to send command button to the foreground if possible


I note this has to be done at form level; at class level .wcid is not populated.


Hi Tuvia,

We've added a sample 'Clear Combos Values' in http://foxincloud.com/tutotest/valuesDelayed.tuto

Here the cmdClear.click() code:

* thisForm.cmdClear as Ficcmd (of ficsample.vcx) as Commandbutton
* Source code read from "valuesdelayed.scx" and colorized at 12/07/2015 11:58:32 AM

PROCEDURE Click
if m.thisForm.wlHTMLgen && Added by FoxInCloud base classes Manager (source mode) on 11/28/14 18:19:21
local cJS as String

text to cJS textmerge noshow flags 1 pretext 3
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
endtext

return m.cJS
endif

store 1 to ;
this.Parent.ficcboJSvalue1.ListIndex;
, this.Parent.ficcboJSvalue2.ListIndex;
, this.Parent.ficcboJSvalue3.ListIndex;
ENDPROC


So far it seems to work very well. To start I loaded a data set that before was bringing the system to its knees and I was able to page thru flawlessly.

I have discovered one small issue. If a view returns no records, it generates a record out of range error here twice:




Gravatar is a globally recognized avatar based on your email address. Re: progressive fetching feedback
  FoxInCloud Support - Thierry N.
  Tuvia Vinitsky
  Dec 7, 2015 @ 08:03am
you can always use
$('<<wcID(this.Parent.ficcboJSvalue1)>>')

.wcID is calculated using wcID()


Yep, I see that now. Command button and comboboxes are at the same level now, I will put the command button inside a container and see if that helps.


the issue maybe that the commandbutton stands before the combos in the parent-child order and, thus, the combos.wcID are not set yet when cmd.click() generates
that's a known issue
workaround is to send command button to the foreground if possible


I note this has to be done at form level; at class level .wcid is not populated.


Hi Tuvia,

We've added a sample 'Clear Combos Values' in http://foxincloud.com/tutotest/valuesDelayed.tuto

Here the cmdClear.click() code:

* thisForm.cmdClear as Ficcmd (of ficsample.vcx) as Commandbutton
* Source code read from "valuesdelayed.scx" and colorized at 12/07/2015 11:58:32 AM

PROCEDURE Click
if m.thisForm.wlHTMLgen && Added by FoxInCloud base classes Manager (source mode) on 11/28/14 18:19:21
local cJS as String

text to cJS textmerge noshow flags 1 pretext 3
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
endtext

return m.cJS
endif

store 1 to ;
this.Parent.ficcboJSvalue1.ListIndex;
, this.Parent.ficcboJSvalue2.ListIndex;
, this.Parent.ficcboJSvalue3.ListIndex;
ENDPROC


So far it seems to work very well. To start I loaded a data set that before was bringing the system to its knees and I was able to page thru flawlessly.

I have discovered one small issue. If a view returns no records, it generates a record out of range error here twice:






-- thn (FoxInCloud)

Gravatar is a globally recognized avatar based on your email address. Re: progressive fetching feedback
  Tuvia Vinitsky
  Thierry Nivelet (FoxInCloud)
  Dec 7, 2015 @ 08:05am
Way better, thanks.


you can always use
$('')

.wcID is calculated using wcID()


Yep, I see that now. Command button and comboboxes are at the same level now, I will put the command button inside a container and see if that helps.


the issue maybe that the commandbutton stands before the combos in the parent-child order and, thus, the combos.wcID are not set yet when cmd.click() generates
that's a known issue
workaround is to send command button to the foreground if possible


I note this has to be done at form level; at class level .wcid is not populated.


Hi Tuvia,

We've added a sample 'Clear Combos Values' in http://foxincloud.com/tutotest/valuesDelayed.tuto

Here the cmdClear.click() code:

* thisForm.cmdClear as Ficcmd (of ficsample.vcx) as Commandbutton
* Source code read from "valuesdelayed.scx" and colorized at 12/07/2015 11:58:32 AM

PROCEDURE Click
if m.thisForm.wlHTMLgen && Added by FoxInCloud base classes Manager (source mode) on 11/28/14 18:19:21
local cJS as String

text to cJS textmerge noshow flags 1 pretext 3
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
endtext

return m.cJS
endif

store 1 to ;
this.Parent.ficcboJSvalue1.ListIndex;
, this.Parent.ficcboJSvalue2.ListIndex;
, this.Parent.ficcboJSvalue3.ListIndex;
ENDPROC


So far it seems to work very well. To start I loaded a data set that before was bringing the system to its knees and I was able to page thru flawlessly.

I have discovered one small issue. If a view returns no records, it generates a record out of range error here twice:






Gravatar is a globally recognized avatar based on your email address. Re: progressive fetching feedback
  Tuvia Vinitsky
  Thierry Nivelet (FoxInCloud)
  Dec 7, 2015 @ 08:12am
the .selectedIndex = 0 resets to the first choice on the select, not to the initial empty value.


you can always use
$('')

.wcID is calculated using wcID()


Yep, I see that now. Command button and comboboxes are at the same level now, I will put the command button inside a container and see if that helps.


the issue maybe that the commandbutton stands before the combos in the parent-child order and, thus, the combos.wcID are not set yet when cmd.click() generates
that's a known issue
workaround is to send command button to the foreground if possible


I note this has to be done at form level; at class level .wcid is not populated.


Hi Tuvia,

We've added a sample 'Clear Combos Values' in http://foxincloud.com/tutotest/valuesDelayed.tuto

Here the cmdClear.click() code:

* thisForm.cmdClear as Ficcmd (of ficsample.vcx) as Commandbutton
* Source code read from "valuesdelayed.scx" and colorized at 12/07/2015 11:58:32 AM

PROCEDURE Click
if m.thisForm.wlHTMLgen && Added by FoxInCloud base classes Manager (source mode) on 11/28/14 18:19:21
local cJS as String

text to cJS textmerge noshow flags 1 pretext 3
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
endtext

return m.cJS
endif

store 1 to ;
this.Parent.ficcboJSvalue1.ListIndex;
, this.Parent.ficcboJSvalue2.ListIndex;
, this.Parent.ficcboJSvalue3.ListIndex;
ENDPROC


So far it seems to work very well. To start I loaded a data set that before was bringing the system to its knees and I was able to page thru flawlessly.

I have discovered one small issue. If a view returns no records, it generates a record out of range error here twice:






Gravatar is a globally recognized avatar based on your email address. Re: progressive fetching feedback
  FoxInCloud Support - Thierry N.
  Tuvia Vinitsky
  Dec 7, 2015 @ 08:20am
any value should match an <option> in the <select>
also VFP adds a 'ghost' .List entry if .Value matches none of the values existing in .List


the .selectedIndex = 0 resets to the first choice on the select, not to the initial empty value.


you can always use
$('')

.wcID is calculated using wcID()


Yep, I see that now. Command button and comboboxes are at the same level now, I will put the command button inside a container and see if that helps.


the issue maybe that the commandbutton stands before the combos in the parent-child order and, thus, the combos.wcID are not set yet when cmd.click() generates
that's a known issue
workaround is to send command button to the foreground if possible


I note this has to be done at form level; at class level .wcid is not populated.


Hi Tuvia,

We've added a sample 'Clear Combos Values' in http://foxincloud.com/tutotest/valuesDelayed.tuto

Here the cmdClear.click() code:

* thisForm.cmdClear as Ficcmd (of ficsample.vcx) as Commandbutton
* Source code read from "valuesdelayed.scx" and colorized at 12/07/2015 11:58:32 AM

PROCEDURE Click
if m.thisForm.wlHTMLgen && Added by FoxInCloud base classes Manager (source mode) on 11/28/14 18:19:21
local cJS as String

text to cJS textmerge noshow flags 1 pretext 3
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
endtext

return m.cJS
endif

store 1 to ;
this.Parent.ficcboJSvalue1.ListIndex;
, this.Parent.ficcboJSvalue2.ListIndex;
, this.Parent.ficcboJSvalue3.ListIndex;
ENDPROC


So far it seems to work very well. To start I loaded a data set that before was bringing the system to its knees and I was able to page thru flawlessly.

I have discovered one small issue. If a view returns no records, it generates a record out of range error here twice:







Gravatar is a globally recognized avatar based on your email address. Re: progressive fetching feedback
  Tuvia Vinitsky
  Thierry Nivelet (FoxInCloud)
  Dec 7, 2015 @ 08:21am
With the progressive fetching, when I do a form.wViewsrequery('view1'), I get an error:

index or expression does not match an exisiting member of collection

The view is this, if it matters:

SELECT Tows.ID, Tows.GUIDKEY, Tows.cStockNumberCPD, Tows.cStatus,;
Tows.ccallername, Tows.cCallerPhone, Tows.ckey_location, Tows.ntow_miles,;
Tows.advanced_check, Tows.tcall_time, Tows.ttow_time,;
Tows.tassigned_time, Tows.ltow_assigned, Tows.cdeliver_to, Tows.nWard,;
Tows.npriority, Tows.fky_customer, Tows.fky_pound, Tows.nPoliceDistrict,;
Tows.fky_reason, Tows.fky_broker, Tows.fky_truck, Tows.fky_driver,;
Tows.fky_user, Tows.cReloTowType, Tows.lPoliceNotified, Tows.mnotes,;
Tows.lVINRequestSent,;
IIF(Tows.lvinrequestsent=1,'Yes','No') AS cvinrequest, Tows.nICCNum,;
Tows.nMilesEstimated, Tows.nMilesCharged, Tows.nMilesDriven,;
Tows.nInventory, Tows.nTowControlNumber, Tows.cTowType,;
Vehicle.Id AS vehicleid, Vehicle.fky_tow, Vehicle.cVIN, Vehicle.cMake,;
Vehicle.cModel, Vehicle.cColor, Vehicle.GUIDKEY, Vehicle.lInvHold,;
Vehicle.lIntHold, Vehicle.dCrushDate, Vehicle.cBodyStyle,;
Vehicle.cWeight, Vehicle.cVin6, Vehicle.lVINOverrider,;
Vehicle.lCurrentlyForSale, Vehicle.nSalesAmount, Vehicle.nDriverAmount,;
Vehicle.npostageamount, Vehicle.nMiscFees, Vehicle.nYear,;
Redemption.ID AS redeemid, Redemption.fky_vehicle,;
Redemption.mFeeNotes, Redemption.mPayNotes, Redemption.nStorageFees,;
Redemption.nTowFees, Redemption.tRedeemDate, Redemption.nAmountPaid,;
Redemption.cPaymentMethod, Auctions.id AS auctionid,;
Auctions.cAuctionType, Auctions.lAuctionOnline,;
Auctions.dAuctionDateTime, Auctions.GUIDKEY,;
Auctionresults.AuctionDealerFk, Auctionresults.nBidAmount,;
Auctionresults.AuctionFk, Auctionresults.id AS aucresultsid,;
Auctionresults.cResaleTitle, Auctionresults.cBuyer,;
Auctionresults.InvoiceFk, Auctionresults.VehicleFk,;
Towtruck.TruckNumber, Systemuser.cFirstName, Systemuser.cLastName,;
LTRIM(RTRIM(Systemuser.cfirstname))+' '+LTRIM(RTRIM(Systemuser.clastname)) AS centryuser,;
Vehicle.cLicense, Vehicle.cLicenseState, Towaddress.cAddress1,;
Towaddress.cCity, Towaddress.cState, Towaddress.cZipcode,;
Towaddress.fky_allowed, Towtruck.Id AS truckid,;
Systemuser.ID AS userid, Towaddress.Id AS towaddressid,;
Towreason.cReason, Towreason.lRevenueTow, Towreason.cDESCRIPTION,;
Towreason.ID AS towreasonid, Vehicle.lReleased, Vehicle.cReleaseNotes,;
Vehicle.lDisallowRelease, Vehicle.lAuctionDelivered,;
Redemption.lCashierPrinted, Pound.ShortName AS cpoundname,;
Pound.Id AS poundid, Towbroker.cName AS cbroker,;
Customer.BusinessName AS ccustomer, Towdriver.cFirstName,;
Towdriver.cLastName,;
RTRIM(LTRIM(Towdriver.cfirstname))+' '+LTRIM(RTRIM(Towdriver.clastname)) AS cdriver,;
Towaddress.fky_tow, Customer.ID;
FROM ;
{oj{oj{oj{oj{oj{oj{oj{oj{oj{oj{oj TOWS Tows ;
INNER JOIN vehicle Vehicle ;
ON Tows.ID = Vehicle.fky_tow ;
LEFT OUTER JOIN dbo.POUND Pound ;
ON Tows.fky_pound = Pound.Id} ;
LEFT OUTER JOIN dbo.CUSTOMER Customer ;
ON Tows.fky_customer = Customer.ID} ;
LEFT OUTER JOIN dbo.TOWBROKER Towbroker ;
ON Tows.fky_broker = Towbroker.Id} ;
LEFT OUTER JOIN dbo.TOWDRIVER Towdriver ;
ON Tows.fky_driver = Towdriver.Id} ;
LEFT OUTER JOIN dbo.TOWREASON Towreason ;
ON Tows.fky_reason = Towreason.ID} ;
LEFT OUTER JOIN dbo.TOWADDRESS Towaddress ;
ON Tows.ID = Towaddress.fky_tow} ;
LEFT OUTER JOIN dbo.SYSTEMUSER Systemuser ;
ON Tows.fky_user = Systemuser.ID} ;
LEFT OUTER JOIN dbo.TOWTRUCK Towtruck ;
ON Tows.fky_truck = Towtruck.Id} ;
LEFT OUTER JOIN dbo.AUCTIONRESULTS Auctionresults ;
ON Vehicle.Id = Auctionresults.VehicleFk} ;
LEFT OUTER JOIN dbo.AUCTIONS Auctions ;
ON Auctionresults.AuctionFk = Auctions.id} ;
LEFT OUTER JOIN redemption Redemption ;
ON Vehicle.Id = Redemption.fky_vehicle};
WHERE ( ( ( ( ( ( ( ( ( Tows.tcall_time > ( ?m.oTowapp.cArchiveDate );
AND ( ( ?m.oTowApp.filter_tows_type ) IS NULL;
OR ( ctowtype ) = ( ?m.oTowapp.filter_tows_type ) ) );
AND ( ( ?m.oTowApp.filter_tows_status ) IS NULL;
OR Tows.cStatus = ( ?m.oTowapp.filter_tows_status ) ) );
AND ( ( ?m.oTowApp.filter_tows_date ) IS NULL;
OR CAST(ttow_time AS DATE) = ( ?m.oTowapp.filter_tows_date ) ) );
AND ( ( ?m.oTowApp.filter_tows_customer ) IS NULL;
OR Tows.fky_customer = ( ?m.oTowapp.filter_tows_customer ) ) );
AND ( ( ?m.oTowApp.filter_tows_redeemed ) IS NULL;
OR ( lreleased ) = ( ?m.oTowapp.filter_tows_redeemed ) ) );
AND ( ( ?m.oTowApp.filter_tows_district ) IS NULL;
OR ( npolicedistrict ) = ( ?m.oTowapp.filter_tows_district ) ) );
AND ( ( ?m.oTowApp.filter_tows_ward ) IS NULL;
OR ( nward ) = ( ?m.oTowapp.filter_tows_ward ) ) );
AND ( ( ?m.oTowApp.filter_vehMake ) IS NULL;
OR Vehicle.cMake = ( ?m.oTowapp.filter_vehMake ) ) );
AND ( ( ?m.oTowapp.filter_vehModel ) IS NULL;
OR Vehicle.cModel = ( ?m.oTowApp.filter_vehModel ) ) );
AND ( ( ?m.oTowapp.filter_vehYear ) IS NULL;
OR Vehicle.nYear = ( ?m.oTowApp.filter_vehYear ) );
ORDER BY Tows.nTowControlNumber DESC

DBSetProp(ThisView,"View","SendUpdates",.T.)
DBSetProp(ThisView,"View","BatchUpdateCount",1)
DBSetProp(ThisView,"View","CompareMemo",.T.)
DBSetProp(ThisView,"View","FetchAsNeeded",.T.)
DBSetProp(ThisView,"View","FetchMemo",.T.)
DBSetProp(ThisView,"View","FetchSize",200)
DBSetProp(ThisView,"View","MaxRecords",-1)
DBSetProp(ThisView,"View","Prepared",.F.)
DBSetProp(ThisView,"View","ShareConnection",.F.)
DBSetProp(ThisView,"View","AllowSimultaneousFetch",.T.)
DBSetProp(ThisView,"View","UpdateType",1)
DBSetProp(ThisView,"View","UseMemoSize",255)
DBSetProp(ThisView,"View","Tables","TOWS,vehicle,redemption,dbo.AUCTIONS,dbo.AUCTIONRESULTS,dbo.TOWTRUCK,dbo.SYSTEMUSER,dbo.TOWADDRESS,dbo.TOWREASON")
DBSetProp(ThisView,"View","WhereType",2)

DBSetProp(ThisView+".id","Field","DataType","I")
DBSetProp(ThisView+".id","Field","UpdateName","TOWS.ID")
DBSetProp(ThisView+".id","Field","KeyField",.T.)
DBSetProp(ThisView+".id","Field","Updatable",.F.)

DBSetProp(ThisView+".guidkey","Field","DataType","C(36)")
DBSetProp(ThisView+".guidkey","Field","UpdateName","TOWS.GUIDKEY")
DBSetProp(ThisView+".guidkey","Field","KeyField",.F.)
DBSetProp(ThisView+".guidkey","Field","Updatable",.T.)

DBSetProp(ThisView+".cstocknumbercpd","Field","DataType","C(10)")
DBSetProp(ThisView+".cstocknumbercpd","Field","UpdateName","TOWS.cStockNumberCPD")
DBSetProp(ThisView+".cstocknumbercpd","Field","KeyField",.F.)
DBSetProp(ThisView+".cstocknumbercpd","Field","Updatable",.T.)

DBSetProp(ThisView+".cstatus","Field","DataType","C(25)")
DBSetProp(ThisView+".cstatus","Field","UpdateName","TOWS.cStatus")
DBSetProp(ThisView+".cstatus","Field","KeyField",.F.)
DBSetProp(ThisView+".cstatus","Field","Updatable",.T.)

DBSetProp(ThisView+".ccallername","Field","DataType","C(50)")
DBSetProp(ThisView+".ccallername","Field","UpdateName","TOWS.ccallername")
DBSetProp(ThisView+".ccallername","Field","KeyField",.F.)
DBSetProp(ThisView+".ccallername","Field","Updatable",.T.)

DBSetProp(ThisView+".ccallerphone","Field","DataType","C(20)")
DBSetProp(ThisView+".ccallerphone","Field","UpdateName","TOWS.cCallerPhone")
DBSetProp(ThisView+".ccallerphone","Field","KeyField",.F.)
DBSetProp(ThisView+".ccallerphone","Field","Updatable",.T.)

DBSetProp(ThisView+".ckey_location","Field","DataType","M")
DBSetProp(ThisView+".ckey_location","Field","UpdateName","TOWS.ckey_location")
DBSetProp(ThisView+".ckey_location","Field","KeyField",.F.)
DBSetProp(ThisView+".ckey_location","Field","Updatable",.T.)

DBSetProp(ThisView+".ntow_miles","Field","DataType","I")
DBSetProp(ThisView+".ntow_miles","Field","UpdateName","TOWS.ntow_miles")
DBSetProp(ThisView+".ntow_miles","Field","KeyField",.F.)
DBSetProp(ThisView+".ntow_miles","Field","Updatable",.T.)

DBSetProp(ThisView+".advanced_check","Field","DataType","L")
DBSetProp(ThisView+".advanced_check","Field","UpdateName","TOWS.advanced_check")
DBSetProp(ThisView+".advanced_check","Field","KeyField",.F.)
DBSetProp(ThisView+".advanced_check","Field","Updatable",.T.)

DBSetProp(ThisView+".tcall_time","Field","DataType","T")
DBSetProp(ThisView+".tcall_time","Field","UpdateName","TOWS.tcall_time")
DBSetProp(ThisView+".tcall_time","Field","KeyField",.F.)
DBSetProp(ThisView+".tcall_time","Field","Updatable",.T.)

DBSetProp(ThisView+".ttow_time","Field","DataType","T")
DBSetProp(ThisView+".ttow_time","Field","UpdateName","TOWS.ttow_time")
DBSetProp(ThisView+".ttow_time","Field","KeyField",.F.)
DBSetProp(ThisView+".ttow_time","Field","Updatable",.T.)

DBSetProp(ThisView+".tassigned_time","Field","DataType","T")
DBSetProp(ThisView+".tassigned_time","Field","UpdateName","TOWS.tassigned_time")
DBSetProp(ThisView+".tassigned_time","Field","KeyField",.F.)
DBSetProp(ThisView+".tassigned_time","Field","Updatable",.T.)

DBSetProp(ThisView+".ltow_assigned","Field","DataType","L")
DBSetProp(ThisView+".ltow_assigned","Field","UpdateName","TOWS.ltow_assigned")
DBSetProp(ThisView+".ltow_assigned","Field","KeyField",.F.)
DBSetProp(ThisView+".ltow_assigned","Field","Updatable",.T.)

DBSetProp(ThisView+".cdeliver_to","Field","DataType","M")
DBSetProp(ThisView+".cdeliver_to","Field","UpdateName","TOWS.cdeliver_to")
DBSetProp(ThisView+".cdeliver_to","Field","KeyField",.F.)
DBSetProp(ThisView+".cdeliver_to","Field","Updatable",.T.)

DBSetProp(ThisView+".nward","Field","DataType","I")
DBSetProp(ThisView+".nward","Field","UpdateName","TOWS.nWard")
DBSetProp(ThisView+".nward","Field","KeyField",.F.)
DBSetProp(ThisView+".nward","Field","Updatable",.T.)

DBSetProp(ThisView+".npriority","Field","DataType","I")
DBSetProp(ThisView+".npriority","Field","UpdateName","TOWS.npriority")
DBSetProp(ThisView+".npriority","Field","KeyField",.F.)
DBSetProp(ThisView+".npriority","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_customer","Field","DataType","I")
DBSetProp(ThisView+".fky_customer","Field","UpdateName","TOWS.fky_customer")
DBSetProp(ThisView+".fky_customer","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_customer","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_pound","Field","DataType","I")
DBSetProp(ThisView+".fky_pound","Field","UpdateName","TOWS.fky_pound")
DBSetProp(ThisView+".fky_pound","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_pound","Field","Updatable",.T.)

DBSetProp(ThisView+".npolicedistrict","Field","DataType","I")
DBSetProp(ThisView+".npolicedistrict","Field","UpdateName","TOWS.nPoliceDistrict")
DBSetProp(ThisView+".npolicedistrict","Field","KeyField",.F.)
DBSetProp(ThisView+".npolicedistrict","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_reason","Field","DataType","I")
DBSetProp(ThisView+".fky_reason","Field","UpdateName","TOWS.fky_reason")
DBSetProp(ThisView+".fky_reason","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_reason","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_broker","Field","DataType","I")
DBSetProp(ThisView+".fky_broker","Field","UpdateName","TOWS.fky_broker")
DBSetProp(ThisView+".fky_broker","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_broker","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_truck","Field","DataType","I")
DBSetProp(ThisView+".fky_truck","Field","UpdateName","TOWS.fky_truck")
DBSetProp(ThisView+".fky_truck","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_truck","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_driver","Field","DataType","I")
DBSetProp(ThisView+".fky_driver","Field","UpdateName","TOWS.fky_driver")
DBSetProp(ThisView+".fky_driver","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_driver","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_user","Field","DataType","I")
DBSetProp(ThisView+".fky_user","Field","UpdateName","TOWS.fky_user")
DBSetProp(ThisView+".fky_user","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_user","Field","Updatable",.T.)

DBSetProp(ThisView+".crelotowtype","Field","DataType","C(10)")
DBSetProp(ThisView+".crelotowtype","Field","UpdateName","TOWS.cReloTowType")
DBSetProp(ThisView+".crelotowtype","Field","KeyField",.F.)
DBSetProp(ThisView+".crelotowtype","Field","Updatable",.T.)

DBSetProp(ThisView+".lpolicenotified","Field","DataType","L")
DBSetProp(ThisView+".lpolicenotified","Field","UpdateName","TOWS.lPoliceNotified")
DBSetProp(ThisView+".lpolicenotified","Field","KeyField",.F.)
DBSetProp(ThisView+".lpolicenotified","Field","Updatable",.T.)

DBSetProp(ThisView+".mnotes","Field","DataType","M")
DBSetProp(ThisView+".mnotes","Field","UpdateName","TOWS.mnotes")
DBSetProp(ThisView+".mnotes","Field","KeyField",.F.)
DBSetProp(ThisView+".mnotes","Field","Updatable",.T.)

DBSetProp(ThisView+".lvinrequestsent","Field","DataType","L")
DBSetProp(ThisView+".lvinrequestsent","Field","UpdateName","TOWS.lVINRequestSent")
DBSetProp(ThisView+".lvinrequestsent","Field","KeyField",.F.)
DBSetProp(ThisView+".lvinrequestsent","Field","Updatable",.T.)

DBSetProp(ThisView+".cvinrequest","Field","DataType","C(3)")
DBSetProp(ThisView+".cvinrequest","Field","UpdateName","cVINRequest")
DBSetProp(ThisView+".cvinrequest","Field","KeyField",.F.)
DBSetProp(ThisView+".cvinrequest","Field","Updatable",.F.)

DBSetProp(ThisView+".niccnum","Field","DataType","C(20)")
DBSetProp(ThisView+".niccnum","Field","UpdateName","TOWS.nICCNum")
DBSetProp(ThisView+".niccnum","Field","KeyField",.F.)
DBSetProp(ThisView+".niccnum","Field","Updatable",.T.)

DBSetProp(ThisView+".nmilesestimated","Field","DataType","I")
DBSetProp(ThisView+".nmilesestimated","Field","UpdateName","TOWS.nMilesEstimated")
DBSetProp(ThisView+".nmilesestimated","Field","KeyField",.F.)
DBSetProp(ThisView+".nmilesestimated","Field","Updatable",.T.)

DBSetProp(ThisView+".nmilescharged","Field","DataType","I")
DBSetProp(ThisView+".nmilescharged","Field","UpdateName","TOWS.nMilesCharged")
DBSetProp(ThisView+".nmilescharged","Field","KeyField",.F.)
DBSetProp(ThisView+".nmilescharged","Field","Updatable",.T.)

DBSetProp(ThisView+".nmilesdriven","Field","DataType","I")
DBSetProp(ThisView+".nmilesdriven","Field","UpdateName","TOWS.nMilesDriven")
DBSetProp(ThisView+".nmilesdriven","Field","KeyField",.F.)
DBSetProp(ThisView+".nmilesdriven","Field","Updatable",.T.)

DBSetProp(ThisView+".ninventory","Field","DataType","I")
DBSetProp(ThisView+".ninventory","Field","UpdateName","TOWS.nInventory")
DBSetProp(ThisView+".ninventory","Field","KeyField",.F.)
DBSetProp(ThisView+".ninventory","Field","Updatable",.T.)

DBSetProp(ThisView+".ntowcontrolnumber","Field","DataType","I")
DBSetProp(ThisView+".ntowcontrolnumber","Field","UpdateName","TOWS.nTowControlNumber")
DBSetProp(ThisView+".ntowcontrolnumber","Field","KeyField",.F.)
DBSetProp(ThisView+".ntowcontrolnumber","Field","Updatable",.T.)

DBSetProp(ThisView+".ctowtype","Field","DataType","C(20)")
DBSetProp(ThisView+".ctowtype","Field","UpdateName","TOWS.cTowType")
DBSetProp(ThisView+".ctowtype","Field","KeyField",.F.)
DBSetProp(ThisView+".ctowtype","Field","Updatable",.T.)

DBSetProp(ThisView+".vehicleid","Field","Caption","VehicleID")
DBSetProp(ThisView+".vehicleid","Field","DataType","I")
DBSetProp(ThisView+".vehicleid","Field","UpdateName","vehicle.Id")
DBSetProp(ThisView+".vehicleid","Field","KeyField",.T.)
DBSetProp(ThisView+".vehicleid","Field","Updatable",.F.)

DBSetProp(ThisView+".fky_tow","Field","DataType","I")
DBSetProp(ThisView+".fky_tow","Field","UpdateName","vehicle.fky_tow")
DBSetProp(ThisView+".fky_tow","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_tow","Field","Updatable",.T.)

DBSetProp(ThisView+".cvin","Field","DataType","C(35)")
DBSetProp(ThisView+".cvin","Field","UpdateName","vehicle.cVIN")
DBSetProp(ThisView+".cvin","Field","KeyField",.F.)
DBSetProp(ThisView+".cvin","Field","Updatable",.T.)

DBSetProp(ThisView+".cmake","Field","DataType","C(20)")
DBSetProp(ThisView+".cmake","Field","UpdateName","vehicle.cMake")
DBSetProp(ThisView+".cmake","Field","KeyField",.F.)
DBSetProp(ThisView+".cmake","Field","Updatable",.T.)

DBSetProp(ThisView+".cmodel","Field","DataType","C(30)")
DBSetProp(ThisView+".cmodel","Field","UpdateName","vehicle.cModel")
DBSetProp(ThisView+".cmodel","Field","KeyField",.F.)
DBSetProp(ThisView+".cmodel","Field","Updatable",.T.)

DBSetProp(ThisView+".ccolor","Field","DataType","C(10)")
DBSetProp(ThisView+".ccolor","Field","UpdateName","vehicle.cColor")
DBSetProp(ThisView+".ccolor","Field","KeyField",.F.)
DBSetProp(ThisView+".ccolor","Field","Updatable",.T.)

DBSetProp(ThisView+".guidkey1","Field","DataType","C(36)")
DBSetProp(ThisView+".guidkey1","Field","UpdateName","vehicle.GUIDKEY")
DBSetProp(ThisView+".guidkey1","Field","KeyField",.F.)
DBSetProp(ThisView+".guidkey1","Field","Updatable",.T.)

DBSetProp(ThisView+".linvhold","Field","DataType","L")
DBSetProp(ThisView+".linvhold","Field","UpdateName","vehicle.lInvHold")
DBSetProp(ThisView+".linvhold","Field","KeyField",.F.)
DBSetProp(ThisView+".linvhold","Field","Updatable",.T.)

DBSetProp(ThisView+".linthold","Field","DataType","L")
DBSetProp(ThisView+".linthold","Field","UpdateName","vehicle.lIntHold")
DBSetProp(ThisView+".linthold","Field","KeyField",.F.)
DBSetProp(ThisView+".linthold","Field","Updatable",.T.)

DBSetProp(ThisView+".dcrushdate","Field","DataType","D")
DBSetProp(ThisView+".dcrushdate","Field","UpdateName","vehicle.dCrushDate")
DBSetProp(ThisView+".dcrushdate","Field","KeyField",.F.)
DBSetProp(ThisView+".dcrushdate","Field","Updatable",.T.)

DBSetProp(ThisView+".cbodystyle","Field","DataType","C(20)")
DBSetProp(ThisView+".cbodystyle","Field","UpdateName","vehicle.cBodyStyle")
DBSetProp(ThisView+".cbodystyle","Field","KeyField",.F.)
DBSetProp(ThisView+".cbodystyle","Field","Updatable",.T.)

DBSetProp(ThisView+".cweight","Field","DataType","C(10)")
DBSetProp(ThisView+".cweight","Field","UpdateName","vehicle.cWeight")
DBSetProp(ThisView+".cweight","Field","KeyField",.F.)
DBSetProp(ThisView+".cweight","Field","Updatable",.T.)

DBSetProp(ThisView+".cvin6","Field","DataType","C(6)")
DBSetProp(ThisView+".cvin6","Field","UpdateName","vehicle.cVin6")
DBSetProp(ThisView+".cvin6","Field","KeyField",.F.)
DBSetProp(ThisView+".cvin6","Field","Updatable",.T.)

DBSetProp(ThisView+".lvinoverrider","Field","DataType","I")
DBSetProp(ThisView+".lvinoverrider","Field","UpdateName","vehicle.lVINOverrider")
DBSetProp(ThisView+".lvinoverrider","Field","KeyField",.F.)
DBSetProp(ThisView+".lvinoverrider","Field","Updatable",.T.)

DBSetProp(ThisView+".lcurrentlyforsale","Field","DataType","L")
DBSetProp(ThisView+".lcurrentlyforsale","Field","UpdateName","vehicle.lCurrentlyForSale")
DBSetProp(ThisView+".lcurrentlyforsale","Field","KeyField",.F.)
DBSetProp(ThisView+".lcurrentlyforsale","Field","Updatable",.T.)

DBSetProp(ThisView+".nsalesamount","Field","DataType","Y")
DBSetProp(ThisView+".nsalesamount","Field","UpdateName","vehicle.nSalesAmount")
DBSetProp(ThisView+".nsalesamount","Field","KeyField",.F.)
DBSetProp(ThisView+".nsalesamount","Field","Updatable",.T.)

DBSetProp(ThisView+".ndriveramount","Field","DataType","Y")
DBSetProp(ThisView+".ndriveramount","Field","UpdateName","vehicle.nDriverAmount")
DBSetProp(ThisView+".ndriveramount","Field","KeyField",.F.)
DBSetProp(ThisView+".ndriveramount","Field","Updatable",.T.)

DBSetProp(ThisView+".npostageamount","Field","DataType","Y")
DBSetProp(ThisView+".npostageamount","Field","UpdateName","vehicle.npostageamount")
DBSetProp(ThisView+".npostageamount","Field","KeyField",.F.)
DBSetProp(ThisView+".npostageamount","Field","Updatable",.T.)

DBSetProp(ThisView+".nmiscfees","Field","DataType","Y")
DBSetProp(ThisView+".nmiscfees","Field","UpdateName","vehicle.nMiscFees")
DBSetProp(ThisView+".nmiscfees","Field","KeyField",.F.)
DBSetProp(ThisView+".nmiscfees","Field","Updatable",.T.)

DBSetProp(ThisView+".nyear","Field","DataType","I")
DBSetProp(ThisView+".nyear","Field","UpdateName","vehicle.nYear")
DBSetProp(ThisView+".nyear","Field","KeyField",.F.)
DBSetProp(ThisView+".nyear","Field","Updatable",.T.)

DBSetProp(ThisView+".redeemid","Field","DataType","I")
DBSetProp(ThisView+".redeemid","Field","UpdateName","redemption.ID")
DBSetProp(ThisView+".redeemid","Field","KeyField",.T.)
DBSetProp(ThisView+".redeemid","Field","Updatable",.F.)

DBSetProp(ThisView+".fky_vehicle","Field","DataType","I")
DBSetProp(ThisView+".fky_vehicle","Field","UpdateName","redemption.fky_vehicle")
DBSetProp(ThisView+".fky_vehicle","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_vehicle","Field","Updatable",.T.)

DBSetProp(ThisView+".mfeenotes","Field","DataType","M")
DBSetProp(ThisView+".mfeenotes","Field","UpdateName","redemption.mFeeNotes")
DBSetProp(ThisView+".mfeenotes","Field","KeyField",.F.)
DBSetProp(ThisView+".mfeenotes","Field","Updatable",.T.)

DBSetProp(ThisView+".mpaynotes","Field","DataType","M")
DBSetProp(ThisView+".mpaynotes","Field","UpdateName","redemption.mPayNotes")
DBSetProp(ThisView+".mpaynotes","Field","KeyField",.F.)
DBSetProp(ThisView+".mpaynotes","Field","Updatable",.T.)

DBSetProp(ThisView+".nstoragefees","Field","DataType","Y")
DBSetProp(ThisView+".nstoragefees","Field","UpdateName","redemption.nStorageFees")
DBSetProp(ThisView+".nstoragefees","Field","KeyField",.F.)
DBSetProp(ThisView+".nstoragefees","Field","Updatable",.T.)

DBSetProp(ThisView+".ntowfees","Field","DataType","Y")
DBSetProp(ThisView+".ntowfees","Field","UpdateName","redemption.nTowFees")
DBSetProp(ThisView+".ntowfees","Field","KeyField",.F.)
DBSetProp(ThisView+".ntowfees","Field","Updatable",.T.)

DBSetProp(ThisView+".tredeemdate","Field","DataType","T")
DBSetProp(ThisView+".tredeemdate","Field","UpdateName","redemption.tRedeemDate")
DBSetProp(ThisView+".tredeemdate","Field","KeyField",.F.)
DBSetProp(ThisView+".tredeemdate","Field","Updatable",.T.)

DBSetProp(ThisView+".namountpaid","Field","DataType","Y")
DBSetProp(ThisView+".namountpaid","Field","UpdateName","redemption.nAmountPaid")
DBSetProp(ThisView+".namountpaid","Field","KeyField",.F.)
DBSetProp(ThisView+".namountpaid","Field","Updatable",.T.)

DBSetProp(ThisView+".cpaymentmethod","Field","DataType","C(10)")
DBSetProp(ThisView+".cpaymentmethod","Field","UpdateName","redemption.cPaymentMethod")
DBSetProp(ThisView+".cpaymentmethod","Field","KeyField",.F.)
DBSetProp(ThisView+".cpaymentmethod","Field","Updatable",.T.)

DBSetProp(ThisView+".auctionid","Field","DataType","I")
DBSetProp(ThisView+".auctionid","Field","UpdateName","dbo.AUCTIONS.id")
DBSetProp(ThisView+".auctionid","Field","KeyField",.T.)
DBSetProp(ThisView+".auctionid","Field","Updatable",.F.)

DBSetProp(ThisView+".cauctiontype","Field","DataType","C(40)")
DBSetProp(ThisView+".cauctiontype","Field","UpdateName","dbo.AUCTIONS.cAuctionType")
DBSetProp(ThisView+".cauctiontype","Field","KeyField",.F.)
DBSetProp(ThisView+".cauctiontype","Field","Updatable",.T.)

DBSetProp(ThisView+".lauctiononline","Field","DataType","L")
DBSetProp(ThisView+".lauctiononline","Field","UpdateName","dbo.AUCTIONS.lAuctionOnline")
DBSetProp(ThisView+".lauctiononline","Field","KeyField",.F.)
DBSetProp(ThisView+".lauctiononline","Field","Updatable",.T.)

DBSetProp(ThisView+".dauctiondatetime","Field","DataType","T")
DBSetProp(ThisView+".dauctiondatetime","Field","UpdateName","dbo.AUCTIONS.dAuctionDateTime")
DBSetProp(ThisView+".dauctiondatetime","Field","KeyField",.F.)
DBSetProp(ThisView+".dauctiondatetime","Field","Updatable",.T.)

DBSetProp(ThisView+".guidkey2","Field","DataType","C(36)")
DBSetProp(ThisView+".guidkey2","Field","UpdateName","dbo.AUCTIONS.GUIDKEY")
DBSetProp(ThisView+".guidkey2","Field","KeyField",.F.)
DBSetProp(ThisView+".guidkey2","Field","Updatable",.T.)

DBSetProp(ThisView+".auctiondealerfk","Field","DataType","I")
DBSetProp(ThisView+".auctiondealerfk","Field","UpdateName","dbo.AUCTIONRESULTS.AuctionDealerFk")
DBSetProp(ThisView+".auctiondealerfk","Field","KeyField",.F.)
DBSetProp(ThisView+".auctiondealerfk","Field","Updatable",.T.)

DBSetProp(ThisView+".nbidamount","Field","DataType","Y")
DBSetProp(ThisView+".nbidamount","Field","UpdateName","dbo.AUCTIONRESULTS.nBidAmount")
DBSetProp(ThisView+".nbidamount","Field","KeyField",.F.)
DBSetProp(ThisView+".nbidamount","Field","Updatable",.T.)

DBSetProp(ThisView+".auctionfk","Field","DataType","I")
DBSetProp(ThisView+".auctionfk","Field","UpdateName","dbo.AUCTIONRESULTS.AuctionFk")
DBSetProp(ThisView+".auctionfk","Field","KeyField",.F.)
DBSetProp(ThisView+".auctionfk","Field","Updatable",.T.)

DBSetProp(ThisView+".aucresultsid","Field","DataType","I")
DBSetProp(ThisView+".aucresultsid","Field","UpdateName","dbo.AUCTIONRESULTS.id")
DBSetProp(ThisView+".aucresultsid","Field","KeyField",.T.)
DBSetProp(ThisView+".aucresultsid","Field","Updatable",.F.)

DBSetProp(ThisView+".cresaletitle","Field","DataType","C(35)")
DBSetProp(ThisView+".cresaletitle","Field","UpdateName","dbo.AUCTIONRESULTS.cResaleTitle")
DBSetProp(ThisView+".cresaletitle","Field","KeyField",.F.)
DBSetProp(ThisView+".cresaletitle","Field","Updatable",.T.)

DBSetProp(ThisView+".cbuyer","Field","DataType","C(60)")
DBSetProp(ThisView+".cbuyer","Field","UpdateName","dbo.AUCTIONRESULTS.cBuyer")
DBSetProp(ThisView+".cbuyer","Field","KeyField",.F.)
DBSetProp(ThisView+".cbuyer","Field","Updatable",.T.)

DBSetProp(ThisView+".invoicefk","Field","DataType","C(36)")
DBSetProp(ThisView+".invoicefk","Field","UpdateName","dbo.AUCTIONRESULTS.InvoiceFk")
DBSetProp(ThisView+".invoicefk","Field","KeyField",.F.)
DBSetProp(ThisView+".invoicefk","Field","Updatable",.T.)

DBSetProp(ThisView+".vehiclefk","Field","DataType","I")
DBSetProp(ThisView+".vehiclefk","Field","UpdateName","dbo.AUCTIONRESULTS.VehicleFk")
DBSetProp(ThisView+".vehiclefk","Field","KeyField",.F.)
DBSetProp(ThisView+".vehiclefk","Field","Updatable",.T.)

DBSetProp(ThisView+".trucknumber","Field","DataType","C(25)")
DBSetProp(ThisView+".trucknumber","Field","UpdateName","dbo.TOWTRUCK.TruckNumber")
DBSetProp(ThisView+".trucknumber","Field","KeyField",.F.)
DBSetProp(ThisView+".trucknumber","Field","Updatable",.T.)

DBSetProp(ThisView+".cfirstname","Field","DataType","C(30)")
DBSetProp(ThisView+".cfirstname","Field","UpdateName","dbo.SYSTEMUSER.cFirstName")
DBSetProp(ThisView+".cfirstname","Field","KeyField",.F.)
DBSetProp(ThisView+".cfirstname","Field","Updatable",.T.)

DBSetProp(ThisView+".clastname","Field","DataType","C(30)")
DBSetProp(ThisView+".clastname","Field","UpdateName","dbo.SYSTEMUSER.cLastName")
DBSetProp(ThisView+".clastname","Field","KeyField",.F.)
DBSetProp(ThisView+".clastname","Field","Updatable",.T.)

DBSetProp(ThisView+".centryuser","Field","DataType","C(61)")
DBSetProp(ThisView+".centryuser","Field","UpdateName","cEntryUser")
DBSetProp(ThisView+".centryuser","Field","KeyField",.F.)
DBSetProp(ThisView+".centryuser","Field","Updatable",.F.)

DBSetProp(ThisView+".clicense","Field","DataType","C(15)")
DBSetProp(ThisView+".clicense","Field","UpdateName","vehicle.cLicense")
DBSetProp(ThisView+".clicense","Field","KeyField",.F.)
DBSetProp(ThisView+".clicense","Field","Updatable",.T.)

DBSetProp(ThisView+".clicensestate","Field","DataType","C(2)")
DBSetProp(ThisView+".clicensestate","Field","UpdateName","vehicle.cLicenseState")
DBSetProp(ThisView+".clicensestate","Field","KeyField",.F.)
DBSetProp(ThisView+".clicensestate","Field","Updatable",.T.)

DBSetProp(ThisView+".caddress1","Field","DataType","C(45)")
DBSetProp(ThisView+".caddress1","Field","UpdateName","dbo.TOWADDRESS.cAddress1")
DBSetProp(ThisView+".caddress1","Field","KeyField",.F.)
DBSetProp(ThisView+".caddress1","Field","Updatable",.T.)

DBSetProp(ThisView+".ccity","Field","DataType","C(35)")
DBSetProp(ThisView+".ccity","Field","UpdateName","dbo.TOWADDRESS.cCity")
DBSetProp(ThisView+".ccity","Field","KeyField",.F.)
DBSetProp(ThisView+".ccity","Field","Updatable",.T.)

DBSetProp(ThisView+".cstate","Field","DataType","C(2)")
DBSetProp(ThisView+".cstate","Field","UpdateName","dbo.TOWADDRESS.cState")
DBSetProp(ThisView+".cstate","Field","KeyField",.F.)
DBSetProp(ThisView+".cstate","Field","Updatable",.T.)

DBSetProp(ThisView+".czipcode","Field","DataType","C(5)")
DBSetProp(ThisView+".czipcode","Field","UpdateName","dbo.TOWADDRESS.cZipcode")
DBSetProp(ThisView+".czipcode","Field","KeyField",.F.)
DBSetProp(ThisView+".czipcode","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_allowed","Field","DataType","I")
DBSetProp(ThisView+".fky_allowed","Field","UpdateName","dbo.TOWADDRESS.fky_allowed")
DBSetProp(ThisView+".fky_allowed","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_allowed","Field","Updatable",.T.)

DBSetProp(ThisView+".truckid","Field","DataType","I")
DBSetProp(ThisView+".truckid","Field","UpdateName","dbo.TOWTRUCK.Id")
DBSetProp(ThisView+".truckid","Field","KeyField",.T.)
DBSetProp(ThisView+".truckid","Field","Updatable",.F.)

DBSetProp(ThisView+".userid","Field","DataType","I")
DBSetProp(ThisView+".userid","Field","UpdateName","dbo.SYSTEMUSER.ID")
DBSetProp(ThisView+".userid","Field","KeyField",.T.)
DBSetProp(ThisView+".userid","Field","Updatable",.F.)

DBSetProp(ThisView+".towaddressid","Field","DataType","I")
DBSetProp(ThisView+".towaddressid","Field","UpdateName","dbo.TOWADDRESS.Id")
DBSetProp(ThisView+".towaddressid","Field","KeyField",.T.)
DBSetProp(ThisView+".towaddressid","Field","Updatable",.F.)

DBSetProp(ThisView+".creason","Field","DataType","C(25)")
DBSetProp(ThisView+".creason","Field","UpdateName","dbo.TOWREASON.cReason")
DBSetProp(ThisView+".creason","Field","KeyField",.F.)
DBSetProp(ThisView+".creason","Field","Updatable",.T.)

DBSetProp(ThisView+".lrevenuetow","Field","DataType","L")
DBSetProp(ThisView+".lrevenuetow","Field","UpdateName","dbo.TOWREASON.lRevenueTow")
DBSetProp(ThisView+".lrevenuetow","Field","KeyField",.F.)
DBSetProp(ThisView+".lrevenuetow","Field","Updatable",.T.)

DBSetProp(ThisView+".cdescription","Field","DataType","C(45)")
DBSetProp(ThisView+".cdescription","Field","UpdateName","dbo.TOWREASON.cDESCRIPTION")
DBSetProp(ThisView+".cdescription","Field","KeyField",.F.)
DBSetProp(ThisView+".cdescription","Field","Updatable",.T.)

DBSetProp(ThisView+".towreasonid","Field","DataType","I")
DBSetProp(ThisView+".towreasonid","Field","UpdateName","dbo.TOWREASON.ID")
DBSetProp(ThisView+".towreasonid","Field","KeyField",.T.)
DBSetProp(ThisView+".towreasonid","Field","Updatable",.F.)

DBSetProp(ThisView+".lreleased","Field","DataType","L")
DBSetProp(ThisView+".lreleased","Field","UpdateName","vehicle.lReleased")
DBSetProp(ThisView+".lreleased","Field","KeyField",.F.)
DBSetProp(ThisView+".lreleased","Field","Updatable",.T.)

DBSetProp(ThisView+".creleasenotes","Field","DataType","V(1)")
DBSetProp(ThisView+".creleasenotes","Field","UpdateName","vehicle.cReleaseNotes")
DBSetProp(ThisView+".creleasenotes","Field","KeyField",.F.)
DBSetProp(ThisView+".creleasenotes","Field","Updatable",.T.)

DBSetProp(ThisView+".ldisallowrelease","Field","DataType","L")
DBSetProp(ThisView+".ldisallowrelease","Field","UpdateName","vehicle.lDisallowRelease")
DBSetProp(ThisView+".ldisallowrelease","Field","KeyField",.F.)
DBSetProp(ThisView+".ldisallowrelease","Field","Updatable",.T.)

DBSetProp(ThisView+".lauctiondelivered","Field","DataType","L")
DBSetProp(ThisView+".lauctiondelivered","Field","UpdateName","vehicle.lAuctionDelivered")
DBSetProp(ThisView+".lauctiondelivered","Field","KeyField",.F.)
DBSetProp(ThisView+".lauctiondelivered","Field","Updatable",.T.)

DBSetProp(ThisView+".lcashierprinted","Field","DataType","L")
DBSetProp(ThisView+".lcashierprinted","Field","UpdateName","redemption.lCashierPrinted")
DBSetProp(ThisView+".lcashierprinted","Field","KeyField",.F.)
DBSetProp(ThisView+".lcashierprinted","Field","Updatable",.F.)

DBSetProp(ThisView+".cpoundname","Field","DataType","C(25)")
DBSetProp(ThisView+".cpoundname","Field","UpdateName","dbo.POUND.ShortName")
DBSetProp(ThisView+".cpoundname","Field","KeyField",.F.)
DBSetProp(ThisView+".cpoundname","Field","Updatable",.F.)

DBSetProp(ThisView+".poundid","Field","DataType","I")
DBSetProp(ThisView+".poundid","Field","UpdateName","dbo.POUND.Id")
DBSetProp(ThisView+".poundid","Field","KeyField",.T.)
DBSetProp(ThisView+".poundid","Field","Updatable",.F.)

DBSetProp(ThisView+".cbroker","Field","DataType","C(60)")
DBSetProp(ThisView+".cbroker","Field","UpdateName","dbo.TOWBROKER.cName")
DBSetProp(ThisView+".cbroker","Field","KeyField",.F.)
DBSetProp(ThisView+".cbroker","Field","Updatable",.F.)

DBSetProp(ThisView+".ccustomer","Field","DataType","C(60)")
DBSetProp(ThisView+".ccustomer","Field","UpdateName","dbo.CUSTOMER.BusinessName")
DBSetProp(ThisView+".ccustomer","Field","KeyField",.F.)
DBSetProp(ThisView+".ccustomer","Field","Updatable",.F.)

DBSetProp(ThisView+".cfirstname1","Field","DataType","C(45)")
DBSetProp(ThisView+".cfirstname1","Field","UpdateName","dbo.TOWDRIVER.cFirstName")
DBSetProp(ThisView+".cfirstname1","Field","KeyField",.F.)
DBSetProp(ThisView+".cfirstname1","Field","Updatable",.F.)

DBSetProp(ThisView+".clastname1","Field","DataType","C(45)")
DBSetProp(ThisView+".clastname1","Field","UpdateName","dbo.TOWDRIVER.cLastName")
DBSetProp(ThisView+".clastname1","Field","KeyField",.F.)
DBSetProp(ThisView+".clastname1","Field","Updatable",.F.)

DBSetProp(ThisView+".cdriver","Field","DataType","C(91)")
DBSetProp(ThisView+".cdriver","Field","UpdateName","cDriver")
DBSetProp(ThisView+".cdriver","Field","KeyField",.F.)
DBSetProp(ThisView+".cdriver","Field","Updatable",.F.)

DBSetProp(ThisView+".fky_tow1","Field","DataType","I")
DBSetProp(ThisView+".fky_tow1","Field","UpdateName","dbo.TOWADDRESS.fky_tow")
DBSetProp(ThisView+".fky_tow1","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_tow1","Field","Updatable",.F.)

DBSetProp(ThisView+".id1","Field","DataType","I")
DBSetProp(ThisView+".id1","Field","UpdateName","dbo.CUSTOMER.ID")
DBSetProp(ThisView+".id1","Field","KeyField",.T.)
DBSetProp(ThisView+".id1","Field","Updatable",.F.)


Thanks for this feedback, that's a very easy fix.

I hope Gilles (an others) will also provide feedback so that we can release a beta 2


So far it seems to work very well. To start I loaded a data set that before was bringing the system to its knees and I was able to page thru flawlessly.

I have discovered one small issue. If a view returns no records, it generates a record out of range error here twice:


Gravatar is a globally recognized avatar based on your email address. Re: progressive fetching feedback
  Tuvia Vinitsky
  Thierry Nivelet (FoxInCloud)
  Dec 7, 2015 @ 08:24am
Little confused. Initially somehow the value is set to an empty string, although an empty string is not one of the <option> in the <select>. Once I choose one of the <option>, how can I get back to the state of that original empty string? Am I going to have to add an empty string <option> to every <select>?


any value should match an <option> in the <select>
also VFP adds a 'ghost' .List entry if .Value matches none of the values existing in .List


the .selectedIndex = 0 resets to the first choice on the select, not to the initial empty value.


you can always use
$('')

.wcID is calculated using wcID()


Yep, I see that now. Command button and comboboxes are at the same level now, I will put the command button inside a container and see if that helps.


the issue maybe that the commandbutton stands before the combos in the parent-child order and, thus, the combos.wcID are not set yet when cmd.click() generates
that's a known issue
workaround is to send command button to the foreground if possible


I note this has to be done at form level; at class level .wcid is not populated.


Hi Tuvia,

We've added a sample 'Clear Combos Values' in http://foxincloud.com/tutotest/valuesDelayed.tuto

Here the cmdClear.click() code:

* thisForm.cmdClear as Ficcmd (of ficsample.vcx) as Commandbutton
* Source code read from "valuesdelayed.scx" and colorized at 12/07/2015 11:58:32 AM

PROCEDURE Click
if m.thisForm.wlHTMLgen && Added by FoxInCloud base classes Manager (source mode) on 11/28/14 18:19:21
local cJS as String

text to cJS textmerge noshow flags 1 pretext 3
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
endtext

return m.cJS
endif

store 1 to ;
this.Parent.ficcboJSvalue1.ListIndex;
, this.Parent.ficcboJSvalue2.ListIndex;
, this.Parent.ficcboJSvalue3.ListIndex;
ENDPROC


So far it seems to work very well. To start I loaded a data set that before was bringing the system to its knees and I was able to page thru flawlessly.

I have discovered one small issue. If a view returns no records, it generates a record out of range error here twice:








Gravatar is a globally recognized avatar based on your email address. Re: progressive fetching feedback
  FoxInCloud Support - Thierry N.
  Tuvia Vinitsky
  Dec 7, 2015 @ 08:24am
strange, did your code USE vTowsAdditional before?


With the progressive fetching, when I do a form.wViewsrequery('view1'), I get an error:

index or expression does not match an exisiting member of collection

The view is this, if it matters:

SELECT Tows.ID, Tows.GUIDKEY, Tows.cStockNumberCPD, Tows.cStatus,;
Tows.ccallername, Tows.cCallerPhone, Tows.ckey_location, Tows.ntow_miles,;
Tows.advanced_check, Tows.tcall_time, Tows.ttow_time,;
Tows.tassigned_time, Tows.ltow_assigned, Tows.cdeliver_to, Tows.nWard,;
Tows.npriority, Tows.fky_customer, Tows.fky_pound, Tows.nPoliceDistrict,;
Tows.fky_reason, Tows.fky_broker, Tows.fky_truck, Tows.fky_driver,;
Tows.fky_user, Tows.cReloTowType, Tows.lPoliceNotified, Tows.mnotes,;
Tows.lVINRequestSent,;
IIF(Tows.lvinrequestsent=1,'Yes','No') AS cvinrequest, Tows.nICCNum,;
Tows.nMilesEstimated, Tows.nMilesCharged, Tows.nMilesDriven,;
Tows.nInventory, Tows.nTowControlNumber, Tows.cTowType,;
Vehicle.Id AS vehicleid, Vehicle.fky_tow, Vehicle.cVIN, Vehicle.cMake,;
Vehicle.cModel, Vehicle.cColor, Vehicle.GUIDKEY, Vehicle.lInvHold,;
Vehicle.lIntHold, Vehicle.dCrushDate, Vehicle.cBodyStyle,;
Vehicle.cWeight, Vehicle.cVin6, Vehicle.lVINOverrider,;
Vehicle.lCurrentlyForSale, Vehicle.nSalesAmount, Vehicle.nDriverAmount,;
Vehicle.npostageamount, Vehicle.nMiscFees, Vehicle.nYear,;
Redemption.ID AS redeemid, Redemption.fky_vehicle,;
Redemption.mFeeNotes, Redemption.mPayNotes, Redemption.nStorageFees,;
Redemption.nTowFees, Redemption.tRedeemDate, Redemption.nAmountPaid,;
Redemption.cPaymentMethod, Auctions.id AS auctionid,;
Auctions.cAuctionType, Auctions.lAuctionOnline,;
Auctions.dAuctionDateTime, Auctions.GUIDKEY,;
Auctionresults.AuctionDealerFk, Auctionresults.nBidAmount,;
Auctionresults.AuctionFk, Auctionresults.id AS aucresultsid,;
Auctionresults.cResaleTitle, Auctionresults.cBuyer,;
Auctionresults.InvoiceFk, Auctionresults.VehicleFk,;
Towtruck.TruckNumber, Systemuser.cFirstName, Systemuser.cLastName,;
LTRIM(RTRIM(Systemuser.cfirstname))+' '+LTRIM(RTRIM(Systemuser.clastname)) AS centryuser,;
Vehicle.cLicense, Vehicle.cLicenseState, Towaddress.cAddress1,;
Towaddress.cCity, Towaddress.cState, Towaddress.cZipcode,;
Towaddress.fky_allowed, Towtruck.Id AS truckid,;
Systemuser.ID AS userid, Towaddress.Id AS towaddressid,;
Towreason.cReason, Towreason.lRevenueTow, Towreason.cDESCRIPTION,;
Towreason.ID AS towreasonid, Vehicle.lReleased, Vehicle.cReleaseNotes,;
Vehicle.lDisallowRelease, Vehicle.lAuctionDelivered,;
Redemption.lCashierPrinted, Pound.ShortName AS cpoundname,;
Pound.Id AS poundid, Towbroker.cName AS cbroker,;
Customer.BusinessName AS ccustomer, Towdriver.cFirstName,;
Towdriver.cLastName,;
RTRIM(LTRIM(Towdriver.cfirstname))+' '+LTRIM(RTRIM(Towdriver.clastname)) AS cdriver,;
Towaddress.fky_tow, Customer.ID;
FROM ;
{oj{oj{oj{oj{oj{oj{oj{oj{oj{oj{oj TOWS Tows ;
INNER JOIN vehicle Vehicle ;
ON Tows.ID = Vehicle.fky_tow ;
LEFT OUTER JOIN dbo.POUND Pound ;
ON Tows.fky_pound = Pound.Id} ;
LEFT OUTER JOIN dbo.CUSTOMER Customer ;
ON Tows.fky_customer = Customer.ID} ;
LEFT OUTER JOIN dbo.TOWBROKER Towbroker ;
ON Tows.fky_broker = Towbroker.Id} ;
LEFT OUTER JOIN dbo.TOWDRIVER Towdriver ;
ON Tows.fky_driver = Towdriver.Id} ;
LEFT OUTER JOIN dbo.TOWREASON Towreason ;
ON Tows.fky_reason = Towreason.ID} ;
LEFT OUTER JOIN dbo.TOWADDRESS Towaddress ;
ON Tows.ID = Towaddress.fky_tow} ;
LEFT OUTER JOIN dbo.SYSTEMUSER Systemuser ;
ON Tows.fky_user = Systemuser.ID} ;
LEFT OUTER JOIN dbo.TOWTRUCK Towtruck ;
ON Tows.fky_truck = Towtruck.Id} ;
LEFT OUTER JOIN dbo.AUCTIONRESULTS Auctionresults ;
ON Vehicle.Id = Auctionresults.VehicleFk} ;
LEFT OUTER JOIN dbo.AUCTIONS Auctions ;
ON Auctionresults.AuctionFk = Auctions.id} ;
LEFT OUTER JOIN redemption Redemption ;
ON Vehicle.Id = Redemption.fky_vehicle};
WHERE ( ( ( ( ( ( ( ( ( Tows.tcall_time > ( ?m.oTowapp.cArchiveDate );
AND ( ( ?m.oTowApp.filter_tows_type ) IS NULL;
OR ( ctowtype ) = ( ?m.oTowapp.filter_tows_type ) ) );
AND ( ( ?m.oTowApp.filter_tows_status ) IS NULL;
OR Tows.cStatus = ( ?m.oTowapp.filter_tows_status ) ) );
AND ( ( ?m.oTowApp.filter_tows_date ) IS NULL;
OR CAST(ttow_time AS DATE) = ( ?m.oTowapp.filter_tows_date ) ) );
AND ( ( ?m.oTowApp.filter_tows_customer ) IS NULL;
OR Tows.fky_customer = ( ?m.oTowapp.filter_tows_customer ) ) );
AND ( ( ?m.oTowApp.filter_tows_redeemed ) IS NULL;
OR ( lreleased ) = ( ?m.oTowapp.filter_tows_redeemed ) ) );
AND ( ( ?m.oTowApp.filter_tows_district ) IS NULL;
OR ( npolicedistrict ) = ( ?m.oTowapp.filter_tows_district ) ) );
AND ( ( ?m.oTowApp.filter_tows_ward ) IS NULL;
OR ( nward ) = ( ?m.oTowapp.filter_tows_ward ) ) );
AND ( ( ?m.oTowApp.filter_vehMake ) IS NULL;
OR Vehicle.cMake = ( ?m.oTowapp.filter_vehMake ) ) );
AND ( ( ?m.oTowapp.filter_vehModel ) IS NULL;
OR Vehicle.cModel = ( ?m.oTowApp.filter_vehModel ) ) );
AND ( ( ?m.oTowapp.filter_vehYear ) IS NULL;
OR Vehicle.nYear = ( ?m.oTowApp.filter_vehYear ) );
ORDER BY Tows.nTowControlNumber DESC

DBSetProp(ThisView,"View","SendUpdates",.T.)
DBSetProp(ThisView,"View","BatchUpdateCount",1)
DBSetProp(ThisView,"View","CompareMemo",.T.)
DBSetProp(ThisView,"View","FetchAsNeeded",.T.)
DBSetProp(ThisView,"View","FetchMemo",.T.)
DBSetProp(ThisView,"View","FetchSize",200)
DBSetProp(ThisView,"View","MaxRecords",-1)
DBSetProp(ThisView,"View","Prepared",.F.)
DBSetProp(ThisView,"View","ShareConnection",.F.)
DBSetProp(ThisView,"View","AllowSimultaneousFetch",.T.)
DBSetProp(ThisView,"View","UpdateType",1)
DBSetProp(ThisView,"View","UseMemoSize",255)
DBSetProp(ThisView,"View","Tables","TOWS,vehicle,redemption,dbo.AUCTIONS,dbo.AUCTIONRESULTS,dbo.TOWTRUCK,dbo.SYSTEMUSER,dbo.TOWADDRESS,dbo.TOWREASON")
DBSetProp(ThisView,"View","WhereType",2)

DBSetProp(ThisView+".id","Field","DataType","I")
DBSetProp(ThisView+".id","Field","UpdateName","TOWS.ID")
DBSetProp(ThisView+".id","Field","KeyField",.T.)
DBSetProp(ThisView+".id","Field","Updatable",.F.)

DBSetProp(ThisView+".guidkey","Field","DataType","C(36)")
DBSetProp(ThisView+".guidkey","Field","UpdateName","TOWS.GUIDKEY")
DBSetProp(ThisView+".guidkey","Field","KeyField",.F.)
DBSetProp(ThisView+".guidkey","Field","Updatable",.T.)

DBSetProp(ThisView+".cstocknumbercpd","Field","DataType","C(10)")
DBSetProp(ThisView+".cstocknumbercpd","Field","UpdateName","TOWS.cStockNumberCPD")
DBSetProp(ThisView+".cstocknumbercpd","Field","KeyField",.F.)
DBSetProp(ThisView+".cstocknumbercpd","Field","Updatable",.T.)

DBSetProp(ThisView+".cstatus","Field","DataType","C(25)")
DBSetProp(ThisView+".cstatus","Field","UpdateName","TOWS.cStatus")
DBSetProp(ThisView+".cstatus","Field","KeyField",.F.)
DBSetProp(ThisView+".cstatus","Field","Updatable",.T.)

DBSetProp(ThisView+".ccallername","Field","DataType","C(50)")
DBSetProp(ThisView+".ccallername","Field","UpdateName","TOWS.ccallername")
DBSetProp(ThisView+".ccallername","Field","KeyField",.F.)
DBSetProp(ThisView+".ccallername","Field","Updatable",.T.)

DBSetProp(ThisView+".ccallerphone","Field","DataType","C(20)")
DBSetProp(ThisView+".ccallerphone","Field","UpdateName","TOWS.cCallerPhone")
DBSetProp(ThisView+".ccallerphone","Field","KeyField",.F.)
DBSetProp(ThisView+".ccallerphone","Field","Updatable",.T.)

DBSetProp(ThisView+".ckey_location","Field","DataType","M")
DBSetProp(ThisView+".ckey_location","Field","UpdateName","TOWS.ckey_location")
DBSetProp(ThisView+".ckey_location","Field","KeyField",.F.)
DBSetProp(ThisView+".ckey_location","Field","Updatable",.T.)

DBSetProp(ThisView+".ntow_miles","Field","DataType","I")
DBSetProp(ThisView+".ntow_miles","Field","UpdateName","TOWS.ntow_miles")
DBSetProp(ThisView+".ntow_miles","Field","KeyField",.F.)
DBSetProp(ThisView+".ntow_miles","Field","Updatable",.T.)

DBSetProp(ThisView+".advanced_check","Field","DataType","L")
DBSetProp(ThisView+".advanced_check","Field","UpdateName","TOWS.advanced_check")
DBSetProp(ThisView+".advanced_check","Field","KeyField",.F.)
DBSetProp(ThisView+".advanced_check","Field","Updatable",.T.)

DBSetProp(ThisView+".tcall_time","Field","DataType","T")
DBSetProp(ThisView+".tcall_time","Field","UpdateName","TOWS.tcall_time")
DBSetProp(ThisView+".tcall_time","Field","KeyField",.F.)
DBSetProp(ThisView+".tcall_time","Field","Updatable",.T.)

DBSetProp(ThisView+".ttow_time","Field","DataType","T")
DBSetProp(ThisView+".ttow_time","Field","UpdateName","TOWS.ttow_time")
DBSetProp(ThisView+".ttow_time","Field","KeyField",.F.)
DBSetProp(ThisView+".ttow_time","Field","Updatable",.T.)

DBSetProp(ThisView+".tassigned_time","Field","DataType","T")
DBSetProp(ThisView+".tassigned_time","Field","UpdateName","TOWS.tassigned_time")
DBSetProp(ThisView+".tassigned_time","Field","KeyField",.F.)
DBSetProp(ThisView+".tassigned_time","Field","Updatable",.T.)

DBSetProp(ThisView+".ltow_assigned","Field","DataType","L")
DBSetProp(ThisView+".ltow_assigned","Field","UpdateName","TOWS.ltow_assigned")
DBSetProp(ThisView+".ltow_assigned","Field","KeyField",.F.)
DBSetProp(ThisView+".ltow_assigned","Field","Updatable",.T.)

DBSetProp(ThisView+".cdeliver_to","Field","DataType","M")
DBSetProp(ThisView+".cdeliver_to","Field","UpdateName","TOWS.cdeliver_to")
DBSetProp(ThisView+".cdeliver_to","Field","KeyField",.F.)
DBSetProp(ThisView+".cdeliver_to","Field","Updatable",.T.)

DBSetProp(ThisView+".nward","Field","DataType","I")
DBSetProp(ThisView+".nward","Field","UpdateName","TOWS.nWard")
DBSetProp(ThisView+".nward","Field","KeyField",.F.)
DBSetProp(ThisView+".nward","Field","Updatable",.T.)

DBSetProp(ThisView+".npriority","Field","DataType","I")
DBSetProp(ThisView+".npriority","Field","UpdateName","TOWS.npriority")
DBSetProp(ThisView+".npriority","Field","KeyField",.F.)
DBSetProp(ThisView+".npriority","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_customer","Field","DataType","I")
DBSetProp(ThisView+".fky_customer","Field","UpdateName","TOWS.fky_customer")
DBSetProp(ThisView+".fky_customer","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_customer","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_pound","Field","DataType","I")
DBSetProp(ThisView+".fky_pound","Field","UpdateName","TOWS.fky_pound")
DBSetProp(ThisView+".fky_pound","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_pound","Field","Updatable",.T.)

DBSetProp(ThisView+".npolicedistrict","Field","DataType","I")
DBSetProp(ThisView+".npolicedistrict","Field","UpdateName","TOWS.nPoliceDistrict")
DBSetProp(ThisView+".npolicedistrict","Field","KeyField",.F.)
DBSetProp(ThisView+".npolicedistrict","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_reason","Field","DataType","I")
DBSetProp(ThisView+".fky_reason","Field","UpdateName","TOWS.fky_reason")
DBSetProp(ThisView+".fky_reason","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_reason","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_broker","Field","DataType","I")
DBSetProp(ThisView+".fky_broker","Field","UpdateName","TOWS.fky_broker")
DBSetProp(ThisView+".fky_broker","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_broker","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_truck","Field","DataType","I")
DBSetProp(ThisView+".fky_truck","Field","UpdateName","TOWS.fky_truck")
DBSetProp(ThisView+".fky_truck","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_truck","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_driver","Field","DataType","I")
DBSetProp(ThisView+".fky_driver","Field","UpdateName","TOWS.fky_driver")
DBSetProp(ThisView+".fky_driver","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_driver","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_user","Field","DataType","I")
DBSetProp(ThisView+".fky_user","Field","UpdateName","TOWS.fky_user")
DBSetProp(ThisView+".fky_user","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_user","Field","Updatable",.T.)

DBSetProp(ThisView+".crelotowtype","Field","DataType","C(10)")
DBSetProp(ThisView+".crelotowtype","Field","UpdateName","TOWS.cReloTowType")
DBSetProp(ThisView+".crelotowtype","Field","KeyField",.F.)
DBSetProp(ThisView+".crelotowtype","Field","Updatable",.T.)

DBSetProp(ThisView+".lpolicenotified","Field","DataType","L")
DBSetProp(ThisView+".lpolicenotified","Field","UpdateName","TOWS.lPoliceNotified")
DBSetProp(ThisView+".lpolicenotified","Field","KeyField",.F.)
DBSetProp(ThisView+".lpolicenotified","Field","Updatable",.T.)

DBSetProp(ThisView+".mnotes","Field","DataType","M")
DBSetProp(ThisView+".mnotes","Field","UpdateName","TOWS.mnotes")
DBSetProp(ThisView+".mnotes","Field","KeyField",.F.)
DBSetProp(ThisView+".mnotes","Field","Updatable",.T.)

DBSetProp(ThisView+".lvinrequestsent","Field","DataType","L")
DBSetProp(ThisView+".lvinrequestsent","Field","UpdateName","TOWS.lVINRequestSent")
DBSetProp(ThisView+".lvinrequestsent","Field","KeyField",.F.)
DBSetProp(ThisView+".lvinrequestsent","Field","Updatable",.T.)

DBSetProp(ThisView+".cvinrequest","Field","DataType","C(3)")
DBSetProp(ThisView+".cvinrequest","Field","UpdateName","cVINRequest")
DBSetProp(ThisView+".cvinrequest","Field","KeyField",.F.)
DBSetProp(ThisView+".cvinrequest","Field","Updatable",.F.)

DBSetProp(ThisView+".niccnum","Field","DataType","C(20)")
DBSetProp(ThisView+".niccnum","Field","UpdateName","TOWS.nICCNum")
DBSetProp(ThisView+".niccnum","Field","KeyField",.F.)
DBSetProp(ThisView+".niccnum","Field","Updatable",.T.)

DBSetProp(ThisView+".nmilesestimated","Field","DataType","I")
DBSetProp(ThisView+".nmilesestimated","Field","UpdateName","TOWS.nMilesEstimated")
DBSetProp(ThisView+".nmilesestimated","Field","KeyField",.F.)
DBSetProp(ThisView+".nmilesestimated","Field","Updatable",.T.)

DBSetProp(ThisView+".nmilescharged","Field","DataType","I")
DBSetProp(ThisView+".nmilescharged","Field","UpdateName","TOWS.nMilesCharged")
DBSetProp(ThisView+".nmilescharged","Field","KeyField",.F.)
DBSetProp(ThisView+".nmilescharged","Field","Updatable",.T.)

DBSetProp(ThisView+".nmilesdriven","Field","DataType","I")
DBSetProp(ThisView+".nmilesdriven","Field","UpdateName","TOWS.nMilesDriven")
DBSetProp(ThisView+".nmilesdriven","Field","KeyField",.F.)
DBSetProp(ThisView+".nmilesdriven","Field","Updatable",.T.)

DBSetProp(ThisView+".ninventory","Field","DataType","I")
DBSetProp(ThisView+".ninventory","Field","UpdateName","TOWS.nInventory")
DBSetProp(ThisView+".ninventory","Field","KeyField",.F.)
DBSetProp(ThisView+".ninventory","Field","Updatable",.T.)

DBSetProp(ThisView+".ntowcontrolnumber","Field","DataType","I")
DBSetProp(ThisView+".ntowcontrolnumber","Field","UpdateName","TOWS.nTowControlNumber")
DBSetProp(ThisView+".ntowcontrolnumber","Field","KeyField",.F.)
DBSetProp(ThisView+".ntowcontrolnumber","Field","Updatable",.T.)

DBSetProp(ThisView+".ctowtype","Field","DataType","C(20)")
DBSetProp(ThisView+".ctowtype","Field","UpdateName","TOWS.cTowType")
DBSetProp(ThisView+".ctowtype","Field","KeyField",.F.)
DBSetProp(ThisView+".ctowtype","Field","Updatable",.T.)

DBSetProp(ThisView+".vehicleid","Field","Caption","VehicleID")
DBSetProp(ThisView+".vehicleid","Field","DataType","I")
DBSetProp(ThisView+".vehicleid","Field","UpdateName","vehicle.Id")
DBSetProp(ThisView+".vehicleid","Field","KeyField",.T.)
DBSetProp(ThisView+".vehicleid","Field","Updatable",.F.)

DBSetProp(ThisView+".fky_tow","Field","DataType","I")
DBSetProp(ThisView+".fky_tow","Field","UpdateName","vehicle.fky_tow")
DBSetProp(ThisView+".fky_tow","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_tow","Field","Updatable",.T.)

DBSetProp(ThisView+".cvin","Field","DataType","C(35)")
DBSetProp(ThisView+".cvin","Field","UpdateName","vehicle.cVIN")
DBSetProp(ThisView+".cvin","Field","KeyField",.F.)
DBSetProp(ThisView+".cvin","Field","Updatable",.T.)

DBSetProp(ThisView+".cmake","Field","DataType","C(20)")
DBSetProp(ThisView+".cmake","Field","UpdateName","vehicle.cMake")
DBSetProp(ThisView+".cmake","Field","KeyField",.F.)
DBSetProp(ThisView+".cmake","Field","Updatable",.T.)

DBSetProp(ThisView+".cmodel","Field","DataType","C(30)")
DBSetProp(ThisView+".cmodel","Field","UpdateName","vehicle.cModel")
DBSetProp(ThisView+".cmodel","Field","KeyField",.F.)
DBSetProp(ThisView+".cmodel","Field","Updatable",.T.)

DBSetProp(ThisView+".ccolor","Field","DataType","C(10)")
DBSetProp(ThisView+".ccolor","Field","UpdateName","vehicle.cColor")
DBSetProp(ThisView+".ccolor","Field","KeyField",.F.)
DBSetProp(ThisView+".ccolor","Field","Updatable",.T.)

DBSetProp(ThisView+".guidkey1","Field","DataType","C(36)")
DBSetProp(ThisView+".guidkey1","Field","UpdateName","vehicle.GUIDKEY")
DBSetProp(ThisView+".guidkey1","Field","KeyField",.F.)
DBSetProp(ThisView+".guidkey1","Field","Updatable",.T.)

DBSetProp(ThisView+".linvhold","Field","DataType","L")
DBSetProp(ThisView+".linvhold","Field","UpdateName","vehicle.lInvHold")
DBSetProp(ThisView+".linvhold","Field","KeyField",.F.)
DBSetProp(ThisView+".linvhold","Field","Updatable",.T.)

DBSetProp(ThisView+".linthold","Field","DataType","L")
DBSetProp(ThisView+".linthold","Field","UpdateName","vehicle.lIntHold")
DBSetProp(ThisView+".linthold","Field","KeyField",.F.)
DBSetProp(ThisView+".linthold","Field","Updatable",.T.)

DBSetProp(ThisView+".dcrushdate","Field","DataType","D")
DBSetProp(ThisView+".dcrushdate","Field","UpdateName","vehicle.dCrushDate")
DBSetProp(ThisView+".dcrushdate","Field","KeyField",.F.)
DBSetProp(ThisView+".dcrushdate","Field","Updatable",.T.)

DBSetProp(ThisView+".cbodystyle","Field","DataType","C(20)")
DBSetProp(ThisView+".cbodystyle","Field","UpdateName","vehicle.cBodyStyle")
DBSetProp(ThisView+".cbodystyle","Field","KeyField",.F.)
DBSetProp(ThisView+".cbodystyle","Field","Updatable",.T.)

DBSetProp(ThisView+".cweight","Field","DataType","C(10)")
DBSetProp(ThisView+".cweight","Field","UpdateName","vehicle.cWeight")
DBSetProp(ThisView+".cweight","Field","KeyField",.F.)
DBSetProp(ThisView+".cweight","Field","Updatable",.T.)

DBSetProp(ThisView+".cvin6","Field","DataType","C(6)")
DBSetProp(ThisView+".cvin6","Field","UpdateName","vehicle.cVin6")
DBSetProp(ThisView+".cvin6","Field","KeyField",.F.)
DBSetProp(ThisView+".cvin6","Field","Updatable",.T.)

DBSetProp(ThisView+".lvinoverrider","Field","DataType","I")
DBSetProp(ThisView+".lvinoverrider","Field","UpdateName","vehicle.lVINOverrider")
DBSetProp(ThisView+".lvinoverrider","Field","KeyField",.F.)
DBSetProp(ThisView+".lvinoverrider","Field","Updatable",.T.)

DBSetProp(ThisView+".lcurrentlyforsale","Field","DataType","L")
DBSetProp(ThisView+".lcurrentlyforsale","Field","UpdateName","vehicle.lCurrentlyForSale")
DBSetProp(ThisView+".lcurrentlyforsale","Field","KeyField",.F.)
DBSetProp(ThisView+".lcurrentlyforsale","Field","Updatable",.T.)

DBSetProp(ThisView+".nsalesamount","Field","DataType","Y")
DBSetProp(ThisView+".nsalesamount","Field","UpdateName","vehicle.nSalesAmount")
DBSetProp(ThisView+".nsalesamount","Field","KeyField",.F.)
DBSetProp(ThisView+".nsalesamount","Field","Updatable",.T.)

DBSetProp(ThisView+".ndriveramount","Field","DataType","Y")
DBSetProp(ThisView+".ndriveramount","Field","UpdateName","vehicle.nDriverAmount")
DBSetProp(ThisView+".ndriveramount","Field","KeyField",.F.)
DBSetProp(ThisView+".ndriveramount","Field","Updatable",.T.)

DBSetProp(ThisView+".npostageamount","Field","DataType","Y")
DBSetProp(ThisView+".npostageamount","Field","UpdateName","vehicle.npostageamount")
DBSetProp(ThisView+".npostageamount","Field","KeyField",.F.)
DBSetProp(ThisView+".npostageamount","Field","Updatable",.T.)

DBSetProp(ThisView+".nmiscfees","Field","DataType","Y")
DBSetProp(ThisView+".nmiscfees","Field","UpdateName","vehicle.nMiscFees")
DBSetProp(ThisView+".nmiscfees","Field","KeyField",.F.)
DBSetProp(ThisView+".nmiscfees","Field","Updatable",.T.)

DBSetProp(ThisView+".nyear","Field","DataType","I")
DBSetProp(ThisView+".nyear","Field","UpdateName","vehicle.nYear")
DBSetProp(ThisView+".nyear","Field","KeyField",.F.)
DBSetProp(ThisView+".nyear","Field","Updatable",.T.)

DBSetProp(ThisView+".redeemid","Field","DataType","I")
DBSetProp(ThisView+".redeemid","Field","UpdateName","redemption.ID")
DBSetProp(ThisView+".redeemid","Field","KeyField",.T.)
DBSetProp(ThisView+".redeemid","Field","Updatable",.F.)

DBSetProp(ThisView+".fky_vehicle","Field","DataType","I")
DBSetProp(ThisView+".fky_vehicle","Field","UpdateName","redemption.fky_vehicle")
DBSetProp(ThisView+".fky_vehicle","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_vehicle","Field","Updatable",.T.)

DBSetProp(ThisView+".mfeenotes","Field","DataType","M")
DBSetProp(ThisView+".mfeenotes","Field","UpdateName","redemption.mFeeNotes")
DBSetProp(ThisView+".mfeenotes","Field","KeyField",.F.)
DBSetProp(ThisView+".mfeenotes","Field","Updatable",.T.)

DBSetProp(ThisView+".mpaynotes","Field","DataType","M")
DBSetProp(ThisView+".mpaynotes","Field","UpdateName","redemption.mPayNotes")
DBSetProp(ThisView+".mpaynotes","Field","KeyField",.F.)
DBSetProp(ThisView+".mpaynotes","Field","Updatable",.T.)

DBSetProp(ThisView+".nstoragefees","Field","DataType","Y")
DBSetProp(ThisView+".nstoragefees","Field","UpdateName","redemption.nStorageFees")
DBSetProp(ThisView+".nstoragefees","Field","KeyField",.F.)
DBSetProp(ThisView+".nstoragefees","Field","Updatable",.T.)

DBSetProp(ThisView+".ntowfees","Field","DataType","Y")
DBSetProp(ThisView+".ntowfees","Field","UpdateName","redemption.nTowFees")
DBSetProp(ThisView+".ntowfees","Field","KeyField",.F.)
DBSetProp(ThisView+".ntowfees","Field","Updatable",.T.)

DBSetProp(ThisView+".tredeemdate","Field","DataType","T")
DBSetProp(ThisView+".tredeemdate","Field","UpdateName","redemption.tRedeemDate")
DBSetProp(ThisView+".tredeemdate","Field","KeyField",.F.)
DBSetProp(ThisView+".tredeemdate","Field","Updatable",.T.)

DBSetProp(ThisView+".namountpaid","Field","DataType","Y")
DBSetProp(ThisView+".namountpaid","Field","UpdateName","redemption.nAmountPaid")
DBSetProp(ThisView+".namountpaid","Field","KeyField",.F.)
DBSetProp(ThisView+".namountpaid","Field","Updatable",.T.)

DBSetProp(ThisView+".cpaymentmethod","Field","DataType","C(10)")
DBSetProp(ThisView+".cpaymentmethod","Field","UpdateName","redemption.cPaymentMethod")
DBSetProp(ThisView+".cpaymentmethod","Field","KeyField",.F.)
DBSetProp(ThisView+".cpaymentmethod","Field","Updatable",.T.)

DBSetProp(ThisView+".auctionid","Field","DataType","I")
DBSetProp(ThisView+".auctionid","Field","UpdateName","dbo.AUCTIONS.id")
DBSetProp(ThisView+".auctionid","Field","KeyField",.T.)
DBSetProp(ThisView+".auctionid","Field","Updatable",.F.)

DBSetProp(ThisView+".cauctiontype","Field","DataType","C(40)")
DBSetProp(ThisView+".cauctiontype","Field","UpdateName","dbo.AUCTIONS.cAuctionType")
DBSetProp(ThisView+".cauctiontype","Field","KeyField",.F.)
DBSetProp(ThisView+".cauctiontype","Field","Updatable",.T.)

DBSetProp(ThisView+".lauctiononline","Field","DataType","L")
DBSetProp(ThisView+".lauctiononline","Field","UpdateName","dbo.AUCTIONS.lAuctionOnline")
DBSetProp(ThisView+".lauctiononline","Field","KeyField",.F.)
DBSetProp(ThisView+".lauctiononline","Field","Updatable",.T.)

DBSetProp(ThisView+".dauctiondatetime","Field","DataType","T")
DBSetProp(ThisView+".dauctiondatetime","Field","UpdateName","dbo.AUCTIONS.dAuctionDateTime")
DBSetProp(ThisView+".dauctiondatetime","Field","KeyField",.F.)
DBSetProp(ThisView+".dauctiondatetime","Field","Updatable",.T.)

DBSetProp(ThisView+".guidkey2","Field","DataType","C(36)")
DBSetProp(ThisView+".guidkey2","Field","UpdateName","dbo.AUCTIONS.GUIDKEY")
DBSetProp(ThisView+".guidkey2","Field","KeyField",.F.)
DBSetProp(ThisView+".guidkey2","Field","Updatable",.T.)

DBSetProp(ThisView+".auctiondealerfk","Field","DataType","I")
DBSetProp(ThisView+".auctiondealerfk","Field","UpdateName","dbo.AUCTIONRESULTS.AuctionDealerFk")
DBSetProp(ThisView+".auctiondealerfk","Field","KeyField",.F.)
DBSetProp(ThisView+".auctiondealerfk","Field","Updatable",.T.)

DBSetProp(ThisView+".nbidamount","Field","DataType","Y")
DBSetProp(ThisView+".nbidamount","Field","UpdateName","dbo.AUCTIONRESULTS.nBidAmount")
DBSetProp(ThisView+".nbidamount","Field","KeyField",.F.)
DBSetProp(ThisView+".nbidamount","Field","Updatable",.T.)

DBSetProp(ThisView+".auctionfk","Field","DataType","I")
DBSetProp(ThisView+".auctionfk","Field","UpdateName","dbo.AUCTIONRESULTS.AuctionFk")
DBSetProp(ThisView+".auctionfk","Field","KeyField",.F.)
DBSetProp(ThisView+".auctionfk","Field","Updatable",.T.)

DBSetProp(ThisView+".aucresultsid","Field","DataType","I")
DBSetProp(ThisView+".aucresultsid","Field","UpdateName","dbo.AUCTIONRESULTS.id")
DBSetProp(ThisView+".aucresultsid","Field","KeyField",.T.)
DBSetProp(ThisView+".aucresultsid","Field","Updatable",.F.)

DBSetProp(ThisView+".cresaletitle","Field","DataType","C(35)")
DBSetProp(ThisView+".cresaletitle","Field","UpdateName","dbo.AUCTIONRESULTS.cResaleTitle")
DBSetProp(ThisView+".cresaletitle","Field","KeyField",.F.)
DBSetProp(ThisView+".cresaletitle","Field","Updatable",.T.)

DBSetProp(ThisView+".cbuyer","Field","DataType","C(60)")
DBSetProp(ThisView+".cbuyer","Field","UpdateName","dbo.AUCTIONRESULTS.cBuyer")
DBSetProp(ThisView+".cbuyer","Field","KeyField",.F.)
DBSetProp(ThisView+".cbuyer","Field","Updatable",.T.)

DBSetProp(ThisView+".invoicefk","Field","DataType","C(36)")
DBSetProp(ThisView+".invoicefk","Field","UpdateName","dbo.AUCTIONRESULTS.InvoiceFk")
DBSetProp(ThisView+".invoicefk","Field","KeyField",.F.)
DBSetProp(ThisView+".invoicefk","Field","Updatable",.T.)

DBSetProp(ThisView+".vehiclefk","Field","DataType","I")
DBSetProp(ThisView+".vehiclefk","Field","UpdateName","dbo.AUCTIONRESULTS.VehicleFk")
DBSetProp(ThisView+".vehiclefk","Field","KeyField",.F.)
DBSetProp(ThisView+".vehiclefk","Field","Updatable",.T.)

DBSetProp(ThisView+".trucknumber","Field","DataType","C(25)")
DBSetProp(ThisView+".trucknumber","Field","UpdateName","dbo.TOWTRUCK.TruckNumber")
DBSetProp(ThisView+".trucknumber","Field","KeyField",.F.)
DBSetProp(ThisView+".trucknumber","Field","Updatable",.T.)

DBSetProp(ThisView+".cfirstname","Field","DataType","C(30)")
DBSetProp(ThisView+".cfirstname","Field","UpdateName","dbo.SYSTEMUSER.cFirstName")
DBSetProp(ThisView+".cfirstname","Field","KeyField",.F.)
DBSetProp(ThisView+".cfirstname","Field","Updatable",.T.)

DBSetProp(ThisView+".clastname","Field","DataType","C(30)")
DBSetProp(ThisView+".clastname","Field","UpdateName","dbo.SYSTEMUSER.cLastName")
DBSetProp(ThisView+".clastname","Field","KeyField",.F.)
DBSetProp(ThisView+".clastname","Field","Updatable",.T.)

DBSetProp(ThisView+".centryuser","Field","DataType","C(61)")
DBSetProp(ThisView+".centryuser","Field","UpdateName","cEntryUser")
DBSetProp(ThisView+".centryuser","Field","KeyField",.F.)
DBSetProp(ThisView+".centryuser","Field","Updatable",.F.)

DBSetProp(ThisView+".clicense","Field","DataType","C(15)")
DBSetProp(ThisView+".clicense","Field","UpdateName","vehicle.cLicense")
DBSetProp(ThisView+".clicense","Field","KeyField",.F.)
DBSetProp(ThisView+".clicense","Field","Updatable",.T.)

DBSetProp(ThisView+".clicensestate","Field","DataType","C(2)")
DBSetProp(ThisView+".clicensestate","Field","UpdateName","vehicle.cLicenseState")
DBSetProp(ThisView+".clicensestate","Field","KeyField",.F.)
DBSetProp(ThisView+".clicensestate","Field","Updatable",.T.)

DBSetProp(ThisView+".caddress1","Field","DataType","C(45)")
DBSetProp(ThisView+".caddress1","Field","UpdateName","dbo.TOWADDRESS.cAddress1")
DBSetProp(ThisView+".caddress1","Field","KeyField",.F.)
DBSetProp(ThisView+".caddress1","Field","Updatable",.T.)

DBSetProp(ThisView+".ccity","Field","DataType","C(35)")
DBSetProp(ThisView+".ccity","Field","UpdateName","dbo.TOWADDRESS.cCity")
DBSetProp(ThisView+".ccity","Field","KeyField",.F.)
DBSetProp(ThisView+".ccity","Field","Updatable",.T.)

DBSetProp(ThisView+".cstate","Field","DataType","C(2)")
DBSetProp(ThisView+".cstate","Field","UpdateName","dbo.TOWADDRESS.cState")
DBSetProp(ThisView+".cstate","Field","KeyField",.F.)
DBSetProp(ThisView+".cstate","Field","Updatable",.T.)

DBSetProp(ThisView+".czipcode","Field","DataType","C(5)")
DBSetProp(ThisView+".czipcode","Field","UpdateName","dbo.TOWADDRESS.cZipcode")
DBSetProp(ThisView+".czipcode","Field","KeyField",.F.)
DBSetProp(ThisView+".czipcode","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_allowed","Field","DataType","I")
DBSetProp(ThisView+".fky_allowed","Field","UpdateName","dbo.TOWADDRESS.fky_allowed")
DBSetProp(ThisView+".fky_allowed","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_allowed","Field","Updatable",.T.)

DBSetProp(ThisView+".truckid","Field","DataType","I")
DBSetProp(ThisView+".truckid","Field","UpdateName","dbo.TOWTRUCK.Id")
DBSetProp(ThisView+".truckid","Field","KeyField",.T.)
DBSetProp(ThisView+".truckid","Field","Updatable",.F.)

DBSetProp(ThisView+".userid","Field","DataType","I")
DBSetProp(ThisView+".userid","Field","UpdateName","dbo.SYSTEMUSER.ID")
DBSetProp(ThisView+".userid","Field","KeyField",.T.)
DBSetProp(ThisView+".userid","Field","Updatable",.F.)

DBSetProp(ThisView+".towaddressid","Field","DataType","I")
DBSetProp(ThisView+".towaddressid","Field","UpdateName","dbo.TOWADDRESS.Id")
DBSetProp(ThisView+".towaddressid","Field","KeyField",.T.)
DBSetProp(ThisView+".towaddressid","Field","Updatable",.F.)

DBSetProp(ThisView+".creason","Field","DataType","C(25)")
DBSetProp(ThisView+".creason","Field","UpdateName","dbo.TOWREASON.cReason")
DBSetProp(ThisView+".creason","Field","KeyField",.F.)
DBSetProp(ThisView+".creason","Field","Updatable",.T.)

DBSetProp(ThisView+".lrevenuetow","Field","DataType","L")
DBSetProp(ThisView+".lrevenuetow","Field","UpdateName","dbo.TOWREASON.lRevenueTow")
DBSetProp(ThisView+".lrevenuetow","Field","KeyField",.F.)
DBSetProp(ThisView+".lrevenuetow","Field","Updatable",.T.)

DBSetProp(ThisView+".cdescription","Field","DataType","C(45)")
DBSetProp(ThisView+".cdescription","Field","UpdateName","dbo.TOWREASON.cDESCRIPTION")
DBSetProp(ThisView+".cdescription","Field","KeyField",.F.)
DBSetProp(ThisView+".cdescription","Field","Updatable",.T.)

DBSetProp(ThisView+".towreasonid","Field","DataType","I")
DBSetProp(ThisView+".towreasonid","Field","UpdateName","dbo.TOWREASON.ID")
DBSetProp(ThisView+".towreasonid","Field","KeyField",.T.)
DBSetProp(ThisView+".towreasonid","Field","Updatable",.F.)

DBSetProp(ThisView+".lreleased","Field","DataType","L")
DBSetProp(ThisView+".lreleased","Field","UpdateName","vehicle.lReleased")
DBSetProp(ThisView+".lreleased","Field","KeyField",.F.)
DBSetProp(ThisView+".lreleased","Field","Updatable",.T.)

DBSetProp(ThisView+".creleasenotes","Field","DataType","V(1)")
DBSetProp(ThisView+".creleasenotes","Field","UpdateName","vehicle.cReleaseNotes")
DBSetProp(ThisView+".creleasenotes","Field","KeyField",.F.)
DBSetProp(ThisView+".creleasenotes","Field","Updatable",.T.)

DBSetProp(ThisView+".ldisallowrelease","Field","DataType","L")
DBSetProp(ThisView+".ldisallowrelease","Field","UpdateName","vehicle.lDisallowRelease")
DBSetProp(ThisView+".ldisallowrelease","Field","KeyField",.F.)
DBSetProp(ThisView+".ldisallowrelease","Field","Updatable",.T.)

DBSetProp(ThisView+".lauctiondelivered","Field","DataType","L")
DBSetProp(ThisView+".lauctiondelivered","Field","UpdateName","vehicle.lAuctionDelivered")
DBSetProp(ThisView+".lauctiondelivered","Field","KeyField",.F.)
DBSetProp(ThisView+".lauctiondelivered","Field","Updatable",.T.)

DBSetProp(ThisView+".lcashierprinted","Field","DataType","L")
DBSetProp(ThisView+".lcashierprinted","Field","UpdateName","redemption.lCashierPrinted")
DBSetProp(ThisView+".lcashierprinted","Field","KeyField",.F.)
DBSetProp(ThisView+".lcashierprinted","Field","Updatable",.F.)

DBSetProp(ThisView+".cpoundname","Field","DataType","C(25)")
DBSetProp(ThisView+".cpoundname","Field","UpdateName","dbo.POUND.ShortName")
DBSetProp(ThisView+".cpoundname","Field","KeyField",.F.)
DBSetProp(ThisView+".cpoundname","Field","Updatable",.F.)

DBSetProp(ThisView+".poundid","Field","DataType","I")
DBSetProp(ThisView+".poundid","Field","UpdateName","dbo.POUND.Id")
DBSetProp(ThisView+".poundid","Field","KeyField",.T.)
DBSetProp(ThisView+".poundid","Field","Updatable",.F.)

DBSetProp(ThisView+".cbroker","Field","DataType","C(60)")
DBSetProp(ThisView+".cbroker","Field","UpdateName","dbo.TOWBROKER.cName")
DBSetProp(ThisView+".cbroker","Field","KeyField",.F.)
DBSetProp(ThisView+".cbroker","Field","Updatable",.F.)

DBSetProp(ThisView+".ccustomer","Field","DataType","C(60)")
DBSetProp(ThisView+".ccustomer","Field","UpdateName","dbo.CUSTOMER.BusinessName")
DBSetProp(ThisView+".ccustomer","Field","KeyField",.F.)
DBSetProp(ThisView+".ccustomer","Field","Updatable",.F.)

DBSetProp(ThisView+".cfirstname1","Field","DataType","C(45)")
DBSetProp(ThisView+".cfirstname1","Field","UpdateName","dbo.TOWDRIVER.cFirstName")
DBSetProp(ThisView+".cfirstname1","Field","KeyField",.F.)
DBSetProp(ThisView+".cfirstname1","Field","Updatable",.F.)

DBSetProp(ThisView+".clastname1","Field","DataType","C(45)")
DBSetProp(ThisView+".clastname1","Field","UpdateName","dbo.TOWDRIVER.cLastName")
DBSetProp(ThisView+".clastname1","Field","KeyField",.F.)
DBSetProp(ThisView+".clastname1","Field","Updatable",.F.)

DBSetProp(ThisView+".cdriver","Field","DataType","C(91)")
DBSetProp(ThisView+".cdriver","Field","UpdateName","cDriver")
DBSetProp(ThisView+".cdriver","Field","KeyField",.F.)
DBSetProp(ThisView+".cdriver","Field","Updatable",.F.)

DBSetProp(ThisView+".fky_tow1","Field","DataType","I")
DBSetProp(ThisView+".fky_tow1","Field","UpdateName","dbo.TOWADDRESS.fky_tow")
DBSetProp(ThisView+".fky_tow1","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_tow1","Field","Updatable",.F.)

DBSetProp(ThisView+".id1","Field","DataType","I")
DBSetProp(ThisView+".id1","Field","UpdateName","dbo.CUSTOMER.ID")
DBSetProp(ThisView+".id1","Field","KeyField",.T.)
DBSetProp(ThisView+".id1","Field","Updatable",.F.)


Thanks for this feedback, that's a very easy fix.

I hope Gilles (an others) will also provide feedback so that we can release a beta 2


So far it seems to work very well. To start I loaded a data set that before was bringing the system to its knees and I was able to page thru flawlessly.

I have discovered one small issue. If a view returns no records, it generates a record out of range error here twice:




-- thn (FoxInCloud)

Gravatar is a globally recognized avatar based on your email address. Re: progressive fetching feedback
  Tuvia Vinitsky
  Thierry Nivelet (FoxInCloud)
  Dec 7, 2015 @ 08:25am
yes, in the .Load, and it is being displayed in a grid. the user changes the filter value, then I call forn.wviewsrequery('myView').


strange, did your code USE vTowsAdditional before?


With the progressive fetching, when I do a form.wViewsrequery('view1'), I get an error:

index or expression does not match an exisiting member of collection

The view is this, if it matters:

SELECT Tows.ID, Tows.GUIDKEY, Tows.cStockNumberCPD, Tows.cStatus,;
Tows.ccallername, Tows.cCallerPhone, Tows.ckey_location, Tows.ntow_miles,;
Tows.advanced_check, Tows.tcall_time, Tows.ttow_time,;
Tows.tassigned_time, Tows.ltow_assigned, Tows.cdeliver_to, Tows.nWard,;
Tows.npriority, Tows.fky_customer, Tows.fky_pound, Tows.nPoliceDistrict,;
Tows.fky_reason, Tows.fky_broker, Tows.fky_truck, Tows.fky_driver,;
Tows.fky_user, Tows.cReloTowType, Tows.lPoliceNotified, Tows.mnotes,;
Tows.lVINRequestSent,;
IIF(Tows.lvinrequestsent=1,'Yes','No') AS cvinrequest, Tows.nICCNum,;
Tows.nMilesEstimated, Tows.nMilesCharged, Tows.nMilesDriven,;
Tows.nInventory, Tows.nTowControlNumber, Tows.cTowType,;
Vehicle.Id AS vehicleid, Vehicle.fky_tow, Vehicle.cVIN, Vehicle.cMake,;
Vehicle.cModel, Vehicle.cColor, Vehicle.GUIDKEY, Vehicle.lInvHold,;
Vehicle.lIntHold, Vehicle.dCrushDate, Vehicle.cBodyStyle,;
Vehicle.cWeight, Vehicle.cVin6, Vehicle.lVINOverrider,;
Vehicle.lCurrentlyForSale, Vehicle.nSalesAmount, Vehicle.nDriverAmount,;
Vehicle.npostageamount, Vehicle.nMiscFees, Vehicle.nYear,;
Redemption.ID AS redeemid, Redemption.fky_vehicle,;
Redemption.mFeeNotes, Redemption.mPayNotes, Redemption.nStorageFees,;
Redemption.nTowFees, Redemption.tRedeemDate, Redemption.nAmountPaid,;
Redemption.cPaymentMethod, Auctions.id AS auctionid,;
Auctions.cAuctionType, Auctions.lAuctionOnline,;
Auctions.dAuctionDateTime, Auctions.GUIDKEY,;
Auctionresults.AuctionDealerFk, Auctionresults.nBidAmount,;
Auctionresults.AuctionFk, Auctionresults.id AS aucresultsid,;
Auctionresults.cResaleTitle, Auctionresults.cBuyer,;
Auctionresults.InvoiceFk, Auctionresults.VehicleFk,;
Towtruck.TruckNumber, Systemuser.cFirstName, Systemuser.cLastName,;
LTRIM(RTRIM(Systemuser.cfirstname))+' '+LTRIM(RTRIM(Systemuser.clastname)) AS centryuser,;
Vehicle.cLicense, Vehicle.cLicenseState, Towaddress.cAddress1,;
Towaddress.cCity, Towaddress.cState, Towaddress.cZipcode,;
Towaddress.fky_allowed, Towtruck.Id AS truckid,;
Systemuser.ID AS userid, Towaddress.Id AS towaddressid,;
Towreason.cReason, Towreason.lRevenueTow, Towreason.cDESCRIPTION,;
Towreason.ID AS towreasonid, Vehicle.lReleased, Vehicle.cReleaseNotes,;
Vehicle.lDisallowRelease, Vehicle.lAuctionDelivered,;
Redemption.lCashierPrinted, Pound.ShortName AS cpoundname,;
Pound.Id AS poundid, Towbroker.cName AS cbroker,;
Customer.BusinessName AS ccustomer, Towdriver.cFirstName,;
Towdriver.cLastName,;
RTRIM(LTRIM(Towdriver.cfirstname))+' '+LTRIM(RTRIM(Towdriver.clastname)) AS cdriver,;
Towaddress.fky_tow, Customer.ID;
FROM ;
{oj{oj{oj{oj{oj{oj{oj{oj{oj{oj{oj TOWS Tows ;
INNER JOIN vehicle Vehicle ;
ON Tows.ID = Vehicle.fky_tow ;
LEFT OUTER JOIN dbo.POUND Pound ;
ON Tows.fky_pound = Pound.Id} ;
LEFT OUTER JOIN dbo.CUSTOMER Customer ;
ON Tows.fky_customer = Customer.ID} ;
LEFT OUTER JOIN dbo.TOWBROKER Towbroker ;
ON Tows.fky_broker = Towbroker.Id} ;
LEFT OUTER JOIN dbo.TOWDRIVER Towdriver ;
ON Tows.fky_driver = Towdriver.Id} ;
LEFT OUTER JOIN dbo.TOWREASON Towreason ;
ON Tows.fky_reason = Towreason.ID} ;
LEFT OUTER JOIN dbo.TOWADDRESS Towaddress ;
ON Tows.ID = Towaddress.fky_tow} ;
LEFT OUTER JOIN dbo.SYSTEMUSER Systemuser ;
ON Tows.fky_user = Systemuser.ID} ;
LEFT OUTER JOIN dbo.TOWTRUCK Towtruck ;
ON Tows.fky_truck = Towtruck.Id} ;
LEFT OUTER JOIN dbo.AUCTIONRESULTS Auctionresults ;
ON Vehicle.Id = Auctionresults.VehicleFk} ;
LEFT OUTER JOIN dbo.AUCTIONS Auctions ;
ON Auctionresults.AuctionFk = Auctions.id} ;
LEFT OUTER JOIN redemption Redemption ;
ON Vehicle.Id = Redemption.fky_vehicle};
WHERE ( ( ( ( ( ( ( ( ( Tows.tcall_time > ( ?m.oTowapp.cArchiveDate );
AND ( ( ?m.oTowApp.filter_tows_type ) IS NULL;
OR ( ctowtype ) = ( ?m.oTowapp.filter_tows_type ) ) );
AND ( ( ?m.oTowApp.filter_tows_status ) IS NULL;
OR Tows.cStatus = ( ?m.oTowapp.filter_tows_status ) ) );
AND ( ( ?m.oTowApp.filter_tows_date ) IS NULL;
OR CAST(ttow_time AS DATE) = ( ?m.oTowapp.filter_tows_date ) ) );
AND ( ( ?m.oTowApp.filter_tows_customer ) IS NULL;
OR Tows.fky_customer = ( ?m.oTowapp.filter_tows_customer ) ) );
AND ( ( ?m.oTowApp.filter_tows_redeemed ) IS NULL;
OR ( lreleased ) = ( ?m.oTowapp.filter_tows_redeemed ) ) );
AND ( ( ?m.oTowApp.filter_tows_district ) IS NULL;
OR ( npolicedistrict ) = ( ?m.oTowapp.filter_tows_district ) ) );
AND ( ( ?m.oTowApp.filter_tows_ward ) IS NULL;
OR ( nward ) = ( ?m.oTowapp.filter_tows_ward ) ) );
AND ( ( ?m.oTowApp.filter_vehMake ) IS NULL;
OR Vehicle.cMake = ( ?m.oTowapp.filter_vehMake ) ) );
AND ( ( ?m.oTowapp.filter_vehModel ) IS NULL;
OR Vehicle.cModel = ( ?m.oTowApp.filter_vehModel ) ) );
AND ( ( ?m.oTowapp.filter_vehYear ) IS NULL;
OR Vehicle.nYear = ( ?m.oTowApp.filter_vehYear ) );
ORDER BY Tows.nTowControlNumber DESC

DBSetProp(ThisView,"View","SendUpdates",.T.)
DBSetProp(ThisView,"View","BatchUpdateCount",1)
DBSetProp(ThisView,"View","CompareMemo",.T.)
DBSetProp(ThisView,"View","FetchAsNeeded",.T.)
DBSetProp(ThisView,"View","FetchMemo",.T.)
DBSetProp(ThisView,"View","FetchSize",200)
DBSetProp(ThisView,"View","MaxRecords",-1)
DBSetProp(ThisView,"View","Prepared",.F.)
DBSetProp(ThisView,"View","ShareConnection",.F.)
DBSetProp(ThisView,"View","AllowSimultaneousFetch",.T.)
DBSetProp(ThisView,"View","UpdateType",1)
DBSetProp(ThisView,"View","UseMemoSize",255)
DBSetProp(ThisView,"View","Tables","TOWS,vehicle,redemption,dbo.AUCTIONS,dbo.AUCTIONRESULTS,dbo.TOWTRUCK,dbo.SYSTEMUSER,dbo.TOWADDRESS,dbo.TOWREASON")
DBSetProp(ThisView,"View","WhereType",2)

DBSetProp(ThisView+".id","Field","DataType","I")
DBSetProp(ThisView+".id","Field","UpdateName","TOWS.ID")
DBSetProp(ThisView+".id","Field","KeyField",.T.)
DBSetProp(ThisView+".id","Field","Updatable",.F.)

DBSetProp(ThisView+".guidkey","Field","DataType","C(36)")
DBSetProp(ThisView+".guidkey","Field","UpdateName","TOWS.GUIDKEY")
DBSetProp(ThisView+".guidkey","Field","KeyField",.F.)
DBSetProp(ThisView+".guidkey","Field","Updatable",.T.)

DBSetProp(ThisView+".cstocknumbercpd","Field","DataType","C(10)")
DBSetProp(ThisView+".cstocknumbercpd","Field","UpdateName","TOWS.cStockNumberCPD")
DBSetProp(ThisView+".cstocknumbercpd","Field","KeyField",.F.)
DBSetProp(ThisView+".cstocknumbercpd","Field","Updatable",.T.)

DBSetProp(ThisView+".cstatus","Field","DataType","C(25)")
DBSetProp(ThisView+".cstatus","Field","UpdateName","TOWS.cStatus")
DBSetProp(ThisView+".cstatus","Field","KeyField",.F.)
DBSetProp(ThisView+".cstatus","Field","Updatable",.T.)

DBSetProp(ThisView+".ccallername","Field","DataType","C(50)")
DBSetProp(ThisView+".ccallername","Field","UpdateName","TOWS.ccallername")
DBSetProp(ThisView+".ccallername","Field","KeyField",.F.)
DBSetProp(ThisView+".ccallername","Field","Updatable",.T.)

DBSetProp(ThisView+".ccallerphone","Field","DataType","C(20)")
DBSetProp(ThisView+".ccallerphone","Field","UpdateName","TOWS.cCallerPhone")
DBSetProp(ThisView+".ccallerphone","Field","KeyField",.F.)
DBSetProp(ThisView+".ccallerphone","Field","Updatable",.T.)

DBSetProp(ThisView+".ckey_location","Field","DataType","M")
DBSetProp(ThisView+".ckey_location","Field","UpdateName","TOWS.ckey_location")
DBSetProp(ThisView+".ckey_location","Field","KeyField",.F.)
DBSetProp(ThisView+".ckey_location","Field","Updatable",.T.)

DBSetProp(ThisView+".ntow_miles","Field","DataType","I")
DBSetProp(ThisView+".ntow_miles","Field","UpdateName","TOWS.ntow_miles")
DBSetProp(ThisView+".ntow_miles","Field","KeyField",.F.)
DBSetProp(ThisView+".ntow_miles","Field","Updatable",.T.)

DBSetProp(ThisView+".advanced_check","Field","DataType","L")
DBSetProp(ThisView+".advanced_check","Field","UpdateName","TOWS.advanced_check")
DBSetProp(ThisView+".advanced_check","Field","KeyField",.F.)
DBSetProp(ThisView+".advanced_check","Field","Updatable",.T.)

DBSetProp(ThisView+".tcall_time","Field","DataType","T")
DBSetProp(ThisView+".tcall_time","Field","UpdateName","TOWS.tcall_time")
DBSetProp(ThisView+".tcall_time","Field","KeyField",.F.)
DBSetProp(ThisView+".tcall_time","Field","Updatable",.T.)

DBSetProp(ThisView+".ttow_time","Field","DataType","T")
DBSetProp(ThisView+".ttow_time","Field","UpdateName","TOWS.ttow_time")
DBSetProp(ThisView+".ttow_time","Field","KeyField",.F.)
DBSetProp(ThisView+".ttow_time","Field","Updatable",.T.)

DBSetProp(ThisView+".tassigned_time","Field","DataType","T")
DBSetProp(ThisView+".tassigned_time","Field","UpdateName","TOWS.tassigned_time")
DBSetProp(ThisView+".tassigned_time","Field","KeyField",.F.)
DBSetProp(ThisView+".tassigned_time","Field","Updatable",.T.)

DBSetProp(ThisView+".ltow_assigned","Field","DataType","L")
DBSetProp(ThisView+".ltow_assigned","Field","UpdateName","TOWS.ltow_assigned")
DBSetProp(ThisView+".ltow_assigned","Field","KeyField",.F.)
DBSetProp(ThisView+".ltow_assigned","Field","Updatable",.T.)

DBSetProp(ThisView+".cdeliver_to","Field","DataType","M")
DBSetProp(ThisView+".cdeliver_to","Field","UpdateName","TOWS.cdeliver_to")
DBSetProp(ThisView+".cdeliver_to","Field","KeyField",.F.)
DBSetProp(ThisView+".cdeliver_to","Field","Updatable",.T.)

DBSetProp(ThisView+".nward","Field","DataType","I")
DBSetProp(ThisView+".nward","Field","UpdateName","TOWS.nWard")
DBSetProp(ThisView+".nward","Field","KeyField",.F.)
DBSetProp(ThisView+".nward","Field","Updatable",.T.)

DBSetProp(ThisView+".npriority","Field","DataType","I")
DBSetProp(ThisView+".npriority","Field","UpdateName","TOWS.npriority")
DBSetProp(ThisView+".npriority","Field","KeyField",.F.)
DBSetProp(ThisView+".npriority","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_customer","Field","DataType","I")
DBSetProp(ThisView+".fky_customer","Field","UpdateName","TOWS.fky_customer")
DBSetProp(ThisView+".fky_customer","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_customer","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_pound","Field","DataType","I")
DBSetProp(ThisView+".fky_pound","Field","UpdateName","TOWS.fky_pound")
DBSetProp(ThisView+".fky_pound","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_pound","Field","Updatable",.T.)

DBSetProp(ThisView+".npolicedistrict","Field","DataType","I")
DBSetProp(ThisView+".npolicedistrict","Field","UpdateName","TOWS.nPoliceDistrict")
DBSetProp(ThisView+".npolicedistrict","Field","KeyField",.F.)
DBSetProp(ThisView+".npolicedistrict","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_reason","Field","DataType","I")
DBSetProp(ThisView+".fky_reason","Field","UpdateName","TOWS.fky_reason")
DBSetProp(ThisView+".fky_reason","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_reason","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_broker","Field","DataType","I")
DBSetProp(ThisView+".fky_broker","Field","UpdateName","TOWS.fky_broker")
DBSetProp(ThisView+".fky_broker","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_broker","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_truck","Field","DataType","I")
DBSetProp(ThisView+".fky_truck","Field","UpdateName","TOWS.fky_truck")
DBSetProp(ThisView+".fky_truck","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_truck","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_driver","Field","DataType","I")
DBSetProp(ThisView+".fky_driver","Field","UpdateName","TOWS.fky_driver")
DBSetProp(ThisView+".fky_driver","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_driver","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_user","Field","DataType","I")
DBSetProp(ThisView+".fky_user","Field","UpdateName","TOWS.fky_user")
DBSetProp(ThisView+".fky_user","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_user","Field","Updatable",.T.)

DBSetProp(ThisView+".crelotowtype","Field","DataType","C(10)")
DBSetProp(ThisView+".crelotowtype","Field","UpdateName","TOWS.cReloTowType")
DBSetProp(ThisView+".crelotowtype","Field","KeyField",.F.)
DBSetProp(ThisView+".crelotowtype","Field","Updatable",.T.)

DBSetProp(ThisView+".lpolicenotified","Field","DataType","L")
DBSetProp(ThisView+".lpolicenotified","Field","UpdateName","TOWS.lPoliceNotified")
DBSetProp(ThisView+".lpolicenotified","Field","KeyField",.F.)
DBSetProp(ThisView+".lpolicenotified","Field","Updatable",.T.)

DBSetProp(ThisView+".mnotes","Field","DataType","M")
DBSetProp(ThisView+".mnotes","Field","UpdateName","TOWS.mnotes")
DBSetProp(ThisView+".mnotes","Field","KeyField",.F.)
DBSetProp(ThisView+".mnotes","Field","Updatable",.T.)

DBSetProp(ThisView+".lvinrequestsent","Field","DataType","L")
DBSetProp(ThisView+".lvinrequestsent","Field","UpdateName","TOWS.lVINRequestSent")
DBSetProp(ThisView+".lvinrequestsent","Field","KeyField",.F.)
DBSetProp(ThisView+".lvinrequestsent","Field","Updatable",.T.)

DBSetProp(ThisView+".cvinrequest","Field","DataType","C(3)")
DBSetProp(ThisView+".cvinrequest","Field","UpdateName","cVINRequest")
DBSetProp(ThisView+".cvinrequest","Field","KeyField",.F.)
DBSetProp(ThisView+".cvinrequest","Field","Updatable",.F.)

DBSetProp(ThisView+".niccnum","Field","DataType","C(20)")
DBSetProp(ThisView+".niccnum","Field","UpdateName","TOWS.nICCNum")
DBSetProp(ThisView+".niccnum","Field","KeyField",.F.)
DBSetProp(ThisView+".niccnum","Field","Updatable",.T.)

DBSetProp(ThisView+".nmilesestimated","Field","DataType","I")
DBSetProp(ThisView+".nmilesestimated","Field","UpdateName","TOWS.nMilesEstimated")
DBSetProp(ThisView+".nmilesestimated","Field","KeyField",.F.)
DBSetProp(ThisView+".nmilesestimated","Field","Updatable",.T.)

DBSetProp(ThisView+".nmilescharged","Field","DataType","I")
DBSetProp(ThisView+".nmilescharged","Field","UpdateName","TOWS.nMilesCharged")
DBSetProp(ThisView+".nmilescharged","Field","KeyField",.F.)
DBSetProp(ThisView+".nmilescharged","Field","Updatable",.T.)

DBSetProp(ThisView+".nmilesdriven","Field","DataType","I")
DBSetProp(ThisView+".nmilesdriven","Field","UpdateName","TOWS.nMilesDriven")
DBSetProp(ThisView+".nmilesdriven","Field","KeyField",.F.)
DBSetProp(ThisView+".nmilesdriven","Field","Updatable",.T.)

DBSetProp(ThisView+".ninventory","Field","DataType","I")
DBSetProp(ThisView+".ninventory","Field","UpdateName","TOWS.nInventory")
DBSetProp(ThisView+".ninventory","Field","KeyField",.F.)
DBSetProp(ThisView+".ninventory","Field","Updatable",.T.)

DBSetProp(ThisView+".ntowcontrolnumber","Field","DataType","I")
DBSetProp(ThisView+".ntowcontrolnumber","Field","UpdateName","TOWS.nTowControlNumber")
DBSetProp(ThisView+".ntowcontrolnumber","Field","KeyField",.F.)
DBSetProp(ThisView+".ntowcontrolnumber","Field","Updatable",.T.)

DBSetProp(ThisView+".ctowtype","Field","DataType","C(20)")
DBSetProp(ThisView+".ctowtype","Field","UpdateName","TOWS.cTowType")
DBSetProp(ThisView+".ctowtype","Field","KeyField",.F.)
DBSetProp(ThisView+".ctowtype","Field","Updatable",.T.)

DBSetProp(ThisView+".vehicleid","Field","Caption","VehicleID")
DBSetProp(ThisView+".vehicleid","Field","DataType","I")
DBSetProp(ThisView+".vehicleid","Field","UpdateName","vehicle.Id")
DBSetProp(ThisView+".vehicleid","Field","KeyField",.T.)
DBSetProp(ThisView+".vehicleid","Field","Updatable",.F.)

DBSetProp(ThisView+".fky_tow","Field","DataType","I")
DBSetProp(ThisView+".fky_tow","Field","UpdateName","vehicle.fky_tow")
DBSetProp(ThisView+".fky_tow","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_tow","Field","Updatable",.T.)

DBSetProp(ThisView+".cvin","Field","DataType","C(35)")
DBSetProp(ThisView+".cvin","Field","UpdateName","vehicle.cVIN")
DBSetProp(ThisView+".cvin","Field","KeyField",.F.)
DBSetProp(ThisView+".cvin","Field","Updatable",.T.)

DBSetProp(ThisView+".cmake","Field","DataType","C(20)")
DBSetProp(ThisView+".cmake","Field","UpdateName","vehicle.cMake")
DBSetProp(ThisView+".cmake","Field","KeyField",.F.)
DBSetProp(ThisView+".cmake","Field","Updatable",.T.)

DBSetProp(ThisView+".cmodel","Field","DataType","C(30)")
DBSetProp(ThisView+".cmodel","Field","UpdateName","vehicle.cModel")
DBSetProp(ThisView+".cmodel","Field","KeyField",.F.)
DBSetProp(ThisView+".cmodel","Field","Updatable",.T.)

DBSetProp(ThisView+".ccolor","Field","DataType","C(10)")
DBSetProp(ThisView+".ccolor","Field","UpdateName","vehicle.cColor")
DBSetProp(ThisView+".ccolor","Field","KeyField",.F.)
DBSetProp(ThisView+".ccolor","Field","Updatable",.T.)

DBSetProp(ThisView+".guidkey1","Field","DataType","C(36)")
DBSetProp(ThisView+".guidkey1","Field","UpdateName","vehicle.GUIDKEY")
DBSetProp(ThisView+".guidkey1","Field","KeyField",.F.)
DBSetProp(ThisView+".guidkey1","Field","Updatable",.T.)

DBSetProp(ThisView+".linvhold","Field","DataType","L")
DBSetProp(ThisView+".linvhold","Field","UpdateName","vehicle.lInvHold")
DBSetProp(ThisView+".linvhold","Field","KeyField",.F.)
DBSetProp(ThisView+".linvhold","Field","Updatable",.T.)

DBSetProp(ThisView+".linthold","Field","DataType","L")
DBSetProp(ThisView+".linthold","Field","UpdateName","vehicle.lIntHold")
DBSetProp(ThisView+".linthold","Field","KeyField",.F.)
DBSetProp(ThisView+".linthold","Field","Updatable",.T.)

DBSetProp(ThisView+".dcrushdate","Field","DataType","D")
DBSetProp(ThisView+".dcrushdate","Field","UpdateName","vehicle.dCrushDate")
DBSetProp(ThisView+".dcrushdate","Field","KeyField",.F.)
DBSetProp(ThisView+".dcrushdate","Field","Updatable",.T.)

DBSetProp(ThisView+".cbodystyle","Field","DataType","C(20)")
DBSetProp(ThisView+".cbodystyle","Field","UpdateName","vehicle.cBodyStyle")
DBSetProp(ThisView+".cbodystyle","Field","KeyField",.F.)
DBSetProp(ThisView+".cbodystyle","Field","Updatable",.T.)

DBSetProp(ThisView+".cweight","Field","DataType","C(10)")
DBSetProp(ThisView+".cweight","Field","UpdateName","vehicle.cWeight")
DBSetProp(ThisView+".cweight","Field","KeyField",.F.)
DBSetProp(ThisView+".cweight","Field","Updatable",.T.)

DBSetProp(ThisView+".cvin6","Field","DataType","C(6)")
DBSetProp(ThisView+".cvin6","Field","UpdateName","vehicle.cVin6")
DBSetProp(ThisView+".cvin6","Field","KeyField",.F.)
DBSetProp(ThisView+".cvin6","Field","Updatable",.T.)

DBSetProp(ThisView+".lvinoverrider","Field","DataType","I")
DBSetProp(ThisView+".lvinoverrider","Field","UpdateName","vehicle.lVINOverrider")
DBSetProp(ThisView+".lvinoverrider","Field","KeyField",.F.)
DBSetProp(ThisView+".lvinoverrider","Field","Updatable",.T.)

DBSetProp(ThisView+".lcurrentlyforsale","Field","DataType","L")
DBSetProp(ThisView+".lcurrentlyforsale","Field","UpdateName","vehicle.lCurrentlyForSale")
DBSetProp(ThisView+".lcurrentlyforsale","Field","KeyField",.F.)
DBSetProp(ThisView+".lcurrentlyforsale","Field","Updatable",.T.)

DBSetProp(ThisView+".nsalesamount","Field","DataType","Y")
DBSetProp(ThisView+".nsalesamount","Field","UpdateName","vehicle.nSalesAmount")
DBSetProp(ThisView+".nsalesamount","Field","KeyField",.F.)
DBSetProp(ThisView+".nsalesamount","Field","Updatable",.T.)

DBSetProp(ThisView+".ndriveramount","Field","DataType","Y")
DBSetProp(ThisView+".ndriveramount","Field","UpdateName","vehicle.nDriverAmount")
DBSetProp(ThisView+".ndriveramount","Field","KeyField",.F.)
DBSetProp(ThisView+".ndriveramount","Field","Updatable",.T.)

DBSetProp(ThisView+".npostageamount","Field","DataType","Y")
DBSetProp(ThisView+".npostageamount","Field","UpdateName","vehicle.npostageamount")
DBSetProp(ThisView+".npostageamount","Field","KeyField",.F.)
DBSetProp(ThisView+".npostageamount","Field","Updatable",.T.)

DBSetProp(ThisView+".nmiscfees","Field","DataType","Y")
DBSetProp(ThisView+".nmiscfees","Field","UpdateName","vehicle.nMiscFees")
DBSetProp(ThisView+".nmiscfees","Field","KeyField",.F.)
DBSetProp(ThisView+".nmiscfees","Field","Updatable",.T.)

DBSetProp(ThisView+".nyear","Field","DataType","I")
DBSetProp(ThisView+".nyear","Field","UpdateName","vehicle.nYear")
DBSetProp(ThisView+".nyear","Field","KeyField",.F.)
DBSetProp(ThisView+".nyear","Field","Updatable",.T.)

DBSetProp(ThisView+".redeemid","Field","DataType","I")
DBSetProp(ThisView+".redeemid","Field","UpdateName","redemption.ID")
DBSetProp(ThisView+".redeemid","Field","KeyField",.T.)
DBSetProp(ThisView+".redeemid","Field","Updatable",.F.)

DBSetProp(ThisView+".fky_vehicle","Field","DataType","I")
DBSetProp(ThisView+".fky_vehicle","Field","UpdateName","redemption.fky_vehicle")
DBSetProp(ThisView+".fky_vehicle","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_vehicle","Field","Updatable",.T.)

DBSetProp(ThisView+".mfeenotes","Field","DataType","M")
DBSetProp(ThisView+".mfeenotes","Field","UpdateName","redemption.mFeeNotes")
DBSetProp(ThisView+".mfeenotes","Field","KeyField",.F.)
DBSetProp(ThisView+".mfeenotes","Field","Updatable",.T.)

DBSetProp(ThisView+".mpaynotes","Field","DataType","M")
DBSetProp(ThisView+".mpaynotes","Field","UpdateName","redemption.mPayNotes")
DBSetProp(ThisView+".mpaynotes","Field","KeyField",.F.)
DBSetProp(ThisView+".mpaynotes","Field","Updatable",.T.)

DBSetProp(ThisView+".nstoragefees","Field","DataType","Y")
DBSetProp(ThisView+".nstoragefees","Field","UpdateName","redemption.nStorageFees")
DBSetProp(ThisView+".nstoragefees","Field","KeyField",.F.)
DBSetProp(ThisView+".nstoragefees","Field","Updatable",.T.)

DBSetProp(ThisView+".ntowfees","Field","DataType","Y")
DBSetProp(ThisView+".ntowfees","Field","UpdateName","redemption.nTowFees")
DBSetProp(ThisView+".ntowfees","Field","KeyField",.F.)
DBSetProp(ThisView+".ntowfees","Field","Updatable",.T.)

DBSetProp(ThisView+".tredeemdate","Field","DataType","T")
DBSetProp(ThisView+".tredeemdate","Field","UpdateName","redemption.tRedeemDate")
DBSetProp(ThisView+".tredeemdate","Field","KeyField",.F.)
DBSetProp(ThisView+".tredeemdate","Field","Updatable",.T.)

DBSetProp(ThisView+".namountpaid","Field","DataType","Y")
DBSetProp(ThisView+".namountpaid","Field","UpdateName","redemption.nAmountPaid")
DBSetProp(ThisView+".namountpaid","Field","KeyField",.F.)
DBSetProp(ThisView+".namountpaid","Field","Updatable",.T.)

DBSetProp(ThisView+".cpaymentmethod","Field","DataType","C(10)")
DBSetProp(ThisView+".cpaymentmethod","Field","UpdateName","redemption.cPaymentMethod")
DBSetProp(ThisView+".cpaymentmethod","Field","KeyField",.F.)
DBSetProp(ThisView+".cpaymentmethod","Field","Updatable",.T.)

DBSetProp(ThisView+".auctionid","Field","DataType","I")
DBSetProp(ThisView+".auctionid","Field","UpdateName","dbo.AUCTIONS.id")
DBSetProp(ThisView+".auctionid","Field","KeyField",.T.)
DBSetProp(ThisView+".auctionid","Field","Updatable",.F.)

DBSetProp(ThisView+".cauctiontype","Field","DataType","C(40)")
DBSetProp(ThisView+".cauctiontype","Field","UpdateName","dbo.AUCTIONS.cAuctionType")
DBSetProp(ThisView+".cauctiontype","Field","KeyField",.F.)
DBSetProp(ThisView+".cauctiontype","Field","Updatable",.T.)

DBSetProp(ThisView+".lauctiononline","Field","DataType","L")
DBSetProp(ThisView+".lauctiononline","Field","UpdateName","dbo.AUCTIONS.lAuctionOnline")
DBSetProp(ThisView+".lauctiononline","Field","KeyField",.F.)
DBSetProp(ThisView+".lauctiononline","Field","Updatable",.T.)

DBSetProp(ThisView+".dauctiondatetime","Field","DataType","T")
DBSetProp(ThisView+".dauctiondatetime","Field","UpdateName","dbo.AUCTIONS.dAuctionDateTime")
DBSetProp(ThisView+".dauctiondatetime","Field","KeyField",.F.)
DBSetProp(ThisView+".dauctiondatetime","Field","Updatable",.T.)

DBSetProp(ThisView+".guidkey2","Field","DataType","C(36)")
DBSetProp(ThisView+".guidkey2","Field","UpdateName","dbo.AUCTIONS.GUIDKEY")
DBSetProp(ThisView+".guidkey2","Field","KeyField",.F.)
DBSetProp(ThisView+".guidkey2","Field","Updatable",.T.)

DBSetProp(ThisView+".auctiondealerfk","Field","DataType","I")
DBSetProp(ThisView+".auctiondealerfk","Field","UpdateName","dbo.AUCTIONRESULTS.AuctionDealerFk")
DBSetProp(ThisView+".auctiondealerfk","Field","KeyField",.F.)
DBSetProp(ThisView+".auctiondealerfk","Field","Updatable",.T.)

DBSetProp(ThisView+".nbidamount","Field","DataType","Y")
DBSetProp(ThisView+".nbidamount","Field","UpdateName","dbo.AUCTIONRESULTS.nBidAmount")
DBSetProp(ThisView+".nbidamount","Field","KeyField",.F.)
DBSetProp(ThisView+".nbidamount","Field","Updatable",.T.)

DBSetProp(ThisView+".auctionfk","Field","DataType","I")
DBSetProp(ThisView+".auctionfk","Field","UpdateName","dbo.AUCTIONRESULTS.AuctionFk")
DBSetProp(ThisView+".auctionfk","Field","KeyField",.F.)
DBSetProp(ThisView+".auctionfk","Field","Updatable",.T.)

DBSetProp(ThisView+".aucresultsid","Field","DataType","I")
DBSetProp(ThisView+".aucresultsid","Field","UpdateName","dbo.AUCTIONRESULTS.id")
DBSetProp(ThisView+".aucresultsid","Field","KeyField",.T.)
DBSetProp(ThisView+".aucresultsid","Field","Updatable",.F.)

DBSetProp(ThisView+".cresaletitle","Field","DataType","C(35)")
DBSetProp(ThisView+".cresaletitle","Field","UpdateName","dbo.AUCTIONRESULTS.cResaleTitle")
DBSetProp(ThisView+".cresaletitle","Field","KeyField",.F.)
DBSetProp(ThisView+".cresaletitle","Field","Updatable",.T.)

DBSetProp(ThisView+".cbuyer","Field","DataType","C(60)")
DBSetProp(ThisView+".cbuyer","Field","UpdateName","dbo.AUCTIONRESULTS.cBuyer")
DBSetProp(ThisView+".cbuyer","Field","KeyField",.F.)
DBSetProp(ThisView+".cbuyer","Field","Updatable",.T.)

DBSetProp(ThisView+".invoicefk","Field","DataType","C(36)")
DBSetProp(ThisView+".invoicefk","Field","UpdateName","dbo.AUCTIONRESULTS.InvoiceFk")
DBSetProp(ThisView+".invoicefk","Field","KeyField",.F.)
DBSetProp(ThisView+".invoicefk","Field","Updatable",.T.)

DBSetProp(ThisView+".vehiclefk","Field","DataType","I")
DBSetProp(ThisView+".vehiclefk","Field","UpdateName","dbo.AUCTIONRESULTS.VehicleFk")
DBSetProp(ThisView+".vehiclefk","Field","KeyField",.F.)
DBSetProp(ThisView+".vehiclefk","Field","Updatable",.T.)

DBSetProp(ThisView+".trucknumber","Field","DataType","C(25)")
DBSetProp(ThisView+".trucknumber","Field","UpdateName","dbo.TOWTRUCK.TruckNumber")
DBSetProp(ThisView+".trucknumber","Field","KeyField",.F.)
DBSetProp(ThisView+".trucknumber","Field","Updatable",.T.)

DBSetProp(ThisView+".cfirstname","Field","DataType","C(30)")
DBSetProp(ThisView+".cfirstname","Field","UpdateName","dbo.SYSTEMUSER.cFirstName")
DBSetProp(ThisView+".cfirstname","Field","KeyField",.F.)
DBSetProp(ThisView+".cfirstname","Field","Updatable",.T.)

DBSetProp(ThisView+".clastname","Field","DataType","C(30)")
DBSetProp(ThisView+".clastname","Field","UpdateName","dbo.SYSTEMUSER.cLastName")
DBSetProp(ThisView+".clastname","Field","KeyField",.F.)
DBSetProp(ThisView+".clastname","Field","Updatable",.T.)

DBSetProp(ThisView+".centryuser","Field","DataType","C(61)")
DBSetProp(ThisView+".centryuser","Field","UpdateName","cEntryUser")
DBSetProp(ThisView+".centryuser","Field","KeyField",.F.)
DBSetProp(ThisView+".centryuser","Field","Updatable",.F.)

DBSetProp(ThisView+".clicense","Field","DataType","C(15)")
DBSetProp(ThisView+".clicense","Field","UpdateName","vehicle.cLicense")
DBSetProp(ThisView+".clicense","Field","KeyField",.F.)
DBSetProp(ThisView+".clicense","Field","Updatable",.T.)

DBSetProp(ThisView+".clicensestate","Field","DataType","C(2)")
DBSetProp(ThisView+".clicensestate","Field","UpdateName","vehicle.cLicenseState")
DBSetProp(ThisView+".clicensestate","Field","KeyField",.F.)
DBSetProp(ThisView+".clicensestate","Field","Updatable",.T.)

DBSetProp(ThisView+".caddress1","Field","DataType","C(45)")
DBSetProp(ThisView+".caddress1","Field","UpdateName","dbo.TOWADDRESS.cAddress1")
DBSetProp(ThisView+".caddress1","Field","KeyField",.F.)
DBSetProp(ThisView+".caddress1","Field","Updatable",.T.)

DBSetProp(ThisView+".ccity","Field","DataType","C(35)")
DBSetProp(ThisView+".ccity","Field","UpdateName","dbo.TOWADDRESS.cCity")
DBSetProp(ThisView+".ccity","Field","KeyField",.F.)
DBSetProp(ThisView+".ccity","Field","Updatable",.T.)

DBSetProp(ThisView+".cstate","Field","DataType","C(2)")
DBSetProp(ThisView+".cstate","Field","UpdateName","dbo.TOWADDRESS.cState")
DBSetProp(ThisView+".cstate","Field","KeyField",.F.)
DBSetProp(ThisView+".cstate","Field","Updatable",.T.)

DBSetProp(ThisView+".czipcode","Field","DataType","C(5)")
DBSetProp(ThisView+".czipcode","Field","UpdateName","dbo.TOWADDRESS.cZipcode")
DBSetProp(ThisView+".czipcode","Field","KeyField",.F.)
DBSetProp(ThisView+".czipcode","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_allowed","Field","DataType","I")
DBSetProp(ThisView+".fky_allowed","Field","UpdateName","dbo.TOWADDRESS.fky_allowed")
DBSetProp(ThisView+".fky_allowed","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_allowed","Field","Updatable",.T.)

DBSetProp(ThisView+".truckid","Field","DataType","I")
DBSetProp(ThisView+".truckid","Field","UpdateName","dbo.TOWTRUCK.Id")
DBSetProp(ThisView+".truckid","Field","KeyField",.T.)
DBSetProp(ThisView+".truckid","Field","Updatable",.F.)

DBSetProp(ThisView+".userid","Field","DataType","I")
DBSetProp(ThisView+".userid","Field","UpdateName","dbo.SYSTEMUSER.ID")
DBSetProp(ThisView+".userid","Field","KeyField",.T.)
DBSetProp(ThisView+".userid","Field","Updatable",.F.)

DBSetProp(ThisView+".towaddressid","Field","DataType","I")
DBSetProp(ThisView+".towaddressid","Field","UpdateName","dbo.TOWADDRESS.Id")
DBSetProp(ThisView+".towaddressid","Field","KeyField",.T.)
DBSetProp(ThisView+".towaddressid","Field","Updatable",.F.)

DBSetProp(ThisView+".creason","Field","DataType","C(25)")
DBSetProp(ThisView+".creason","Field","UpdateName","dbo.TOWREASON.cReason")
DBSetProp(ThisView+".creason","Field","KeyField",.F.)
DBSetProp(ThisView+".creason","Field","Updatable",.T.)

DBSetProp(ThisView+".lrevenuetow","Field","DataType","L")
DBSetProp(ThisView+".lrevenuetow","Field","UpdateName","dbo.TOWREASON.lRevenueTow")
DBSetProp(ThisView+".lrevenuetow","Field","KeyField",.F.)
DBSetProp(ThisView+".lrevenuetow","Field","Updatable",.T.)

DBSetProp(ThisView+".cdescription","Field","DataType","C(45)")
DBSetProp(ThisView+".cdescription","Field","UpdateName","dbo.TOWREASON.cDESCRIPTION")
DBSetProp(ThisView+".cdescription","Field","KeyField",.F.)
DBSetProp(ThisView+".cdescription","Field","Updatable",.T.)

DBSetProp(ThisView+".towreasonid","Field","DataType","I")
DBSetProp(ThisView+".towreasonid","Field","UpdateName","dbo.TOWREASON.ID")
DBSetProp(ThisView+".towreasonid","Field","KeyField",.T.)
DBSetProp(ThisView+".towreasonid","Field","Updatable",.F.)

DBSetProp(ThisView+".lreleased","Field","DataType","L")
DBSetProp(ThisView+".lreleased","Field","UpdateName","vehicle.lReleased")
DBSetProp(ThisView+".lreleased","Field","KeyField",.F.)
DBSetProp(ThisView+".lreleased","Field","Updatable",.T.)

DBSetProp(ThisView+".creleasenotes","Field","DataType","V(1)")
DBSetProp(ThisView+".creleasenotes","Field","UpdateName","vehicle.cReleaseNotes")
DBSetProp(ThisView+".creleasenotes","Field","KeyField",.F.)
DBSetProp(ThisView+".creleasenotes","Field","Updatable",.T.)

DBSetProp(ThisView+".ldisallowrelease","Field","DataType","L")
DBSetProp(ThisView+".ldisallowrelease","Field","UpdateName","vehicle.lDisallowRelease")
DBSetProp(ThisView+".ldisallowrelease","Field","KeyField",.F.)
DBSetProp(ThisView+".ldisallowrelease","Field","Updatable",.T.)

DBSetProp(ThisView+".lauctiondelivered","Field","DataType","L")
DBSetProp(ThisView+".lauctiondelivered","Field","UpdateName","vehicle.lAuctionDelivered")
DBSetProp(ThisView+".lauctiondelivered","Field","KeyField",.F.)
DBSetProp(ThisView+".lauctiondelivered","Field","Updatable",.T.)

DBSetProp(ThisView+".lcashierprinted","Field","DataType","L")
DBSetProp(ThisView+".lcashierprinted","Field","UpdateName","redemption.lCashierPrinted")
DBSetProp(ThisView+".lcashierprinted","Field","KeyField",.F.)
DBSetProp(ThisView+".lcashierprinted","Field","Updatable",.F.)

DBSetProp(ThisView+".cpoundname","Field","DataType","C(25)")
DBSetProp(ThisView+".cpoundname","Field","UpdateName","dbo.POUND.ShortName")
DBSetProp(ThisView+".cpoundname","Field","KeyField",.F.)
DBSetProp(ThisView+".cpoundname","Field","Updatable",.F.)

DBSetProp(ThisView+".poundid","Field","DataType","I")
DBSetProp(ThisView+".poundid","Field","UpdateName","dbo.POUND.Id")
DBSetProp(ThisView+".poundid","Field","KeyField",.T.)
DBSetProp(ThisView+".poundid","Field","Updatable",.F.)

DBSetProp(ThisView+".cbroker","Field","DataType","C(60)")
DBSetProp(ThisView+".cbroker","Field","UpdateName","dbo.TOWBROKER.cName")
DBSetProp(ThisView+".cbroker","Field","KeyField",.F.)
DBSetProp(ThisView+".cbroker","Field","Updatable",.F.)

DBSetProp(ThisView+".ccustomer","Field","DataType","C(60)")
DBSetProp(ThisView+".ccustomer","Field","UpdateName","dbo.CUSTOMER.BusinessName")
DBSetProp(ThisView+".ccustomer","Field","KeyField",.F.)
DBSetProp(ThisView+".ccustomer","Field","Updatable",.F.)

DBSetProp(ThisView+".cfirstname1","Field","DataType","C(45)")
DBSetProp(ThisView+".cfirstname1","Field","UpdateName","dbo.TOWDRIVER.cFirstName")
DBSetProp(ThisView+".cfirstname1","Field","KeyField",.F.)
DBSetProp(ThisView+".cfirstname1","Field","Updatable",.F.)

DBSetProp(ThisView+".clastname1","Field","DataType","C(45)")
DBSetProp(ThisView+".clastname1","Field","UpdateName","dbo.TOWDRIVER.cLastName")
DBSetProp(ThisView+".clastname1","Field","KeyField",.F.)
DBSetProp(ThisView+".clastname1","Field","Updatable",.F.)

DBSetProp(ThisView+".cdriver","Field","DataType","C(91)")
DBSetProp(ThisView+".cdriver","Field","UpdateName","cDriver")
DBSetProp(ThisView+".cdriver","Field","KeyField",.F.)
DBSetProp(ThisView+".cdriver","Field","Updatable",.F.)

DBSetProp(ThisView+".fky_tow1","Field","DataType","I")
DBSetProp(ThisView+".fky_tow1","Field","UpdateName","dbo.TOWADDRESS.fky_tow")
DBSetProp(ThisView+".fky_tow1","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_tow1","Field","Updatable",.F.)

DBSetProp(ThisView+".id1","Field","DataType","I")
DBSetProp(ThisView+".id1","Field","UpdateName","dbo.CUSTOMER.ID")
DBSetProp(ThisView+".id1","Field","KeyField",.T.)
DBSetProp(ThisView+".id1","Field","Updatable",.F.)


Thanks for this feedback, that's a very easy fix.

I hope Gilles (an others) will also provide feedback so that we can release a beta 2


So far it seems to work very well. To start I loaded a data set that before was bringing the system to its knees and I was able to page thru flawlessly.

I have discovered one small issue. If a view returns no records, it generates a record out of range error here twice:




Gravatar is a globally recognized avatar based on your email address. Re: progressive fetching feedback
  FoxInCloud Support - Thierry N.
  Tuvia Vinitsky
  Dec 7, 2015 @ 08:26am
yes, I would bet so
or you can try .selectedIndex = -1 before setting .value


Little confused. Initially somehow the value is set to an empty string, although an empty string is not one of the <option> in the <select>. Once I choose one of the <option>, how can I get back to the state of that original empty string? Am I going to have to add an empty string <option> to every <select>?


any value should match an <option> in the <select>
also VFP adds a 'ghost' .List entry if .Value matches none of the values existing in .List


the .selectedIndex = 0 resets to the first choice on the select, not to the initial empty value.


you can always use
$('')

.wcID is calculated using wcID()


Yep, I see that now. Command button and comboboxes are at the same level now, I will put the command button inside a container and see if that helps.


the issue maybe that the commandbutton stands before the combos in the parent-child order and, thus, the combos.wcID are not set yet when cmd.click() generates
that's a known issue
workaround is to send command button to the foreground if possible


I note this has to be done at form level; at class level .wcid is not populated.


Hi Tuvia,

We've added a sample 'Clear Combos Values' in http://foxincloud.com/tutotest/valuesDelayed.tuto

Here the cmdClear.click() code:

* thisForm.cmdClear as Ficcmd (of ficsample.vcx) as Commandbutton
* Source code read from "valuesdelayed.scx" and colorized at 12/07/2015 11:58:32 AM

PROCEDURE Click
if m.thisForm.wlHTMLgen && Added by FoxInCloud base classes Manager (source mode) on 11/28/14 18:19:21
local cJS as String

text to cJS textmerge noshow flags 1 pretext 3
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
endtext

return m.cJS
endif

store 1 to ;
this.Parent.ficcboJSvalue1.ListIndex;
, this.Parent.ficcboJSvalue2.ListIndex;
, this.Parent.ficcboJSvalue3.ListIndex;
ENDPROC


So far it seems to work very well. To start I loaded a data set that before was bringing the system to its knees and I was able to page thru flawlessly.

I have discovered one small issue. If a view returns no records, it generates a record out of range error here twice:










-- thn (FoxInCloud)

Gravatar is a globally recognized avatar based on your email address. Re: progressive fetching feedback
  Tuvia Vinitsky
  Thierry Nivelet (FoxInCloud)
  Dec 7, 2015 @ 08:34am
I think -1 is working.


yes, I would bet so
or you can try .selectedIndex = -1 before setting .value


Little confused. Initially somehow the value is set to an empty string, although an empty string is not one of the <option> in the <select>. Once I choose one of the <option>, how can I get back to the state of that original empty string? Am I going to have to add an empty string <option> to every <select>?


any value should match an <option> in the <select>
also VFP adds a 'ghost' .List entry if .Value matches none of the values existing in .List


the .selectedIndex = 0 resets to the first choice on the select, not to the initial empty value.


you can always use
$('')

.wcID is calculated using wcID()


Yep, I see that now. Command button and comboboxes are at the same level now, I will put the command button inside a container and see if that helps.


the issue maybe that the commandbutton stands before the combos in the parent-child order and, thus, the combos.wcID are not set yet when cmd.click() generates
that's a known issue
workaround is to send command button to the foreground if possible


I note this has to be done at form level; at class level .wcid is not populated.


Hi Tuvia,

We've added a sample 'Clear Combos Values' in http://foxincloud.com/tutotest/valuesDelayed.tuto

Here the cmdClear.click() code:

* thisForm.cmdClear as Ficcmd (of ficsample.vcx) as Commandbutton
* Source code read from "valuesdelayed.scx" and colorized at 12/07/2015 11:58:32 AM

PROCEDURE Click
if m.thisForm.wlHTMLgen && Added by FoxInCloud base classes Manager (source mode) on 11/28/14 18:19:21
local cJS as String

text to cJS textmerge noshow flags 1 pretext 3
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
endtext

return m.cJS
endif

store 1 to ;
this.Parent.ficcboJSvalue1.ListIndex;
, this.Parent.ficcboJSvalue2.ListIndex;
, this.Parent.ficcboJSvalue3.ListIndex;
ENDPROC


So far it seems to work very well. To start I loaded a data set that before was bringing the system to its knees and I was able to page thru flawlessly.

I have discovered one small issue. If a view returns no records, it generates a record out of range error here twice:










Gravatar is a globally recognized avatar based on your email address. Re: progressive fetching feedback
  FoxInCloud Support - Thierry N.
  Tuvia Vinitsky
  Dec 7, 2015 @ 08:35am
could you try to add this instruction
lc__View__ = Upper(Alltrim(m.lc__View__))

before
lo__View__ = lo__This____.Item(m.lc__View__)


With the progressive fetching, when I do a form.wViewsrequery('view1'), I get an error:

index or expression does not match an exisiting member of collection

The view is this, if it matters:

SELECT Tows.ID, Tows.GUIDKEY, Tows.cStockNumberCPD, Tows.cStatus,;
Tows.ccallername, Tows.cCallerPhone, Tows.ckey_location, Tows.ntow_miles,;
Tows.advanced_check, Tows.tcall_time, Tows.ttow_time,;
Tows.tassigned_time, Tows.ltow_assigned, Tows.cdeliver_to, Tows.nWard,;
Tows.npriority, Tows.fky_customer, Tows.fky_pound, Tows.nPoliceDistrict,;
Tows.fky_reason, Tows.fky_broker, Tows.fky_truck, Tows.fky_driver,;
Tows.fky_user, Tows.cReloTowType, Tows.lPoliceNotified, Tows.mnotes,;
Tows.lVINRequestSent,;
IIF(Tows.lvinrequestsent=1,'Yes','No') AS cvinrequest, Tows.nICCNum,;
Tows.nMilesEstimated, Tows.nMilesCharged, Tows.nMilesDriven,;
Tows.nInventory, Tows.nTowControlNumber, Tows.cTowType,;
Vehicle.Id AS vehicleid, Vehicle.fky_tow, Vehicle.cVIN, Vehicle.cMake,;
Vehicle.cModel, Vehicle.cColor, Vehicle.GUIDKEY, Vehicle.lInvHold,;
Vehicle.lIntHold, Vehicle.dCrushDate, Vehicle.cBodyStyle,;
Vehicle.cWeight, Vehicle.cVin6, Vehicle.lVINOverrider,;
Vehicle.lCurrentlyForSale, Vehicle.nSalesAmount, Vehicle.nDriverAmount,;
Vehicle.npostageamount, Vehicle.nMiscFees, Vehicle.nYear,;
Redemption.ID AS redeemid, Redemption.fky_vehicle,;
Redemption.mFeeNotes, Redemption.mPayNotes, Redemption.nStorageFees,;
Redemption.nTowFees, Redemption.tRedeemDate, Redemption.nAmountPaid,;
Redemption.cPaymentMethod, Auctions.id AS auctionid,;
Auctions.cAuctionType, Auctions.lAuctionOnline,;
Auctions.dAuctionDateTime, Auctions.GUIDKEY,;
Auctionresults.AuctionDealerFk, Auctionresults.nBidAmount,;
Auctionresults.AuctionFk, Auctionresults.id AS aucresultsid,;
Auctionresults.cResaleTitle, Auctionresults.cBuyer,;
Auctionresults.InvoiceFk, Auctionresults.VehicleFk,;
Towtruck.TruckNumber, Systemuser.cFirstName, Systemuser.cLastName,;
LTRIM(RTRIM(Systemuser.cfirstname))+' '+LTRIM(RTRIM(Systemuser.clastname)) AS centryuser,;
Vehicle.cLicense, Vehicle.cLicenseState, Towaddress.cAddress1,;
Towaddress.cCity, Towaddress.cState, Towaddress.cZipcode,;
Towaddress.fky_allowed, Towtruck.Id AS truckid,;
Systemuser.ID AS userid, Towaddress.Id AS towaddressid,;
Towreason.cReason, Towreason.lRevenueTow, Towreason.cDESCRIPTION,;
Towreason.ID AS towreasonid, Vehicle.lReleased, Vehicle.cReleaseNotes,;
Vehicle.lDisallowRelease, Vehicle.lAuctionDelivered,;
Redemption.lCashierPrinted, Pound.ShortName AS cpoundname,;
Pound.Id AS poundid, Towbroker.cName AS cbroker,;
Customer.BusinessName AS ccustomer, Towdriver.cFirstName,;
Towdriver.cLastName,;
RTRIM(LTRIM(Towdriver.cfirstname))+' '+LTRIM(RTRIM(Towdriver.clastname)) AS cdriver,;
Towaddress.fky_tow, Customer.ID;
FROM ;
{oj{oj{oj{oj{oj{oj{oj{oj{oj{oj{oj TOWS Tows ;
INNER JOIN vehicle Vehicle ;
ON Tows.ID = Vehicle.fky_tow ;
LEFT OUTER JOIN dbo.POUND Pound ;
ON Tows.fky_pound = Pound.Id} ;
LEFT OUTER JOIN dbo.CUSTOMER Customer ;
ON Tows.fky_customer = Customer.ID} ;
LEFT OUTER JOIN dbo.TOWBROKER Towbroker ;
ON Tows.fky_broker = Towbroker.Id} ;
LEFT OUTER JOIN dbo.TOWDRIVER Towdriver ;
ON Tows.fky_driver = Towdriver.Id} ;
LEFT OUTER JOIN dbo.TOWREASON Towreason ;
ON Tows.fky_reason = Towreason.ID} ;
LEFT OUTER JOIN dbo.TOWADDRESS Towaddress ;
ON Tows.ID = Towaddress.fky_tow} ;
LEFT OUTER JOIN dbo.SYSTEMUSER Systemuser ;
ON Tows.fky_user = Systemuser.ID} ;
LEFT OUTER JOIN dbo.TOWTRUCK Towtruck ;
ON Tows.fky_truck = Towtruck.Id} ;
LEFT OUTER JOIN dbo.AUCTIONRESULTS Auctionresults ;
ON Vehicle.Id = Auctionresults.VehicleFk} ;
LEFT OUTER JOIN dbo.AUCTIONS Auctions ;
ON Auctionresults.AuctionFk = Auctions.id} ;
LEFT OUTER JOIN redemption Redemption ;
ON Vehicle.Id = Redemption.fky_vehicle};
WHERE ( ( ( ( ( ( ( ( ( Tows.tcall_time > ( ?m.oTowapp.cArchiveDate );
AND ( ( ?m.oTowApp.filter_tows_type ) IS NULL;
OR ( ctowtype ) = ( ?m.oTowapp.filter_tows_type ) ) );
AND ( ( ?m.oTowApp.filter_tows_status ) IS NULL;
OR Tows.cStatus = ( ?m.oTowapp.filter_tows_status ) ) );
AND ( ( ?m.oTowApp.filter_tows_date ) IS NULL;
OR CAST(ttow_time AS DATE) = ( ?m.oTowapp.filter_tows_date ) ) );
AND ( ( ?m.oTowApp.filter_tows_customer ) IS NULL;
OR Tows.fky_customer = ( ?m.oTowapp.filter_tows_customer ) ) );
AND ( ( ?m.oTowApp.filter_tows_redeemed ) IS NULL;
OR ( lreleased ) = ( ?m.oTowapp.filter_tows_redeemed ) ) );
AND ( ( ?m.oTowApp.filter_tows_district ) IS NULL;
OR ( npolicedistrict ) = ( ?m.oTowapp.filter_tows_district ) ) );
AND ( ( ?m.oTowApp.filter_tows_ward ) IS NULL;
OR ( nward ) = ( ?m.oTowapp.filter_tows_ward ) ) );
AND ( ( ?m.oTowApp.filter_vehMake ) IS NULL;
OR Vehicle.cMake = ( ?m.oTowapp.filter_vehMake ) ) );
AND ( ( ?m.oTowapp.filter_vehModel ) IS NULL;
OR Vehicle.cModel = ( ?m.oTowApp.filter_vehModel ) ) );
AND ( ( ?m.oTowapp.filter_vehYear ) IS NULL;
OR Vehicle.nYear = ( ?m.oTowApp.filter_vehYear ) );
ORDER BY Tows.nTowControlNumber DESC

DBSetProp(ThisView,"View","SendUpdates",.T.)
DBSetProp(ThisView,"View","BatchUpdateCount",1)
DBSetProp(ThisView,"View","CompareMemo",.T.)
DBSetProp(ThisView,"View","FetchAsNeeded",.T.)
DBSetProp(ThisView,"View","FetchMemo",.T.)
DBSetProp(ThisView,"View","FetchSize",200)
DBSetProp(ThisView,"View","MaxRecords",-1)
DBSetProp(ThisView,"View","Prepared",.F.)
DBSetProp(ThisView,"View","ShareConnection",.F.)
DBSetProp(ThisView,"View","AllowSimultaneousFetch",.T.)
DBSetProp(ThisView,"View","UpdateType",1)
DBSetProp(ThisView,"View","UseMemoSize",255)
DBSetProp(ThisView,"View","Tables","TOWS,vehicle,redemption,dbo.AUCTIONS,dbo.AUCTIONRESULTS,dbo.TOWTRUCK,dbo.SYSTEMUSER,dbo.TOWADDRESS,dbo.TOWREASON")
DBSetProp(ThisView,"View","WhereType",2)

DBSetProp(ThisView+".id","Field","DataType","I")
DBSetProp(ThisView+".id","Field","UpdateName","TOWS.ID")
DBSetProp(ThisView+".id","Field","KeyField",.T.)
DBSetProp(ThisView+".id","Field","Updatable",.F.)

DBSetProp(ThisView+".guidkey","Field","DataType","C(36)")
DBSetProp(ThisView+".guidkey","Field","UpdateName","TOWS.GUIDKEY")
DBSetProp(ThisView+".guidkey","Field","KeyField",.F.)
DBSetProp(ThisView+".guidkey","Field","Updatable",.T.)

DBSetProp(ThisView+".cstocknumbercpd","Field","DataType","C(10)")
DBSetProp(ThisView+".cstocknumbercpd","Field","UpdateName","TOWS.cStockNumberCPD")
DBSetProp(ThisView+".cstocknumbercpd","Field","KeyField",.F.)
DBSetProp(ThisView+".cstocknumbercpd","Field","Updatable",.T.)

DBSetProp(ThisView+".cstatus","Field","DataType","C(25)")
DBSetProp(ThisView+".cstatus","Field","UpdateName","TOWS.cStatus")
DBSetProp(ThisView+".cstatus","Field","KeyField",.F.)
DBSetProp(ThisView+".cstatus","Field","Updatable",.T.)

DBSetProp(ThisView+".ccallername","Field","DataType","C(50)")
DBSetProp(ThisView+".ccallername","Field","UpdateName","TOWS.ccallername")
DBSetProp(ThisView+".ccallername","Field","KeyField",.F.)
DBSetProp(ThisView+".ccallername","Field","Updatable",.T.)

DBSetProp(ThisView+".ccallerphone","Field","DataType","C(20)")
DBSetProp(ThisView+".ccallerphone","Field","UpdateName","TOWS.cCallerPhone")
DBSetProp(ThisView+".ccallerphone","Field","KeyField",.F.)
DBSetProp(ThisView+".ccallerphone","Field","Updatable",.T.)

DBSetProp(ThisView+".ckey_location","Field","DataType","M")
DBSetProp(ThisView+".ckey_location","Field","UpdateName","TOWS.ckey_location")
DBSetProp(ThisView+".ckey_location","Field","KeyField",.F.)
DBSetProp(ThisView+".ckey_location","Field","Updatable",.T.)

DBSetProp(ThisView+".ntow_miles","Field","DataType","I")
DBSetProp(ThisView+".ntow_miles","Field","UpdateName","TOWS.ntow_miles")
DBSetProp(ThisView+".ntow_miles","Field","KeyField",.F.)
DBSetProp(ThisView+".ntow_miles","Field","Updatable",.T.)

DBSetProp(ThisView+".advanced_check","Field","DataType","L")
DBSetProp(ThisView+".advanced_check","Field","UpdateName","TOWS.advanced_check")
DBSetProp(ThisView+".advanced_check","Field","KeyField",.F.)
DBSetProp(ThisView+".advanced_check","Field","Updatable",.T.)

DBSetProp(ThisView+".tcall_time","Field","DataType","T")
DBSetProp(ThisView+".tcall_time","Field","UpdateName","TOWS.tcall_time")
DBSetProp(ThisView+".tcall_time","Field","KeyField",.F.)
DBSetProp(ThisView+".tcall_time","Field","Updatable",.T.)

DBSetProp(ThisView+".ttow_time","Field","DataType","T")
DBSetProp(ThisView+".ttow_time","Field","UpdateName","TOWS.ttow_time")
DBSetProp(ThisView+".ttow_time","Field","KeyField",.F.)
DBSetProp(ThisView+".ttow_time","Field","Updatable",.T.)

DBSetProp(ThisView+".tassigned_time","Field","DataType","T")
DBSetProp(ThisView+".tassigned_time","Field","UpdateName","TOWS.tassigned_time")
DBSetProp(ThisView+".tassigned_time","Field","KeyField",.F.)
DBSetProp(ThisView+".tassigned_time","Field","Updatable",.T.)

DBSetProp(ThisView+".ltow_assigned","Field","DataType","L")
DBSetProp(ThisView+".ltow_assigned","Field","UpdateName","TOWS.ltow_assigned")
DBSetProp(ThisView+".ltow_assigned","Field","KeyField",.F.)
DBSetProp(ThisView+".ltow_assigned","Field","Updatable",.T.)

DBSetProp(ThisView+".cdeliver_to","Field","DataType","M")
DBSetProp(ThisView+".cdeliver_to","Field","UpdateName","TOWS.cdeliver_to")
DBSetProp(ThisView+".cdeliver_to","Field","KeyField",.F.)
DBSetProp(ThisView+".cdeliver_to","Field","Updatable",.T.)

DBSetProp(ThisView+".nward","Field","DataType","I")
DBSetProp(ThisView+".nward","Field","UpdateName","TOWS.nWard")
DBSetProp(ThisView+".nward","Field","KeyField",.F.)
DBSetProp(ThisView+".nward","Field","Updatable",.T.)

DBSetProp(ThisView+".npriority","Field","DataType","I")
DBSetProp(ThisView+".npriority","Field","UpdateName","TOWS.npriority")
DBSetProp(ThisView+".npriority","Field","KeyField",.F.)
DBSetProp(ThisView+".npriority","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_customer","Field","DataType","I")
DBSetProp(ThisView+".fky_customer","Field","UpdateName","TOWS.fky_customer")
DBSetProp(ThisView+".fky_customer","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_customer","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_pound","Field","DataType","I")
DBSetProp(ThisView+".fky_pound","Field","UpdateName","TOWS.fky_pound")
DBSetProp(ThisView+".fky_pound","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_pound","Field","Updatable",.T.)

DBSetProp(ThisView+".npolicedistrict","Field","DataType","I")
DBSetProp(ThisView+".npolicedistrict","Field","UpdateName","TOWS.nPoliceDistrict")
DBSetProp(ThisView+".npolicedistrict","Field","KeyField",.F.)
DBSetProp(ThisView+".npolicedistrict","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_reason","Field","DataType","I")
DBSetProp(ThisView+".fky_reason","Field","UpdateName","TOWS.fky_reason")
DBSetProp(ThisView+".fky_reason","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_reason","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_broker","Field","DataType","I")
DBSetProp(ThisView+".fky_broker","Field","UpdateName","TOWS.fky_broker")
DBSetProp(ThisView+".fky_broker","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_broker","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_truck","Field","DataType","I")
DBSetProp(ThisView+".fky_truck","Field","UpdateName","TOWS.fky_truck")
DBSetProp(ThisView+".fky_truck","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_truck","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_driver","Field","DataType","I")
DBSetProp(ThisView+".fky_driver","Field","UpdateName","TOWS.fky_driver")
DBSetProp(ThisView+".fky_driver","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_driver","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_user","Field","DataType","I")
DBSetProp(ThisView+".fky_user","Field","UpdateName","TOWS.fky_user")
DBSetProp(ThisView+".fky_user","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_user","Field","Updatable",.T.)

DBSetProp(ThisView+".crelotowtype","Field","DataType","C(10)")
DBSetProp(ThisView+".crelotowtype","Field","UpdateName","TOWS.cReloTowType")
DBSetProp(ThisView+".crelotowtype","Field","KeyField",.F.)
DBSetProp(ThisView+".crelotowtype","Field","Updatable",.T.)

DBSetProp(ThisView+".lpolicenotified","Field","DataType","L")
DBSetProp(ThisView+".lpolicenotified","Field","UpdateName","TOWS.lPoliceNotified")
DBSetProp(ThisView+".lpolicenotified","Field","KeyField",.F.)
DBSetProp(ThisView+".lpolicenotified","Field","Updatable",.T.)

DBSetProp(ThisView+".mnotes","Field","DataType","M")
DBSetProp(ThisView+".mnotes","Field","UpdateName","TOWS.mnotes")
DBSetProp(ThisView+".mnotes","Field","KeyField",.F.)
DBSetProp(ThisView+".mnotes","Field","Updatable",.T.)

DBSetProp(ThisView+".lvinrequestsent","Field","DataType","L")
DBSetProp(ThisView+".lvinrequestsent","Field","UpdateName","TOWS.lVINRequestSent")
DBSetProp(ThisView+".lvinrequestsent","Field","KeyField",.F.)
DBSetProp(ThisView+".lvinrequestsent","Field","Updatable",.T.)

DBSetProp(ThisView+".cvinrequest","Field","DataType","C(3)")
DBSetProp(ThisView+".cvinrequest","Field","UpdateName","cVINRequest")
DBSetProp(ThisView+".cvinrequest","Field","KeyField",.F.)
DBSetProp(ThisView+".cvinrequest","Field","Updatable",.F.)

DBSetProp(ThisView+".niccnum","Field","DataType","C(20)")
DBSetProp(ThisView+".niccnum","Field","UpdateName","TOWS.nICCNum")
DBSetProp(ThisView+".niccnum","Field","KeyField",.F.)
DBSetProp(ThisView+".niccnum","Field","Updatable",.T.)

DBSetProp(ThisView+".nmilesestimated","Field","DataType","I")
DBSetProp(ThisView+".nmilesestimated","Field","UpdateName","TOWS.nMilesEstimated")
DBSetProp(ThisView+".nmilesestimated","Field","KeyField",.F.)
DBSetProp(ThisView+".nmilesestimated","Field","Updatable",.T.)

DBSetProp(ThisView+".nmilescharged","Field","DataType","I")
DBSetProp(ThisView+".nmilescharged","Field","UpdateName","TOWS.nMilesCharged")
DBSetProp(ThisView+".nmilescharged","Field","KeyField",.F.)
DBSetProp(ThisView+".nmilescharged","Field","Updatable",.T.)

DBSetProp(ThisView+".nmilesdriven","Field","DataType","I")
DBSetProp(ThisView+".nmilesdriven","Field","UpdateName","TOWS.nMilesDriven")
DBSetProp(ThisView+".nmilesdriven","Field","KeyField",.F.)
DBSetProp(ThisView+".nmilesdriven","Field","Updatable",.T.)

DBSetProp(ThisView+".ninventory","Field","DataType","I")
DBSetProp(ThisView+".ninventory","Field","UpdateName","TOWS.nInventory")
DBSetProp(ThisView+".ninventory","Field","KeyField",.F.)
DBSetProp(ThisView+".ninventory","Field","Updatable",.T.)

DBSetProp(ThisView+".ntowcontrolnumber","Field","DataType","I")
DBSetProp(ThisView+".ntowcontrolnumber","Field","UpdateName","TOWS.nTowControlNumber")
DBSetProp(ThisView+".ntowcontrolnumber","Field","KeyField",.F.)
DBSetProp(ThisView+".ntowcontrolnumber","Field","Updatable",.T.)

DBSetProp(ThisView+".ctowtype","Field","DataType","C(20)")
DBSetProp(ThisView+".ctowtype","Field","UpdateName","TOWS.cTowType")
DBSetProp(ThisView+".ctowtype","Field","KeyField",.F.)
DBSetProp(ThisView+".ctowtype","Field","Updatable",.T.)

DBSetProp(ThisView+".vehicleid","Field","Caption","VehicleID")
DBSetProp(ThisView+".vehicleid","Field","DataType","I")
DBSetProp(ThisView+".vehicleid","Field","UpdateName","vehicle.Id")
DBSetProp(ThisView+".vehicleid","Field","KeyField",.T.)
DBSetProp(ThisView+".vehicleid","Field","Updatable",.F.)

DBSetProp(ThisView+".fky_tow","Field","DataType","I")
DBSetProp(ThisView+".fky_tow","Field","UpdateName","vehicle.fky_tow")
DBSetProp(ThisView+".fky_tow","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_tow","Field","Updatable",.T.)

DBSetProp(ThisView+".cvin","Field","DataType","C(35)")
DBSetProp(ThisView+".cvin","Field","UpdateName","vehicle.cVIN")
DBSetProp(ThisView+".cvin","Field","KeyField",.F.)
DBSetProp(ThisView+".cvin","Field","Updatable",.T.)

DBSetProp(ThisView+".cmake","Field","DataType","C(20)")
DBSetProp(ThisView+".cmake","Field","UpdateName","vehicle.cMake")
DBSetProp(ThisView+".cmake","Field","KeyField",.F.)
DBSetProp(ThisView+".cmake","Field","Updatable",.T.)

DBSetProp(ThisView+".cmodel","Field","DataType","C(30)")
DBSetProp(ThisView+".cmodel","Field","UpdateName","vehicle.cModel")
DBSetProp(ThisView+".cmodel","Field","KeyField",.F.)
DBSetProp(ThisView+".cmodel","Field","Updatable",.T.)

DBSetProp(ThisView+".ccolor","Field","DataType","C(10)")
DBSetProp(ThisView+".ccolor","Field","UpdateName","vehicle.cColor")
DBSetProp(ThisView+".ccolor","Field","KeyField",.F.)
DBSetProp(ThisView+".ccolor","Field","Updatable",.T.)

DBSetProp(ThisView+".guidkey1","Field","DataType","C(36)")
DBSetProp(ThisView+".guidkey1","Field","UpdateName","vehicle.GUIDKEY")
DBSetProp(ThisView+".guidkey1","Field","KeyField",.F.)
DBSetProp(ThisView+".guidkey1","Field","Updatable",.T.)

DBSetProp(ThisView+".linvhold","Field","DataType","L")
DBSetProp(ThisView+".linvhold","Field","UpdateName","vehicle.lInvHold")
DBSetProp(ThisView+".linvhold","Field","KeyField",.F.)
DBSetProp(ThisView+".linvhold","Field","Updatable",.T.)

DBSetProp(ThisView+".linthold","Field","DataType","L")
DBSetProp(ThisView+".linthold","Field","UpdateName","vehicle.lIntHold")
DBSetProp(ThisView+".linthold","Field","KeyField",.F.)
DBSetProp(ThisView+".linthold","Field","Updatable",.T.)

DBSetProp(ThisView+".dcrushdate","Field","DataType","D")
DBSetProp(ThisView+".dcrushdate","Field","UpdateName","vehicle.dCrushDate")
DBSetProp(ThisView+".dcrushdate","Field","KeyField",.F.)
DBSetProp(ThisView+".dcrushdate","Field","Updatable",.T.)

DBSetProp(ThisView+".cbodystyle","Field","DataType","C(20)")
DBSetProp(ThisView+".cbodystyle","Field","UpdateName","vehicle.cBodyStyle")
DBSetProp(ThisView+".cbodystyle","Field","KeyField",.F.)
DBSetProp(ThisView+".cbodystyle","Field","Updatable",.T.)

DBSetProp(ThisView+".cweight","Field","DataType","C(10)")
DBSetProp(ThisView+".cweight","Field","UpdateName","vehicle.cWeight")
DBSetProp(ThisView+".cweight","Field","KeyField",.F.)
DBSetProp(ThisView+".cweight","Field","Updatable",.T.)

DBSetProp(ThisView+".cvin6","Field","DataType","C(6)")
DBSetProp(ThisView+".cvin6","Field","UpdateName","vehicle.cVin6")
DBSetProp(ThisView+".cvin6","Field","KeyField",.F.)
DBSetProp(ThisView+".cvin6","Field","Updatable",.T.)

DBSetProp(ThisView+".lvinoverrider","Field","DataType","I")
DBSetProp(ThisView+".lvinoverrider","Field","UpdateName","vehicle.lVINOverrider")
DBSetProp(ThisView+".lvinoverrider","Field","KeyField",.F.)
DBSetProp(ThisView+".lvinoverrider","Field","Updatable",.T.)

DBSetProp(ThisView+".lcurrentlyforsale","Field","DataType","L")
DBSetProp(ThisView+".lcurrentlyforsale","Field","UpdateName","vehicle.lCurrentlyForSale")
DBSetProp(ThisView+".lcurrentlyforsale","Field","KeyField",.F.)
DBSetProp(ThisView+".lcurrentlyforsale","Field","Updatable",.T.)

DBSetProp(ThisView+".nsalesamount","Field","DataType","Y")
DBSetProp(ThisView+".nsalesamount","Field","UpdateName","vehicle.nSalesAmount")
DBSetProp(ThisView+".nsalesamount","Field","KeyField",.F.)
DBSetProp(ThisView+".nsalesamount","Field","Updatable",.T.)

DBSetProp(ThisView+".ndriveramount","Field","DataType","Y")
DBSetProp(ThisView+".ndriveramount","Field","UpdateName","vehicle.nDriverAmount")
DBSetProp(ThisView+".ndriveramount","Field","KeyField",.F.)
DBSetProp(ThisView+".ndriveramount","Field","Updatable",.T.)

DBSetProp(ThisView+".npostageamount","Field","DataType","Y")
DBSetProp(ThisView+".npostageamount","Field","UpdateName","vehicle.npostageamount")
DBSetProp(ThisView+".npostageamount","Field","KeyField",.F.)
DBSetProp(ThisView+".npostageamount","Field","Updatable",.T.)

DBSetProp(ThisView+".nmiscfees","Field","DataType","Y")
DBSetProp(ThisView+".nmiscfees","Field","UpdateName","vehicle.nMiscFees")
DBSetProp(ThisView+".nmiscfees","Field","KeyField",.F.)
DBSetProp(ThisView+".nmiscfees","Field","Updatable",.T.)

DBSetProp(ThisView+".nyear","Field","DataType","I")
DBSetProp(ThisView+".nyear","Field","UpdateName","vehicle.nYear")
DBSetProp(ThisView+".nyear","Field","KeyField",.F.)
DBSetProp(ThisView+".nyear","Field","Updatable",.T.)

DBSetProp(ThisView+".redeemid","Field","DataType","I")
DBSetProp(ThisView+".redeemid","Field","UpdateName","redemption.ID")
DBSetProp(ThisView+".redeemid","Field","KeyField",.T.)
DBSetProp(ThisView+".redeemid","Field","Updatable",.F.)

DBSetProp(ThisView+".fky_vehicle","Field","DataType","I")
DBSetProp(ThisView+".fky_vehicle","Field","UpdateName","redemption.fky_vehicle")
DBSetProp(ThisView+".fky_vehicle","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_vehicle","Field","Updatable",.T.)

DBSetProp(ThisView+".mfeenotes","Field","DataType","M")
DBSetProp(ThisView+".mfeenotes","Field","UpdateName","redemption.mFeeNotes")
DBSetProp(ThisView+".mfeenotes","Field","KeyField",.F.)
DBSetProp(ThisView+".mfeenotes","Field","Updatable",.T.)

DBSetProp(ThisView+".mpaynotes","Field","DataType","M")
DBSetProp(ThisView+".mpaynotes","Field","UpdateName","redemption.mPayNotes")
DBSetProp(ThisView+".mpaynotes","Field","KeyField",.F.)
DBSetProp(ThisView+".mpaynotes","Field","Updatable",.T.)

DBSetProp(ThisView+".nstoragefees","Field","DataType","Y")
DBSetProp(ThisView+".nstoragefees","Field","UpdateName","redemption.nStorageFees")
DBSetProp(ThisView+".nstoragefees","Field","KeyField",.F.)
DBSetProp(ThisView+".nstoragefees","Field","Updatable",.T.)

DBSetProp(ThisView+".ntowfees","Field","DataType","Y")
DBSetProp(ThisView+".ntowfees","Field","UpdateName","redemption.nTowFees")
DBSetProp(ThisView+".ntowfees","Field","KeyField",.F.)
DBSetProp(ThisView+".ntowfees","Field","Updatable",.T.)

DBSetProp(ThisView+".tredeemdate","Field","DataType","T")
DBSetProp(ThisView+".tredeemdate","Field","UpdateName","redemption.tRedeemDate")
DBSetProp(ThisView+".tredeemdate","Field","KeyField",.F.)
DBSetProp(ThisView+".tredeemdate","Field","Updatable",.T.)

DBSetProp(ThisView+".namountpaid","Field","DataType","Y")
DBSetProp(ThisView+".namountpaid","Field","UpdateName","redemption.nAmountPaid")
DBSetProp(ThisView+".namountpaid","Field","KeyField",.F.)
DBSetProp(ThisView+".namountpaid","Field","Updatable",.T.)

DBSetProp(ThisView+".cpaymentmethod","Field","DataType","C(10)")
DBSetProp(ThisView+".cpaymentmethod","Field","UpdateName","redemption.cPaymentMethod")
DBSetProp(ThisView+".cpaymentmethod","Field","KeyField",.F.)
DBSetProp(ThisView+".cpaymentmethod","Field","Updatable",.T.)

DBSetProp(ThisView+".auctionid","Field","DataType","I")
DBSetProp(ThisView+".auctionid","Field","UpdateName","dbo.AUCTIONS.id")
DBSetProp(ThisView+".auctionid","Field","KeyField",.T.)
DBSetProp(ThisView+".auctionid","Field","Updatable",.F.)

DBSetProp(ThisView+".cauctiontype","Field","DataType","C(40)")
DBSetProp(ThisView+".cauctiontype","Field","UpdateName","dbo.AUCTIONS.cAuctionType")
DBSetProp(ThisView+".cauctiontype","Field","KeyField",.F.)
DBSetProp(ThisView+".cauctiontype","Field","Updatable",.T.)

DBSetProp(ThisView+".lauctiononline","Field","DataType","L")
DBSetProp(ThisView+".lauctiononline","Field","UpdateName","dbo.AUCTIONS.lAuctionOnline")
DBSetProp(ThisView+".lauctiononline","Field","KeyField",.F.)
DBSetProp(ThisView+".lauctiononline","Field","Updatable",.T.)

DBSetProp(ThisView+".dauctiondatetime","Field","DataType","T")
DBSetProp(ThisView+".dauctiondatetime","Field","UpdateName","dbo.AUCTIONS.dAuctionDateTime")
DBSetProp(ThisView+".dauctiondatetime","Field","KeyField",.F.)
DBSetProp(ThisView+".dauctiondatetime","Field","Updatable",.T.)

DBSetProp(ThisView+".guidkey2","Field","DataType","C(36)")
DBSetProp(ThisView+".guidkey2","Field","UpdateName","dbo.AUCTIONS.GUIDKEY")
DBSetProp(ThisView+".guidkey2","Field","KeyField",.F.)
DBSetProp(ThisView+".guidkey2","Field","Updatable",.T.)

DBSetProp(ThisView+".auctiondealerfk","Field","DataType","I")
DBSetProp(ThisView+".auctiondealerfk","Field","UpdateName","dbo.AUCTIONRESULTS.AuctionDealerFk")
DBSetProp(ThisView+".auctiondealerfk","Field","KeyField",.F.)
DBSetProp(ThisView+".auctiondealerfk","Field","Updatable",.T.)

DBSetProp(ThisView+".nbidamount","Field","DataType","Y")
DBSetProp(ThisView+".nbidamount","Field","UpdateName","dbo.AUCTIONRESULTS.nBidAmount")
DBSetProp(ThisView+".nbidamount","Field","KeyField",.F.)
DBSetProp(ThisView+".nbidamount","Field","Updatable",.T.)

DBSetProp(ThisView+".auctionfk","Field","DataType","I")
DBSetProp(ThisView+".auctionfk","Field","UpdateName","dbo.AUCTIONRESULTS.AuctionFk")
DBSetProp(ThisView+".auctionfk","Field","KeyField",.F.)
DBSetProp(ThisView+".auctionfk","Field","Updatable",.T.)

DBSetProp(ThisView+".aucresultsid","Field","DataType","I")
DBSetProp(ThisView+".aucresultsid","Field","UpdateName","dbo.AUCTIONRESULTS.id")
DBSetProp(ThisView+".aucresultsid","Field","KeyField",.T.)
DBSetProp(ThisView+".aucresultsid","Field","Updatable",.F.)

DBSetProp(ThisView+".cresaletitle","Field","DataType","C(35)")
DBSetProp(ThisView+".cresaletitle","Field","UpdateName","dbo.AUCTIONRESULTS.cResaleTitle")
DBSetProp(ThisView+".cresaletitle","Field","KeyField",.F.)
DBSetProp(ThisView+".cresaletitle","Field","Updatable",.T.)

DBSetProp(ThisView+".cbuyer","Field","DataType","C(60)")
DBSetProp(ThisView+".cbuyer","Field","UpdateName","dbo.AUCTIONRESULTS.cBuyer")
DBSetProp(ThisView+".cbuyer","Field","KeyField",.F.)
DBSetProp(ThisView+".cbuyer","Field","Updatable",.T.)

DBSetProp(ThisView+".invoicefk","Field","DataType","C(36)")
DBSetProp(ThisView+".invoicefk","Field","UpdateName","dbo.AUCTIONRESULTS.InvoiceFk")
DBSetProp(ThisView+".invoicefk","Field","KeyField",.F.)
DBSetProp(ThisView+".invoicefk","Field","Updatable",.T.)

DBSetProp(ThisView+".vehiclefk","Field","DataType","I")
DBSetProp(ThisView+".vehiclefk","Field","UpdateName","dbo.AUCTIONRESULTS.VehicleFk")
DBSetProp(ThisView+".vehiclefk","Field","KeyField",.F.)
DBSetProp(ThisView+".vehiclefk","Field","Updatable",.T.)

DBSetProp(ThisView+".trucknumber","Field","DataType","C(25)")
DBSetProp(ThisView+".trucknumber","Field","UpdateName","dbo.TOWTRUCK.TruckNumber")
DBSetProp(ThisView+".trucknumber","Field","KeyField",.F.)
DBSetProp(ThisView+".trucknumber","Field","Updatable",.T.)

DBSetProp(ThisView+".cfirstname","Field","DataType","C(30)")
DBSetProp(ThisView+".cfirstname","Field","UpdateName","dbo.SYSTEMUSER.cFirstName")
DBSetProp(ThisView+".cfirstname","Field","KeyField",.F.)
DBSetProp(ThisView+".cfirstname","Field","Updatable",.T.)

DBSetProp(ThisView+".clastname","Field","DataType","C(30)")
DBSetProp(ThisView+".clastname","Field","UpdateName","dbo.SYSTEMUSER.cLastName")
DBSetProp(ThisView+".clastname","Field","KeyField",.F.)
DBSetProp(ThisView+".clastname","Field","Updatable",.T.)

DBSetProp(ThisView+".centryuser","Field","DataType","C(61)")
DBSetProp(ThisView+".centryuser","Field","UpdateName","cEntryUser")
DBSetProp(ThisView+".centryuser","Field","KeyField",.F.)
DBSetProp(ThisView+".centryuser","Field","Updatable",.F.)

DBSetProp(ThisView+".clicense","Field","DataType","C(15)")
DBSetProp(ThisView+".clicense","Field","UpdateName","vehicle.cLicense")
DBSetProp(ThisView+".clicense","Field","KeyField",.F.)
DBSetProp(ThisView+".clicense","Field","Updatable",.T.)

DBSetProp(ThisView+".clicensestate","Field","DataType","C(2)")
DBSetProp(ThisView+".clicensestate","Field","UpdateName","vehicle.cLicenseState")
DBSetProp(ThisView+".clicensestate","Field","KeyField",.F.)
DBSetProp(ThisView+".clicensestate","Field","Updatable",.T.)

DBSetProp(ThisView+".caddress1","Field","DataType","C(45)")
DBSetProp(ThisView+".caddress1","Field","UpdateName","dbo.TOWADDRESS.cAddress1")
DBSetProp(ThisView+".caddress1","Field","KeyField",.F.)
DBSetProp(ThisView+".caddress1","Field","Updatable",.T.)

DBSetProp(ThisView+".ccity","Field","DataType","C(35)")
DBSetProp(ThisView+".ccity","Field","UpdateName","dbo.TOWADDRESS.cCity")
DBSetProp(ThisView+".ccity","Field","KeyField",.F.)
DBSetProp(ThisView+".ccity","Field","Updatable",.T.)

DBSetProp(ThisView+".cstate","Field","DataType","C(2)")
DBSetProp(ThisView+".cstate","Field","UpdateName","dbo.TOWADDRESS.cState")
DBSetProp(ThisView+".cstate","Field","KeyField",.F.)
DBSetProp(ThisView+".cstate","Field","Updatable",.T.)

DBSetProp(ThisView+".czipcode","Field","DataType","C(5)")
DBSetProp(ThisView+".czipcode","Field","UpdateName","dbo.TOWADDRESS.cZipcode")
DBSetProp(ThisView+".czipcode","Field","KeyField",.F.)
DBSetProp(ThisView+".czipcode","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_allowed","Field","DataType","I")
DBSetProp(ThisView+".fky_allowed","Field","UpdateName","dbo.TOWADDRESS.fky_allowed")
DBSetProp(ThisView+".fky_allowed","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_allowed","Field","Updatable",.T.)

DBSetProp(ThisView+".truckid","Field","DataType","I")
DBSetProp(ThisView+".truckid","Field","UpdateName","dbo.TOWTRUCK.Id")
DBSetProp(ThisView+".truckid","Field","KeyField",.T.)
DBSetProp(ThisView+".truckid","Field","Updatable",.F.)

DBSetProp(ThisView+".userid","Field","DataType","I")
DBSetProp(ThisView+".userid","Field","UpdateName","dbo.SYSTEMUSER.ID")
DBSetProp(ThisView+".userid","Field","KeyField",.T.)
DBSetProp(ThisView+".userid","Field","Updatable",.F.)

DBSetProp(ThisView+".towaddressid","Field","DataType","I")
DBSetProp(ThisView+".towaddressid","Field","UpdateName","dbo.TOWADDRESS.Id")
DBSetProp(ThisView+".towaddressid","Field","KeyField",.T.)
DBSetProp(ThisView+".towaddressid","Field","Updatable",.F.)

DBSetProp(ThisView+".creason","Field","DataType","C(25)")
DBSetProp(ThisView+".creason","Field","UpdateName","dbo.TOWREASON.cReason")
DBSetProp(ThisView+".creason","Field","KeyField",.F.)
DBSetProp(ThisView+".creason","Field","Updatable",.T.)

DBSetProp(ThisView+".lrevenuetow","Field","DataType","L")
DBSetProp(ThisView+".lrevenuetow","Field","UpdateName","dbo.TOWREASON.lRevenueTow")
DBSetProp(ThisView+".lrevenuetow","Field","KeyField",.F.)
DBSetProp(ThisView+".lrevenuetow","Field","Updatable",.T.)

DBSetProp(ThisView+".cdescription","Field","DataType","C(45)")
DBSetProp(ThisView+".cdescription","Field","UpdateName","dbo.TOWREASON.cDESCRIPTION")
DBSetProp(ThisView+".cdescription","Field","KeyField",.F.)
DBSetProp(ThisView+".cdescription","Field","Updatable",.T.)

DBSetProp(ThisView+".towreasonid","Field","DataType","I")
DBSetProp(ThisView+".towreasonid","Field","UpdateName","dbo.TOWREASON.ID")
DBSetProp(ThisView+".towreasonid","Field","KeyField",.T.)
DBSetProp(ThisView+".towreasonid","Field","Updatable",.F.)

DBSetProp(ThisView+".lreleased","Field","DataType","L")
DBSetProp(ThisView+".lreleased","Field","UpdateName","vehicle.lReleased")
DBSetProp(ThisView+".lreleased","Field","KeyField",.F.)
DBSetProp(ThisView+".lreleased","Field","Updatable",.T.)

DBSetProp(ThisView+".creleasenotes","Field","DataType","V(1)")
DBSetProp(ThisView+".creleasenotes","Field","UpdateName","vehicle.cReleaseNotes")
DBSetProp(ThisView+".creleasenotes","Field","KeyField",.F.)
DBSetProp(ThisView+".creleasenotes","Field","Updatable",.T.)

DBSetProp(ThisView+".ldisallowrelease","Field","DataType","L")
DBSetProp(ThisView+".ldisallowrelease","Field","UpdateName","vehicle.lDisallowRelease")
DBSetProp(ThisView+".ldisallowrelease","Field","KeyField",.F.)
DBSetProp(ThisView+".ldisallowrelease","Field","Updatable",.T.)

DBSetProp(ThisView+".lauctiondelivered","Field","DataType","L")
DBSetProp(ThisView+".lauctiondelivered","Field","UpdateName","vehicle.lAuctionDelivered")
DBSetProp(ThisView+".lauctiondelivered","Field","KeyField",.F.)
DBSetProp(ThisView+".lauctiondelivered","Field","Updatable",.T.)

DBSetProp(ThisView+".lcashierprinted","Field","DataType","L")
DBSetProp(ThisView+".lcashierprinted","Field","UpdateName","redemption.lCashierPrinted")
DBSetProp(ThisView+".lcashierprinted","Field","KeyField",.F.)
DBSetProp(ThisView+".lcashierprinted","Field","Updatable",.F.)

DBSetProp(ThisView+".cpoundname","Field","DataType","C(25)")
DBSetProp(ThisView+".cpoundname","Field","UpdateName","dbo.POUND.ShortName")
DBSetProp(ThisView+".cpoundname","Field","KeyField",.F.)
DBSetProp(ThisView+".cpoundname","Field","Updatable",.F.)

DBSetProp(ThisView+".poundid","Field","DataType","I")
DBSetProp(ThisView+".poundid","Field","UpdateName","dbo.POUND.Id")
DBSetProp(ThisView+".poundid","Field","KeyField",.T.)
DBSetProp(ThisView+".poundid","Field","Updatable",.F.)

DBSetProp(ThisView+".cbroker","Field","DataType","C(60)")
DBSetProp(ThisView+".cbroker","Field","UpdateName","dbo.TOWBROKER.cName")
DBSetProp(ThisView+".cbroker","Field","KeyField",.F.)
DBSetProp(ThisView+".cbroker","Field","Updatable",.F.)

DBSetProp(ThisView+".ccustomer","Field","DataType","C(60)")
DBSetProp(ThisView+".ccustomer","Field","UpdateName","dbo.CUSTOMER.BusinessName")
DBSetProp(ThisView+".ccustomer","Field","KeyField",.F.)
DBSetProp(ThisView+".ccustomer","Field","Updatable",.F.)

DBSetProp(ThisView+".cfirstname1","Field","DataType","C(45)")
DBSetProp(ThisView+".cfirstname1","Field","UpdateName","dbo.TOWDRIVER.cFirstName")
DBSetProp(ThisView+".cfirstname1","Field","KeyField",.F.)
DBSetProp(ThisView+".cfirstname1","Field","Updatable",.F.)

DBSetProp(ThisView+".clastname1","Field","DataType","C(45)")
DBSetProp(ThisView+".clastname1","Field","UpdateName","dbo.TOWDRIVER.cLastName")
DBSetProp(ThisView+".clastname1","Field","KeyField",.F.)
DBSetProp(ThisView+".clastname1","Field","Updatable",.F.)

DBSetProp(ThisView+".cdriver","Field","DataType","C(91)")
DBSetProp(ThisView+".cdriver","Field","UpdateName","cDriver")
DBSetProp(ThisView+".cdriver","Field","KeyField",.F.)
DBSetProp(ThisView+".cdriver","Field","Updatable",.F.)

DBSetProp(ThisView+".fky_tow1","Field","DataType","I")
DBSetProp(ThisView+".fky_tow1","Field","UpdateName","dbo.TOWADDRESS.fky_tow")
DBSetProp(ThisView+".fky_tow1","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_tow1","Field","Updatable",.F.)

DBSetProp(ThisView+".id1","Field","DataType","I")
DBSetProp(ThisView+".id1","Field","UpdateName","dbo.CUSTOMER.ID")
DBSetProp(ThisView+".id1","Field","KeyField",.T.)
DBSetProp(ThisView+".id1","Field","Updatable",.F.)


Thanks for this feedback, that's a very easy fix.

I hope Gilles (an others) will also provide feedback so that we can release a beta 2


So far it seems to work very well. To start I loaded a data set that before was bringing the system to its knees and I was able to page thru flawlessly.

I have discovered one small issue. If a view returns no records, it generates a record out of range error here twice:




-- thn (FoxInCloud)

Gravatar is a globally recognized avatar based on your email address. Re: progressive fetching feedback
  FoxInCloud Support - Thierry N.
  Tuvia Vinitsky
  Dec 7, 2015 @ 08:37am
.selectedIndex = -1 probably makes .value no longer bound to an <option>


I think -1 is working.


yes, I would bet so
or you can try .selectedIndex = -1 before setting .value


Little confused. Initially somehow the value is set to an empty string, although an empty string is not one of the <option> in the <select>. Once I choose one of the <option>, how can I get back to the state of that original empty string? Am I going to have to add an empty string <option> to every <select>?


any value should match an <option> in the <select>
also VFP adds a 'ghost' .List entry if .Value matches none of the values existing in .List


the .selectedIndex = 0 resets to the first choice on the select, not to the initial empty value.


you can always use
$('')

.wcID is calculated using wcID()


Yep, I see that now. Command button and comboboxes are at the same level now, I will put the command button inside a container and see if that helps.


the issue maybe that the commandbutton stands before the combos in the parent-child order and, thus, the combos.wcID are not set yet when cmd.click() generates
that's a known issue
workaround is to send command button to the foreground if possible


I note this has to be done at form level; at class level .wcid is not populated.


Hi Tuvia,

We've added a sample 'Clear Combos Values' in http://foxincloud.com/tutotest/valuesDelayed.tuto

Here the cmdClear.click() code:

* thisForm.cmdClear as Ficcmd (of ficsample.vcx) as Commandbutton
* Source code read from "valuesdelayed.scx" and colorized at 12/07/2015 11:58:32 AM

PROCEDURE Click
if m.thisForm.wlHTMLgen && Added by FoxInCloud base classes Manager (source mode) on 11/28/14 18:19:21
local cJS as String

text to cJS textmerge noshow flags 1 pretext 3
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
$('').selectedIndex = 0;
comboValueCollect('', $('').value);
endtext

return m.cJS
endif

store 1 to ;
this.Parent.ficcboJSvalue1.ListIndex;
, this.Parent.ficcboJSvalue2.ListIndex;
, this.Parent.ficcboJSvalue3.ListIndex;
ENDPROC


So far it seems to work very well. To start I loaded a data set that before was bringing the system to its knees and I was able to page thru flawlessly.

I have discovered one small issue. If a view returns no records, it generates a record out of range error here twice:












-- thn (FoxInCloud)

Gravatar is a globally recognized avatar based on your email address. Re: progressive fetching feedback
  Tuvia Vinitsky
  Thierry Nivelet (FoxInCloud)
  Dec 7, 2015 @ 10:11am
That seems to have fixed it.


could you try to add this instruction
lc__View__ = Upper(Alltrim(m.lc__View__))

before
lo__View__ = lo__This____.Item(m.lc__View__)


With the progressive fetching, when I do a form.wViewsrequery('view1'), I get an error:

index or expression does not match an exisiting member of collection

The view is this, if it matters:

SELECT Tows.ID, Tows.GUIDKEY, Tows.cStockNumberCPD, Tows.cStatus,;
Tows.ccallername, Tows.cCallerPhone, Tows.ckey_location, Tows.ntow_miles,;
Tows.advanced_check, Tows.tcall_time, Tows.ttow_time,;
Tows.tassigned_time, Tows.ltow_assigned, Tows.cdeliver_to, Tows.nWard,;
Tows.npriority, Tows.fky_customer, Tows.fky_pound, Tows.nPoliceDistrict,;
Tows.fky_reason, Tows.fky_broker, Tows.fky_truck, Tows.fky_driver,;
Tows.fky_user, Tows.cReloTowType, Tows.lPoliceNotified, Tows.mnotes,;
Tows.lVINRequestSent,;
IIF(Tows.lvinrequestsent=1,'Yes','No') AS cvinrequest, Tows.nICCNum,;
Tows.nMilesEstimated, Tows.nMilesCharged, Tows.nMilesDriven,;
Tows.nInventory, Tows.nTowControlNumber, Tows.cTowType,;
Vehicle.Id AS vehicleid, Vehicle.fky_tow, Vehicle.cVIN, Vehicle.cMake,;
Vehicle.cModel, Vehicle.cColor, Vehicle.GUIDKEY, Vehicle.lInvHold,;
Vehicle.lIntHold, Vehicle.dCrushDate, Vehicle.cBodyStyle,;
Vehicle.cWeight, Vehicle.cVin6, Vehicle.lVINOverrider,;
Vehicle.lCurrentlyForSale, Vehicle.nSalesAmount, Vehicle.nDriverAmount,;
Vehicle.npostageamount, Vehicle.nMiscFees, Vehicle.nYear,;
Redemption.ID AS redeemid, Redemption.fky_vehicle,;
Redemption.mFeeNotes, Redemption.mPayNotes, Redemption.nStorageFees,;
Redemption.nTowFees, Redemption.tRedeemDate, Redemption.nAmountPaid,;
Redemption.cPaymentMethod, Auctions.id AS auctionid,;
Auctions.cAuctionType, Auctions.lAuctionOnline,;
Auctions.dAuctionDateTime, Auctions.GUIDKEY,;
Auctionresults.AuctionDealerFk, Auctionresults.nBidAmount,;
Auctionresults.AuctionFk, Auctionresults.id AS aucresultsid,;
Auctionresults.cResaleTitle, Auctionresults.cBuyer,;
Auctionresults.InvoiceFk, Auctionresults.VehicleFk,;
Towtruck.TruckNumber, Systemuser.cFirstName, Systemuser.cLastName,;
LTRIM(RTRIM(Systemuser.cfirstname))+' '+LTRIM(RTRIM(Systemuser.clastname)) AS centryuser,;
Vehicle.cLicense, Vehicle.cLicenseState, Towaddress.cAddress1,;
Towaddress.cCity, Towaddress.cState, Towaddress.cZipcode,;
Towaddress.fky_allowed, Towtruck.Id AS truckid,;
Systemuser.ID AS userid, Towaddress.Id AS towaddressid,;
Towreason.cReason, Towreason.lRevenueTow, Towreason.cDESCRIPTION,;
Towreason.ID AS towreasonid, Vehicle.lReleased, Vehicle.cReleaseNotes,;
Vehicle.lDisallowRelease, Vehicle.lAuctionDelivered,;
Redemption.lCashierPrinted, Pound.ShortName AS cpoundname,;
Pound.Id AS poundid, Towbroker.cName AS cbroker,;
Customer.BusinessName AS ccustomer, Towdriver.cFirstName,;
Towdriver.cLastName,;
RTRIM(LTRIM(Towdriver.cfirstname))+' '+LTRIM(RTRIM(Towdriver.clastname)) AS cdriver,;
Towaddress.fky_tow, Customer.ID;
FROM ;
{oj{oj{oj{oj{oj{oj{oj{oj{oj{oj{oj TOWS Tows ;
INNER JOIN vehicle Vehicle ;
ON Tows.ID = Vehicle.fky_tow ;
LEFT OUTER JOIN dbo.POUND Pound ;
ON Tows.fky_pound = Pound.Id} ;
LEFT OUTER JOIN dbo.CUSTOMER Customer ;
ON Tows.fky_customer = Customer.ID} ;
LEFT OUTER JOIN dbo.TOWBROKER Towbroker ;
ON Tows.fky_broker = Towbroker.Id} ;
LEFT OUTER JOIN dbo.TOWDRIVER Towdriver ;
ON Tows.fky_driver = Towdriver.Id} ;
LEFT OUTER JOIN dbo.TOWREASON Towreason ;
ON Tows.fky_reason = Towreason.ID} ;
LEFT OUTER JOIN dbo.TOWADDRESS Towaddress ;
ON Tows.ID = Towaddress.fky_tow} ;
LEFT OUTER JOIN dbo.SYSTEMUSER Systemuser ;
ON Tows.fky_user = Systemuser.ID} ;
LEFT OUTER JOIN dbo.TOWTRUCK Towtruck ;
ON Tows.fky_truck = Towtruck.Id} ;
LEFT OUTER JOIN dbo.AUCTIONRESULTS Auctionresults ;
ON Vehicle.Id = Auctionresults.VehicleFk} ;
LEFT OUTER JOIN dbo.AUCTIONS Auctions ;
ON Auctionresults.AuctionFk = Auctions.id} ;
LEFT OUTER JOIN redemption Redemption ;
ON Vehicle.Id = Redemption.fky_vehicle};
WHERE ( ( ( ( ( ( ( ( ( Tows.tcall_time > ( ?m.oTowapp.cArchiveDate );
AND ( ( ?m.oTowApp.filter_tows_type ) IS NULL;
OR ( ctowtype ) = ( ?m.oTowapp.filter_tows_type ) ) );
AND ( ( ?m.oTowApp.filter_tows_status ) IS NULL;
OR Tows.cStatus = ( ?m.oTowapp.filter_tows_status ) ) );
AND ( ( ?m.oTowApp.filter_tows_date ) IS NULL;
OR CAST(ttow_time AS DATE) = ( ?m.oTowapp.filter_tows_date ) ) );
AND ( ( ?m.oTowApp.filter_tows_customer ) IS NULL;
OR Tows.fky_customer = ( ?m.oTowapp.filter_tows_customer ) ) );
AND ( ( ?m.oTowApp.filter_tows_redeemed ) IS NULL;
OR ( lreleased ) = ( ?m.oTowapp.filter_tows_redeemed ) ) );
AND ( ( ?m.oTowApp.filter_tows_district ) IS NULL;
OR ( npolicedistrict ) = ( ?m.oTowapp.filter_tows_district ) ) );
AND ( ( ?m.oTowApp.filter_tows_ward ) IS NULL;
OR ( nward ) = ( ?m.oTowapp.filter_tows_ward ) ) );
AND ( ( ?m.oTowApp.filter_vehMake ) IS NULL;
OR Vehicle.cMake = ( ?m.oTowapp.filter_vehMake ) ) );
AND ( ( ?m.oTowapp.filter_vehModel ) IS NULL;
OR Vehicle.cModel = ( ?m.oTowApp.filter_vehModel ) ) );
AND ( ( ?m.oTowapp.filter_vehYear ) IS NULL;
OR Vehicle.nYear = ( ?m.oTowApp.filter_vehYear ) );
ORDER BY Tows.nTowControlNumber DESC

DBSetProp(ThisView,"View","SendUpdates",.T.)
DBSetProp(ThisView,"View","BatchUpdateCount",1)
DBSetProp(ThisView,"View","CompareMemo",.T.)
DBSetProp(ThisView,"View","FetchAsNeeded",.T.)
DBSetProp(ThisView,"View","FetchMemo",.T.)
DBSetProp(ThisView,"View","FetchSize",200)
DBSetProp(ThisView,"View","MaxRecords",-1)
DBSetProp(ThisView,"View","Prepared",.F.)
DBSetProp(ThisView,"View","ShareConnection",.F.)
DBSetProp(ThisView,"View","AllowSimultaneousFetch",.T.)
DBSetProp(ThisView,"View","UpdateType",1)
DBSetProp(ThisView,"View","UseMemoSize",255)
DBSetProp(ThisView,"View","Tables","TOWS,vehicle,redemption,dbo.AUCTIONS,dbo.AUCTIONRESULTS,dbo.TOWTRUCK,dbo.SYSTEMUSER,dbo.TOWADDRESS,dbo.TOWREASON")
DBSetProp(ThisView,"View","WhereType",2)

DBSetProp(ThisView+".id","Field","DataType","I")
DBSetProp(ThisView+".id","Field","UpdateName","TOWS.ID")
DBSetProp(ThisView+".id","Field","KeyField",.T.)
DBSetProp(ThisView+".id","Field","Updatable",.F.)

DBSetProp(ThisView+".guidkey","Field","DataType","C(36)")
DBSetProp(ThisView+".guidkey","Field","UpdateName","TOWS.GUIDKEY")
DBSetProp(ThisView+".guidkey","Field","KeyField",.F.)
DBSetProp(ThisView+".guidkey","Field","Updatable",.T.)

DBSetProp(ThisView+".cstocknumbercpd","Field","DataType","C(10)")
DBSetProp(ThisView+".cstocknumbercpd","Field","UpdateName","TOWS.cStockNumberCPD")
DBSetProp(ThisView+".cstocknumbercpd","Field","KeyField",.F.)
DBSetProp(ThisView+".cstocknumbercpd","Field","Updatable",.T.)

DBSetProp(ThisView+".cstatus","Field","DataType","C(25)")
DBSetProp(ThisView+".cstatus","Field","UpdateName","TOWS.cStatus")
DBSetProp(ThisView+".cstatus","Field","KeyField",.F.)
DBSetProp(ThisView+".cstatus","Field","Updatable",.T.)

DBSetProp(ThisView+".ccallername","Field","DataType","C(50)")
DBSetProp(ThisView+".ccallername","Field","UpdateName","TOWS.ccallername")
DBSetProp(ThisView+".ccallername","Field","KeyField",.F.)
DBSetProp(ThisView+".ccallername","Field","Updatable",.T.)

DBSetProp(ThisView+".ccallerphone","Field","DataType","C(20)")
DBSetProp(ThisView+".ccallerphone","Field","UpdateName","TOWS.cCallerPhone")
DBSetProp(ThisView+".ccallerphone","Field","KeyField",.F.)
DBSetProp(ThisView+".ccallerphone","Field","Updatable",.T.)

DBSetProp(ThisView+".ckey_location","Field","DataType","M")
DBSetProp(ThisView+".ckey_location","Field","UpdateName","TOWS.ckey_location")
DBSetProp(ThisView+".ckey_location","Field","KeyField",.F.)
DBSetProp(ThisView+".ckey_location","Field","Updatable",.T.)

DBSetProp(ThisView+".ntow_miles","Field","DataType","I")
DBSetProp(ThisView+".ntow_miles","Field","UpdateName","TOWS.ntow_miles")
DBSetProp(ThisView+".ntow_miles","Field","KeyField",.F.)
DBSetProp(ThisView+".ntow_miles","Field","Updatable",.T.)

DBSetProp(ThisView+".advanced_check","Field","DataType","L")
DBSetProp(ThisView+".advanced_check","Field","UpdateName","TOWS.advanced_check")
DBSetProp(ThisView+".advanced_check","Field","KeyField",.F.)
DBSetProp(ThisView+".advanced_check","Field","Updatable",.T.)

DBSetProp(ThisView+".tcall_time","Field","DataType","T")
DBSetProp(ThisView+".tcall_time","Field","UpdateName","TOWS.tcall_time")
DBSetProp(ThisView+".tcall_time","Field","KeyField",.F.)
DBSetProp(ThisView+".tcall_time","Field","Updatable",.T.)

DBSetProp(ThisView+".ttow_time","Field","DataType","T")
DBSetProp(ThisView+".ttow_time","Field","UpdateName","TOWS.ttow_time")
DBSetProp(ThisView+".ttow_time","Field","KeyField",.F.)
DBSetProp(ThisView+".ttow_time","Field","Updatable",.T.)

DBSetProp(ThisView+".tassigned_time","Field","DataType","T")
DBSetProp(ThisView+".tassigned_time","Field","UpdateName","TOWS.tassigned_time")
DBSetProp(ThisView+".tassigned_time","Field","KeyField",.F.)
DBSetProp(ThisView+".tassigned_time","Field","Updatable",.T.)

DBSetProp(ThisView+".ltow_assigned","Field","DataType","L")
DBSetProp(ThisView+".ltow_assigned","Field","UpdateName","TOWS.ltow_assigned")
DBSetProp(ThisView+".ltow_assigned","Field","KeyField",.F.)
DBSetProp(ThisView+".ltow_assigned","Field","Updatable",.T.)

DBSetProp(ThisView+".cdeliver_to","Field","DataType","M")
DBSetProp(ThisView+".cdeliver_to","Field","UpdateName","TOWS.cdeliver_to")
DBSetProp(ThisView+".cdeliver_to","Field","KeyField",.F.)
DBSetProp(ThisView+".cdeliver_to","Field","Updatable",.T.)

DBSetProp(ThisView+".nward","Field","DataType","I")
DBSetProp(ThisView+".nward","Field","UpdateName","TOWS.nWard")
DBSetProp(ThisView+".nward","Field","KeyField",.F.)
DBSetProp(ThisView+".nward","Field","Updatable",.T.)

DBSetProp(ThisView+".npriority","Field","DataType","I")
DBSetProp(ThisView+".npriority","Field","UpdateName","TOWS.npriority")
DBSetProp(ThisView+".npriority","Field","KeyField",.F.)
DBSetProp(ThisView+".npriority","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_customer","Field","DataType","I")
DBSetProp(ThisView+".fky_customer","Field","UpdateName","TOWS.fky_customer")
DBSetProp(ThisView+".fky_customer","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_customer","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_pound","Field","DataType","I")
DBSetProp(ThisView+".fky_pound","Field","UpdateName","TOWS.fky_pound")
DBSetProp(ThisView+".fky_pound","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_pound","Field","Updatable",.T.)

DBSetProp(ThisView+".npolicedistrict","Field","DataType","I")
DBSetProp(ThisView+".npolicedistrict","Field","UpdateName","TOWS.nPoliceDistrict")
DBSetProp(ThisView+".npolicedistrict","Field","KeyField",.F.)
DBSetProp(ThisView+".npolicedistrict","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_reason","Field","DataType","I")
DBSetProp(ThisView+".fky_reason","Field","UpdateName","TOWS.fky_reason")
DBSetProp(ThisView+".fky_reason","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_reason","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_broker","Field","DataType","I")
DBSetProp(ThisView+".fky_broker","Field","UpdateName","TOWS.fky_broker")
DBSetProp(ThisView+".fky_broker","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_broker","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_truck","Field","DataType","I")
DBSetProp(ThisView+".fky_truck","Field","UpdateName","TOWS.fky_truck")
DBSetProp(ThisView+".fky_truck","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_truck","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_driver","Field","DataType","I")
DBSetProp(ThisView+".fky_driver","Field","UpdateName","TOWS.fky_driver")
DBSetProp(ThisView+".fky_driver","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_driver","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_user","Field","DataType","I")
DBSetProp(ThisView+".fky_user","Field","UpdateName","TOWS.fky_user")
DBSetProp(ThisView+".fky_user","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_user","Field","Updatable",.T.)

DBSetProp(ThisView+".crelotowtype","Field","DataType","C(10)")
DBSetProp(ThisView+".crelotowtype","Field","UpdateName","TOWS.cReloTowType")
DBSetProp(ThisView+".crelotowtype","Field","KeyField",.F.)
DBSetProp(ThisView+".crelotowtype","Field","Updatable",.T.)

DBSetProp(ThisView+".lpolicenotified","Field","DataType","L")
DBSetProp(ThisView+".lpolicenotified","Field","UpdateName","TOWS.lPoliceNotified")
DBSetProp(ThisView+".lpolicenotified","Field","KeyField",.F.)
DBSetProp(ThisView+".lpolicenotified","Field","Updatable",.T.)

DBSetProp(ThisView+".mnotes","Field","DataType","M")
DBSetProp(ThisView+".mnotes","Field","UpdateName","TOWS.mnotes")
DBSetProp(ThisView+".mnotes","Field","KeyField",.F.)
DBSetProp(ThisView+".mnotes","Field","Updatable",.T.)

DBSetProp(ThisView+".lvinrequestsent","Field","DataType","L")
DBSetProp(ThisView+".lvinrequestsent","Field","UpdateName","TOWS.lVINRequestSent")
DBSetProp(ThisView+".lvinrequestsent","Field","KeyField",.F.)
DBSetProp(ThisView+".lvinrequestsent","Field","Updatable",.T.)

DBSetProp(ThisView+".cvinrequest","Field","DataType","C(3)")
DBSetProp(ThisView+".cvinrequest","Field","UpdateName","cVINRequest")
DBSetProp(ThisView+".cvinrequest","Field","KeyField",.F.)
DBSetProp(ThisView+".cvinrequest","Field","Updatable",.F.)

DBSetProp(ThisView+".niccnum","Field","DataType","C(20)")
DBSetProp(ThisView+".niccnum","Field","UpdateName","TOWS.nICCNum")
DBSetProp(ThisView+".niccnum","Field","KeyField",.F.)
DBSetProp(ThisView+".niccnum","Field","Updatable",.T.)

DBSetProp(ThisView+".nmilesestimated","Field","DataType","I")
DBSetProp(ThisView+".nmilesestimated","Field","UpdateName","TOWS.nMilesEstimated")
DBSetProp(ThisView+".nmilesestimated","Field","KeyField",.F.)
DBSetProp(ThisView+".nmilesestimated","Field","Updatable",.T.)

DBSetProp(ThisView+".nmilescharged","Field","DataType","I")
DBSetProp(ThisView+".nmilescharged","Field","UpdateName","TOWS.nMilesCharged")
DBSetProp(ThisView+".nmilescharged","Field","KeyField",.F.)
DBSetProp(ThisView+".nmilescharged","Field","Updatable",.T.)

DBSetProp(ThisView+".nmilesdriven","Field","DataType","I")
DBSetProp(ThisView+".nmilesdriven","Field","UpdateName","TOWS.nMilesDriven")
DBSetProp(ThisView+".nmilesdriven","Field","KeyField",.F.)
DBSetProp(ThisView+".nmilesdriven","Field","Updatable",.T.)

DBSetProp(ThisView+".ninventory","Field","DataType","I")
DBSetProp(ThisView+".ninventory","Field","UpdateName","TOWS.nInventory")
DBSetProp(ThisView+".ninventory","Field","KeyField",.F.)
DBSetProp(ThisView+".ninventory","Field","Updatable",.T.)

DBSetProp(ThisView+".ntowcontrolnumber","Field","DataType","I")
DBSetProp(ThisView+".ntowcontrolnumber","Field","UpdateName","TOWS.nTowControlNumber")
DBSetProp(ThisView+".ntowcontrolnumber","Field","KeyField",.F.)
DBSetProp(ThisView+".ntowcontrolnumber","Field","Updatable",.T.)

DBSetProp(ThisView+".ctowtype","Field","DataType","C(20)")
DBSetProp(ThisView+".ctowtype","Field","UpdateName","TOWS.cTowType")
DBSetProp(ThisView+".ctowtype","Field","KeyField",.F.)
DBSetProp(ThisView+".ctowtype","Field","Updatable",.T.)

DBSetProp(ThisView+".vehicleid","Field","Caption","VehicleID")
DBSetProp(ThisView+".vehicleid","Field","DataType","I")
DBSetProp(ThisView+".vehicleid","Field","UpdateName","vehicle.Id")
DBSetProp(ThisView+".vehicleid","Field","KeyField",.T.)
DBSetProp(ThisView+".vehicleid","Field","Updatable",.F.)

DBSetProp(ThisView+".fky_tow","Field","DataType","I")
DBSetProp(ThisView+".fky_tow","Field","UpdateName","vehicle.fky_tow")
DBSetProp(ThisView+".fky_tow","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_tow","Field","Updatable",.T.)

DBSetProp(ThisView+".cvin","Field","DataType","C(35)")
DBSetProp(ThisView+".cvin","Field","UpdateName","vehicle.cVIN")
DBSetProp(ThisView+".cvin","Field","KeyField",.F.)
DBSetProp(ThisView+".cvin","Field","Updatable",.T.)

DBSetProp(ThisView+".cmake","Field","DataType","C(20)")
DBSetProp(ThisView+".cmake","Field","UpdateName","vehicle.cMake")
DBSetProp(ThisView+".cmake","Field","KeyField",.F.)
DBSetProp(ThisView+".cmake","Field","Updatable",.T.)

DBSetProp(ThisView+".cmodel","Field","DataType","C(30)")
DBSetProp(ThisView+".cmodel","Field","UpdateName","vehicle.cModel")
DBSetProp(ThisView+".cmodel","Field","KeyField",.F.)
DBSetProp(ThisView+".cmodel","Field","Updatable",.T.)

DBSetProp(ThisView+".ccolor","Field","DataType","C(10)")
DBSetProp(ThisView+".ccolor","Field","UpdateName","vehicle.cColor")
DBSetProp(ThisView+".ccolor","Field","KeyField",.F.)
DBSetProp(ThisView+".ccolor","Field","Updatable",.T.)

DBSetProp(ThisView+".guidkey1","Field","DataType","C(36)")
DBSetProp(ThisView+".guidkey1","Field","UpdateName","vehicle.GUIDKEY")
DBSetProp(ThisView+".guidkey1","Field","KeyField",.F.)
DBSetProp(ThisView+".guidkey1","Field","Updatable",.T.)

DBSetProp(ThisView+".linvhold","Field","DataType","L")
DBSetProp(ThisView+".linvhold","Field","UpdateName","vehicle.lInvHold")
DBSetProp(ThisView+".linvhold","Field","KeyField",.F.)
DBSetProp(ThisView+".linvhold","Field","Updatable",.T.)

DBSetProp(ThisView+".linthold","Field","DataType","L")
DBSetProp(ThisView+".linthold","Field","UpdateName","vehicle.lIntHold")
DBSetProp(ThisView+".linthold","Field","KeyField",.F.)
DBSetProp(ThisView+".linthold","Field","Updatable",.T.)

DBSetProp(ThisView+".dcrushdate","Field","DataType","D")
DBSetProp(ThisView+".dcrushdate","Field","UpdateName","vehicle.dCrushDate")
DBSetProp(ThisView+".dcrushdate","Field","KeyField",.F.)
DBSetProp(ThisView+".dcrushdate","Field","Updatable",.T.)

DBSetProp(ThisView+".cbodystyle","Field","DataType","C(20)")
DBSetProp(ThisView+".cbodystyle","Field","UpdateName","vehicle.cBodyStyle")
DBSetProp(ThisView+".cbodystyle","Field","KeyField",.F.)
DBSetProp(ThisView+".cbodystyle","Field","Updatable",.T.)

DBSetProp(ThisView+".cweight","Field","DataType","C(10)")
DBSetProp(ThisView+".cweight","Field","UpdateName","vehicle.cWeight")
DBSetProp(ThisView+".cweight","Field","KeyField",.F.)
DBSetProp(ThisView+".cweight","Field","Updatable",.T.)

DBSetProp(ThisView+".cvin6","Field","DataType","C(6)")
DBSetProp(ThisView+".cvin6","Field","UpdateName","vehicle.cVin6")
DBSetProp(ThisView+".cvin6","Field","KeyField",.F.)
DBSetProp(ThisView+".cvin6","Field","Updatable",.T.)

DBSetProp(ThisView+".lvinoverrider","Field","DataType","I")
DBSetProp(ThisView+".lvinoverrider","Field","UpdateName","vehicle.lVINOverrider")
DBSetProp(ThisView+".lvinoverrider","Field","KeyField",.F.)
DBSetProp(ThisView+".lvinoverrider","Field","Updatable",.T.)

DBSetProp(ThisView+".lcurrentlyforsale","Field","DataType","L")
DBSetProp(ThisView+".lcurrentlyforsale","Field","UpdateName","vehicle.lCurrentlyForSale")
DBSetProp(ThisView+".lcurrentlyforsale","Field","KeyField",.F.)
DBSetProp(ThisView+".lcurrentlyforsale","Field","Updatable",.T.)

DBSetProp(ThisView+".nsalesamount","Field","DataType","Y")
DBSetProp(ThisView+".nsalesamount","Field","UpdateName","vehicle.nSalesAmount")
DBSetProp(ThisView+".nsalesamount","Field","KeyField",.F.)
DBSetProp(ThisView+".nsalesamount","Field","Updatable",.T.)

DBSetProp(ThisView+".ndriveramount","Field","DataType","Y")
DBSetProp(ThisView+".ndriveramount","Field","UpdateName","vehicle.nDriverAmount")
DBSetProp(ThisView+".ndriveramount","Field","KeyField",.F.)
DBSetProp(ThisView+".ndriveramount","Field","Updatable",.T.)

DBSetProp(ThisView+".npostageamount","Field","DataType","Y")
DBSetProp(ThisView+".npostageamount","Field","UpdateName","vehicle.npostageamount")
DBSetProp(ThisView+".npostageamount","Field","KeyField",.F.)
DBSetProp(ThisView+".npostageamount","Field","Updatable",.T.)

DBSetProp(ThisView+".nmiscfees","Field","DataType","Y")
DBSetProp(ThisView+".nmiscfees","Field","UpdateName","vehicle.nMiscFees")
DBSetProp(ThisView+".nmiscfees","Field","KeyField",.F.)
DBSetProp(ThisView+".nmiscfees","Field","Updatable",.T.)

DBSetProp(ThisView+".nyear","Field","DataType","I")
DBSetProp(ThisView+".nyear","Field","UpdateName","vehicle.nYear")
DBSetProp(ThisView+".nyear","Field","KeyField",.F.)
DBSetProp(ThisView+".nyear","Field","Updatable",.T.)

DBSetProp(ThisView+".redeemid","Field","DataType","I")
DBSetProp(ThisView+".redeemid","Field","UpdateName","redemption.ID")
DBSetProp(ThisView+".redeemid","Field","KeyField",.T.)
DBSetProp(ThisView+".redeemid","Field","Updatable",.F.)

DBSetProp(ThisView+".fky_vehicle","Field","DataType","I")
DBSetProp(ThisView+".fky_vehicle","Field","UpdateName","redemption.fky_vehicle")
DBSetProp(ThisView+".fky_vehicle","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_vehicle","Field","Updatable",.T.)

DBSetProp(ThisView+".mfeenotes","Field","DataType","M")
DBSetProp(ThisView+".mfeenotes","Field","UpdateName","redemption.mFeeNotes")
DBSetProp(ThisView+".mfeenotes","Field","KeyField",.F.)
DBSetProp(ThisView+".mfeenotes","Field","Updatable",.T.)

DBSetProp(ThisView+".mpaynotes","Field","DataType","M")
DBSetProp(ThisView+".mpaynotes","Field","UpdateName","redemption.mPayNotes")
DBSetProp(ThisView+".mpaynotes","Field","KeyField",.F.)
DBSetProp(ThisView+".mpaynotes","Field","Updatable",.T.)

DBSetProp(ThisView+".nstoragefees","Field","DataType","Y")
DBSetProp(ThisView+".nstoragefees","Field","UpdateName","redemption.nStorageFees")
DBSetProp(ThisView+".nstoragefees","Field","KeyField",.F.)
DBSetProp(ThisView+".nstoragefees","Field","Updatable",.T.)

DBSetProp(ThisView+".ntowfees","Field","DataType","Y")
DBSetProp(ThisView+".ntowfees","Field","UpdateName","redemption.nTowFees")
DBSetProp(ThisView+".ntowfees","Field","KeyField",.F.)
DBSetProp(ThisView+".ntowfees","Field","Updatable",.T.)

DBSetProp(ThisView+".tredeemdate","Field","DataType","T")
DBSetProp(ThisView+".tredeemdate","Field","UpdateName","redemption.tRedeemDate")
DBSetProp(ThisView+".tredeemdate","Field","KeyField",.F.)
DBSetProp(ThisView+".tredeemdate","Field","Updatable",.T.)

DBSetProp(ThisView+".namountpaid","Field","DataType","Y")
DBSetProp(ThisView+".namountpaid","Field","UpdateName","redemption.nAmountPaid")
DBSetProp(ThisView+".namountpaid","Field","KeyField",.F.)
DBSetProp(ThisView+".namountpaid","Field","Updatable",.T.)

DBSetProp(ThisView+".cpaymentmethod","Field","DataType","C(10)")
DBSetProp(ThisView+".cpaymentmethod","Field","UpdateName","redemption.cPaymentMethod")
DBSetProp(ThisView+".cpaymentmethod","Field","KeyField",.F.)
DBSetProp(ThisView+".cpaymentmethod","Field","Updatable",.T.)

DBSetProp(ThisView+".auctionid","Field","DataType","I")
DBSetProp(ThisView+".auctionid","Field","UpdateName","dbo.AUCTIONS.id")
DBSetProp(ThisView+".auctionid","Field","KeyField",.T.)
DBSetProp(ThisView+".auctionid","Field","Updatable",.F.)

DBSetProp(ThisView+".cauctiontype","Field","DataType","C(40)")
DBSetProp(ThisView+".cauctiontype","Field","UpdateName","dbo.AUCTIONS.cAuctionType")
DBSetProp(ThisView+".cauctiontype","Field","KeyField",.F.)
DBSetProp(ThisView+".cauctiontype","Field","Updatable",.T.)

DBSetProp(ThisView+".lauctiononline","Field","DataType","L")
DBSetProp(ThisView+".lauctiononline","Field","UpdateName","dbo.AUCTIONS.lAuctionOnline")
DBSetProp(ThisView+".lauctiononline","Field","KeyField",.F.)
DBSetProp(ThisView+".lauctiononline","Field","Updatable",.T.)

DBSetProp(ThisView+".dauctiondatetime","Field","DataType","T")
DBSetProp(ThisView+".dauctiondatetime","Field","UpdateName","dbo.AUCTIONS.dAuctionDateTime")
DBSetProp(ThisView+".dauctiondatetime","Field","KeyField",.F.)
DBSetProp(ThisView+".dauctiondatetime","Field","Updatable",.T.)

DBSetProp(ThisView+".guidkey2","Field","DataType","C(36)")
DBSetProp(ThisView+".guidkey2","Field","UpdateName","dbo.AUCTIONS.GUIDKEY")
DBSetProp(ThisView+".guidkey2","Field","KeyField",.F.)
DBSetProp(ThisView+".guidkey2","Field","Updatable",.T.)

DBSetProp(ThisView+".auctiondealerfk","Field","DataType","I")
DBSetProp(ThisView+".auctiondealerfk","Field","UpdateName","dbo.AUCTIONRESULTS.AuctionDealerFk")
DBSetProp(ThisView+".auctiondealerfk","Field","KeyField",.F.)
DBSetProp(ThisView+".auctiondealerfk","Field","Updatable",.T.)

DBSetProp(ThisView+".nbidamount","Field","DataType","Y")
DBSetProp(ThisView+".nbidamount","Field","UpdateName","dbo.AUCTIONRESULTS.nBidAmount")
DBSetProp(ThisView+".nbidamount","Field","KeyField",.F.)
DBSetProp(ThisView+".nbidamount","Field","Updatable",.T.)

DBSetProp(ThisView+".auctionfk","Field","DataType","I")
DBSetProp(ThisView+".auctionfk","Field","UpdateName","dbo.AUCTIONRESULTS.AuctionFk")
DBSetProp(ThisView+".auctionfk","Field","KeyField",.F.)
DBSetProp(ThisView+".auctionfk","Field","Updatable",.T.)

DBSetProp(ThisView+".aucresultsid","Field","DataType","I")
DBSetProp(ThisView+".aucresultsid","Field","UpdateName","dbo.AUCTIONRESULTS.id")
DBSetProp(ThisView+".aucresultsid","Field","KeyField",.T.)
DBSetProp(ThisView+".aucresultsid","Field","Updatable",.F.)

DBSetProp(ThisView+".cresaletitle","Field","DataType","C(35)")
DBSetProp(ThisView+".cresaletitle","Field","UpdateName","dbo.AUCTIONRESULTS.cResaleTitle")
DBSetProp(ThisView+".cresaletitle","Field","KeyField",.F.)
DBSetProp(ThisView+".cresaletitle","Field","Updatable",.T.)

DBSetProp(ThisView+".cbuyer","Field","DataType","C(60)")
DBSetProp(ThisView+".cbuyer","Field","UpdateName","dbo.AUCTIONRESULTS.cBuyer")
DBSetProp(ThisView+".cbuyer","Field","KeyField",.F.)
DBSetProp(ThisView+".cbuyer","Field","Updatable",.T.)

DBSetProp(ThisView+".invoicefk","Field","DataType","C(36)")
DBSetProp(ThisView+".invoicefk","Field","UpdateName","dbo.AUCTIONRESULTS.InvoiceFk")
DBSetProp(ThisView+".invoicefk","Field","KeyField",.F.)
DBSetProp(ThisView+".invoicefk","Field","Updatable",.T.)

DBSetProp(ThisView+".vehiclefk","Field","DataType","I")
DBSetProp(ThisView+".vehiclefk","Field","UpdateName","dbo.AUCTIONRESULTS.VehicleFk")
DBSetProp(ThisView+".vehiclefk","Field","KeyField",.F.)
DBSetProp(ThisView+".vehiclefk","Field","Updatable",.T.)

DBSetProp(ThisView+".trucknumber","Field","DataType","C(25)")
DBSetProp(ThisView+".trucknumber","Field","UpdateName","dbo.TOWTRUCK.TruckNumber")
DBSetProp(ThisView+".trucknumber","Field","KeyField",.F.)
DBSetProp(ThisView+".trucknumber","Field","Updatable",.T.)

DBSetProp(ThisView+".cfirstname","Field","DataType","C(30)")
DBSetProp(ThisView+".cfirstname","Field","UpdateName","dbo.SYSTEMUSER.cFirstName")
DBSetProp(ThisView+".cfirstname","Field","KeyField",.F.)
DBSetProp(ThisView+".cfirstname","Field","Updatable",.T.)

DBSetProp(ThisView+".clastname","Field","DataType","C(30)")
DBSetProp(ThisView+".clastname","Field","UpdateName","dbo.SYSTEMUSER.cLastName")
DBSetProp(ThisView+".clastname","Field","KeyField",.F.)
DBSetProp(ThisView+".clastname","Field","Updatable",.T.)

DBSetProp(ThisView+".centryuser","Field","DataType","C(61)")
DBSetProp(ThisView+".centryuser","Field","UpdateName","cEntryUser")
DBSetProp(ThisView+".centryuser","Field","KeyField",.F.)
DBSetProp(ThisView+".centryuser","Field","Updatable",.F.)

DBSetProp(ThisView+".clicense","Field","DataType","C(15)")
DBSetProp(ThisView+".clicense","Field","UpdateName","vehicle.cLicense")
DBSetProp(ThisView+".clicense","Field","KeyField",.F.)
DBSetProp(ThisView+".clicense","Field","Updatable",.T.)

DBSetProp(ThisView+".clicensestate","Field","DataType","C(2)")
DBSetProp(ThisView+".clicensestate","Field","UpdateName","vehicle.cLicenseState")
DBSetProp(ThisView+".clicensestate","Field","KeyField",.F.)
DBSetProp(ThisView+".clicensestate","Field","Updatable",.T.)

DBSetProp(ThisView+".caddress1","Field","DataType","C(45)")
DBSetProp(ThisView+".caddress1","Field","UpdateName","dbo.TOWADDRESS.cAddress1")
DBSetProp(ThisView+".caddress1","Field","KeyField",.F.)
DBSetProp(ThisView+".caddress1","Field","Updatable",.T.)

DBSetProp(ThisView+".ccity","Field","DataType","C(35)")
DBSetProp(ThisView+".ccity","Field","UpdateName","dbo.TOWADDRESS.cCity")
DBSetProp(ThisView+".ccity","Field","KeyField",.F.)
DBSetProp(ThisView+".ccity","Field","Updatable",.T.)

DBSetProp(ThisView+".cstate","Field","DataType","C(2)")
DBSetProp(ThisView+".cstate","Field","UpdateName","dbo.TOWADDRESS.cState")
DBSetProp(ThisView+".cstate","Field","KeyField",.F.)
DBSetProp(ThisView+".cstate","Field","Updatable",.T.)

DBSetProp(ThisView+".czipcode","Field","DataType","C(5)")
DBSetProp(ThisView+".czipcode","Field","UpdateName","dbo.TOWADDRESS.cZipcode")
DBSetProp(ThisView+".czipcode","Field","KeyField",.F.)
DBSetProp(ThisView+".czipcode","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_allowed","Field","DataType","I")
DBSetProp(ThisView+".fky_allowed","Field","UpdateName","dbo.TOWADDRESS.fky_allowed")
DBSetProp(ThisView+".fky_allowed","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_allowed","Field","Updatable",.T.)

DBSetProp(ThisView+".truckid","Field","DataType","I")
DBSetProp(ThisView+".truckid","Field","UpdateName","dbo.TOWTRUCK.Id")
DBSetProp(ThisView+".truckid","Field","KeyField",.T.)
DBSetProp(ThisView+".truckid","Field","Updatable",.F.)

DBSetProp(ThisView+".userid","Field","DataType","I")
DBSetProp(ThisView+".userid","Field","UpdateName","dbo.SYSTEMUSER.ID")
DBSetProp(ThisView+".userid","Field","KeyField",.T.)
DBSetProp(ThisView+".userid","Field","Updatable",.F.)

DBSetProp(ThisView+".towaddressid","Field","DataType","I")
DBSetProp(ThisView+".towaddressid","Field","UpdateName","dbo.TOWADDRESS.Id")
DBSetProp(ThisView+".towaddressid","Field","KeyField",.T.)
DBSetProp(ThisView+".towaddressid","Field","Updatable",.F.)

DBSetProp(ThisView+".creason","Field","DataType","C(25)")
DBSetProp(ThisView+".creason","Field","UpdateName","dbo.TOWREASON.cReason")
DBSetProp(ThisView+".creason","Field","KeyField",.F.)
DBSetProp(ThisView+".creason","Field","Updatable",.T.)

DBSetProp(ThisView+".lrevenuetow","Field","DataType","L")
DBSetProp(ThisView+".lrevenuetow","Field","UpdateName","dbo.TOWREASON.lRevenueTow")
DBSetProp(ThisView+".lrevenuetow","Field","KeyField",.F.)
DBSetProp(ThisView+".lrevenuetow","Field","Updatable",.T.)

DBSetProp(ThisView+".cdescription","Field","DataType","C(45)")
DBSetProp(ThisView+".cdescription","Field","UpdateName","dbo.TOWREASON.cDESCRIPTION")
DBSetProp(ThisView+".cdescription","Field","KeyField",.F.)
DBSetProp(ThisView+".cdescription","Field","Updatable",.T.)

DBSetProp(ThisView+".towreasonid","Field","DataType","I")
DBSetProp(ThisView+".towreasonid","Field","UpdateName","dbo.TOWREASON.ID")
DBSetProp(ThisView+".towreasonid","Field","KeyField",.T.)
DBSetProp(ThisView+".towreasonid","Field","Updatable",.F.)

DBSetProp(ThisView+".lreleased","Field","DataType","L")
DBSetProp(ThisView+".lreleased","Field","UpdateName","vehicle.lReleased")
DBSetProp(ThisView+".lreleased","Field","KeyField",.F.)
DBSetProp(ThisView+".lreleased","Field","Updatable",.T.)

DBSetProp(ThisView+".creleasenotes","Field","DataType","V(1)")
DBSetProp(ThisView+".creleasenotes","Field","UpdateName","vehicle.cReleaseNotes")
DBSetProp(ThisView+".creleasenotes","Field","KeyField",.F.)
DBSetProp(ThisView+".creleasenotes","Field","Updatable",.T.)

DBSetProp(ThisView+".ldisallowrelease","Field","DataType","L")
DBSetProp(ThisView+".ldisallowrelease","Field","UpdateName","vehicle.lDisallowRelease")
DBSetProp(ThisView+".ldisallowrelease","Field","KeyField",.F.)
DBSetProp(ThisView+".ldisallowrelease","Field","Updatable",.T.)

DBSetProp(ThisView+".lauctiondelivered","Field","DataType","L")
DBSetProp(ThisView+".lauctiondelivered","Field","UpdateName","vehicle.lAuctionDelivered")
DBSetProp(ThisView+".lauctiondelivered","Field","KeyField",.F.)
DBSetProp(ThisView+".lauctiondelivered","Field","Updatable",.T.)

DBSetProp(ThisView+".lcashierprinted","Field","DataType","L")
DBSetProp(ThisView+".lcashierprinted","Field","UpdateName","redemption.lCashierPrinted")
DBSetProp(ThisView+".lcashierprinted","Field","KeyField",.F.)
DBSetProp(ThisView+".lcashierprinted","Field","Updatable",.F.)

DBSetProp(ThisView+".cpoundname","Field","DataType","C(25)")
DBSetProp(ThisView+".cpoundname","Field","UpdateName","dbo.POUND.ShortName")
DBSetProp(ThisView+".cpoundname","Field","KeyField",.F.)
DBSetProp(ThisView+".cpoundname","Field","Updatable",.F.)

DBSetProp(ThisView+".poundid","Field","DataType","I")
DBSetProp(ThisView+".poundid","Field","UpdateName","dbo.POUND.Id")
DBSetProp(ThisView+".poundid","Field","KeyField",.T.)
DBSetProp(ThisView+".poundid","Field","Updatable",.F.)

DBSetProp(ThisView+".cbroker","Field","DataType","C(60)")
DBSetProp(ThisView+".cbroker","Field","UpdateName","dbo.TOWBROKER.cName")
DBSetProp(ThisView+".cbroker","Field","KeyField",.F.)
DBSetProp(ThisView+".cbroker","Field","Updatable",.F.)

DBSetProp(ThisView+".ccustomer","Field","DataType","C(60)")
DBSetProp(ThisView+".ccustomer","Field","UpdateName","dbo.CUSTOMER.BusinessName")
DBSetProp(ThisView+".ccustomer","Field","KeyField",.F.)
DBSetProp(ThisView+".ccustomer","Field","Updatable",.F.)

DBSetProp(ThisView+".cfirstname1","Field","DataType","C(45)")
DBSetProp(ThisView+".cfirstname1","Field","UpdateName","dbo.TOWDRIVER.cFirstName")
DBSetProp(ThisView+".cfirstname1","Field","KeyField",.F.)
DBSetProp(ThisView+".cfirstname1","Field","Updatable",.F.)

DBSetProp(ThisView+".clastname1","Field","DataType","C(45)")
DBSetProp(ThisView+".clastname1","Field","UpdateName","dbo.TOWDRIVER.cLastName")
DBSetProp(ThisView+".clastname1","Field","KeyField",.F.)
DBSetProp(ThisView+".clastname1","Field","Updatable",.F.)

DBSetProp(ThisView+".cdriver","Field","DataType","C(91)")
DBSetProp(ThisView+".cdriver","Field","UpdateName","cDriver")
DBSetProp(ThisView+".cdriver","Field","KeyField",.F.)
DBSetProp(ThisView+".cdriver","Field","Updatable",.F.)

DBSetProp(ThisView+".fky_tow1","Field","DataType","I")
DBSetProp(ThisView+".fky_tow1","Field","UpdateName","dbo.TOWADDRESS.fky_tow")
DBSetProp(ThisView+".fky_tow1","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_tow1","Field","Updatable",.F.)

DBSetProp(ThisView+".id1","Field","DataType","I")
DBSetProp(ThisView+".id1","Field","UpdateName","dbo.CUSTOMER.ID")
DBSetProp(ThisView+".id1","Field","KeyField",.T.)
DBSetProp(ThisView+".id1","Field","Updatable",.F.)


Thanks for this feedback, that's a very easy fix.

I hope Gilles (an others) will also provide feedback so that we can release a beta 2


So far it seems to work very well. To start I loaded a data set that before was bringing the system to its knees and I was able to page thru flawlessly.

I have discovered one small issue. If a view returns no records, it generates a record out of range error here twice:




Gravatar is a globally recognized avatar based on your email address. Re: progressive fetching feedback
  Tuvia Vinitsky
  Thierry Nivelet (FoxInCloud)
  Dec 8, 2015 @ 07:24am
While that took care of the .wViewsRequery, I get the exact same error when moving from record to record in the grid.


could you try to add this instruction
lc__View__ = Upper(Alltrim(m.lc__View__))

before
lo__View__ = lo__This____.Item(m.lc__View__)


With the progressive fetching, when I do a form.wViewsrequery('view1'), I get an error:

index or expression does not match an exisiting member of collection

The view is this, if it matters:

SELECT Tows.ID, Tows.GUIDKEY, Tows.cStockNumberCPD, Tows.cStatus,;
Tows.ccallername, Tows.cCallerPhone, Tows.ckey_location, Tows.ntow_miles,;
Tows.advanced_check, Tows.tcall_time, Tows.ttow_time,;
Tows.tassigned_time, Tows.ltow_assigned, Tows.cdeliver_to, Tows.nWard,;
Tows.npriority, Tows.fky_customer, Tows.fky_pound, Tows.nPoliceDistrict,;
Tows.fky_reason, Tows.fky_broker, Tows.fky_truck, Tows.fky_driver,;
Tows.fky_user, Tows.cReloTowType, Tows.lPoliceNotified, Tows.mnotes,;
Tows.lVINRequestSent,;
IIF(Tows.lvinrequestsent=1,'Yes','No') AS cvinrequest, Tows.nICCNum,;
Tows.nMilesEstimated, Tows.nMilesCharged, Tows.nMilesDriven,;
Tows.nInventory, Tows.nTowControlNumber, Tows.cTowType,;
Vehicle.Id AS vehicleid, Vehicle.fky_tow, Vehicle.cVIN, Vehicle.cMake,;
Vehicle.cModel, Vehicle.cColor, Vehicle.GUIDKEY, Vehicle.lInvHold,;
Vehicle.lIntHold, Vehicle.dCrushDate, Vehicle.cBodyStyle,;
Vehicle.cWeight, Vehicle.cVin6, Vehicle.lVINOverrider,;
Vehicle.lCurrentlyForSale, Vehicle.nSalesAmount, Vehicle.nDriverAmount,;
Vehicle.npostageamount, Vehicle.nMiscFees, Vehicle.nYear,;
Redemption.ID AS redeemid, Redemption.fky_vehicle,;
Redemption.mFeeNotes, Redemption.mPayNotes, Redemption.nStorageFees,;
Redemption.nTowFees, Redemption.tRedeemDate, Redemption.nAmountPaid,;
Redemption.cPaymentMethod, Auctions.id AS auctionid,;
Auctions.cAuctionType, Auctions.lAuctionOnline,;
Auctions.dAuctionDateTime, Auctions.GUIDKEY,;
Auctionresults.AuctionDealerFk, Auctionresults.nBidAmount,;
Auctionresults.AuctionFk, Auctionresults.id AS aucresultsid,;
Auctionresults.cResaleTitle, Auctionresults.cBuyer,;
Auctionresults.InvoiceFk, Auctionresults.VehicleFk,;
Towtruck.TruckNumber, Systemuser.cFirstName, Systemuser.cLastName,;
LTRIM(RTRIM(Systemuser.cfirstname))+' '+LTRIM(RTRIM(Systemuser.clastname)) AS centryuser,;
Vehicle.cLicense, Vehicle.cLicenseState, Towaddress.cAddress1,;
Towaddress.cCity, Towaddress.cState, Towaddress.cZipcode,;
Towaddress.fky_allowed, Towtruck.Id AS truckid,;
Systemuser.ID AS userid, Towaddress.Id AS towaddressid,;
Towreason.cReason, Towreason.lRevenueTow, Towreason.cDESCRIPTION,;
Towreason.ID AS towreasonid, Vehicle.lReleased, Vehicle.cReleaseNotes,;
Vehicle.lDisallowRelease, Vehicle.lAuctionDelivered,;
Redemption.lCashierPrinted, Pound.ShortName AS cpoundname,;
Pound.Id AS poundid, Towbroker.cName AS cbroker,;
Customer.BusinessName AS ccustomer, Towdriver.cFirstName,;
Towdriver.cLastName,;
RTRIM(LTRIM(Towdriver.cfirstname))+' '+LTRIM(RTRIM(Towdriver.clastname)) AS cdriver,;
Towaddress.fky_tow, Customer.ID;
FROM ;
{oj{oj{oj{oj{oj{oj{oj{oj{oj{oj{oj TOWS Tows ;
INNER JOIN vehicle Vehicle ;
ON Tows.ID = Vehicle.fky_tow ;
LEFT OUTER JOIN dbo.POUND Pound ;
ON Tows.fky_pound = Pound.Id} ;
LEFT OUTER JOIN dbo.CUSTOMER Customer ;
ON Tows.fky_customer = Customer.ID} ;
LEFT OUTER JOIN dbo.TOWBROKER Towbroker ;
ON Tows.fky_broker = Towbroker.Id} ;
LEFT OUTER JOIN dbo.TOWDRIVER Towdriver ;
ON Tows.fky_driver = Towdriver.Id} ;
LEFT OUTER JOIN dbo.TOWREASON Towreason ;
ON Tows.fky_reason = Towreason.ID} ;
LEFT OUTER JOIN dbo.TOWADDRESS Towaddress ;
ON Tows.ID = Towaddress.fky_tow} ;
LEFT OUTER JOIN dbo.SYSTEMUSER Systemuser ;
ON Tows.fky_user = Systemuser.ID} ;
LEFT OUTER JOIN dbo.TOWTRUCK Towtruck ;
ON Tows.fky_truck = Towtruck.Id} ;
LEFT OUTER JOIN dbo.AUCTIONRESULTS Auctionresults ;
ON Vehicle.Id = Auctionresults.VehicleFk} ;
LEFT OUTER JOIN dbo.AUCTIONS Auctions ;
ON Auctionresults.AuctionFk = Auctions.id} ;
LEFT OUTER JOIN redemption Redemption ;
ON Vehicle.Id = Redemption.fky_vehicle};
WHERE ( ( ( ( ( ( ( ( ( Tows.tcall_time > ( ?m.oTowapp.cArchiveDate );
AND ( ( ?m.oTowApp.filter_tows_type ) IS NULL;
OR ( ctowtype ) = ( ?m.oTowapp.filter_tows_type ) ) );
AND ( ( ?m.oTowApp.filter_tows_status ) IS NULL;
OR Tows.cStatus = ( ?m.oTowapp.filter_tows_status ) ) );
AND ( ( ?m.oTowApp.filter_tows_date ) IS NULL;
OR CAST(ttow_time AS DATE) = ( ?m.oTowapp.filter_tows_date ) ) );
AND ( ( ?m.oTowApp.filter_tows_customer ) IS NULL;
OR Tows.fky_customer = ( ?m.oTowapp.filter_tows_customer ) ) );
AND ( ( ?m.oTowApp.filter_tows_redeemed ) IS NULL;
OR ( lreleased ) = ( ?m.oTowapp.filter_tows_redeemed ) ) );
AND ( ( ?m.oTowApp.filter_tows_district ) IS NULL;
OR ( npolicedistrict ) = ( ?m.oTowapp.filter_tows_district ) ) );
AND ( ( ?m.oTowApp.filter_tows_ward ) IS NULL;
OR ( nward ) = ( ?m.oTowapp.filter_tows_ward ) ) );
AND ( ( ?m.oTowApp.filter_vehMake ) IS NULL;
OR Vehicle.cMake = ( ?m.oTowapp.filter_vehMake ) ) );
AND ( ( ?m.oTowapp.filter_vehModel ) IS NULL;
OR Vehicle.cModel = ( ?m.oTowApp.filter_vehModel ) ) );
AND ( ( ?m.oTowapp.filter_vehYear ) IS NULL;
OR Vehicle.nYear = ( ?m.oTowApp.filter_vehYear ) );
ORDER BY Tows.nTowControlNumber DESC

DBSetProp(ThisView,"View","SendUpdates",.T.)
DBSetProp(ThisView,"View","BatchUpdateCount",1)
DBSetProp(ThisView,"View","CompareMemo",.T.)
DBSetProp(ThisView,"View","FetchAsNeeded",.T.)
DBSetProp(ThisView,"View","FetchMemo",.T.)
DBSetProp(ThisView,"View","FetchSize",200)
DBSetProp(ThisView,"View","MaxRecords",-1)
DBSetProp(ThisView,"View","Prepared",.F.)
DBSetProp(ThisView,"View","ShareConnection",.F.)
DBSetProp(ThisView,"View","AllowSimultaneousFetch",.T.)
DBSetProp(ThisView,"View","UpdateType",1)
DBSetProp(ThisView,"View","UseMemoSize",255)
DBSetProp(ThisView,"View","Tables","TOWS,vehicle,redemption,dbo.AUCTIONS,dbo.AUCTIONRESULTS,dbo.TOWTRUCK,dbo.SYSTEMUSER,dbo.TOWADDRESS,dbo.TOWREASON")
DBSetProp(ThisView,"View","WhereType",2)

DBSetProp(ThisView+".id","Field","DataType","I")
DBSetProp(ThisView+".id","Field","UpdateName","TOWS.ID")
DBSetProp(ThisView+".id","Field","KeyField",.T.)
DBSetProp(ThisView+".id","Field","Updatable",.F.)

DBSetProp(ThisView+".guidkey","Field","DataType","C(36)")
DBSetProp(ThisView+".guidkey","Field","UpdateName","TOWS.GUIDKEY")
DBSetProp(ThisView+".guidkey","Field","KeyField",.F.)
DBSetProp(ThisView+".guidkey","Field","Updatable",.T.)

DBSetProp(ThisView+".cstocknumbercpd","Field","DataType","C(10)")
DBSetProp(ThisView+".cstocknumbercpd","Field","UpdateName","TOWS.cStockNumberCPD")
DBSetProp(ThisView+".cstocknumbercpd","Field","KeyField",.F.)
DBSetProp(ThisView+".cstocknumbercpd","Field","Updatable",.T.)

DBSetProp(ThisView+".cstatus","Field","DataType","C(25)")
DBSetProp(ThisView+".cstatus","Field","UpdateName","TOWS.cStatus")
DBSetProp(ThisView+".cstatus","Field","KeyField",.F.)
DBSetProp(ThisView+".cstatus","Field","Updatable",.T.)

DBSetProp(ThisView+".ccallername","Field","DataType","C(50)")
DBSetProp(ThisView+".ccallername","Field","UpdateName","TOWS.ccallername")
DBSetProp(ThisView+".ccallername","Field","KeyField",.F.)
DBSetProp(ThisView+".ccallername","Field","Updatable",.T.)

DBSetProp(ThisView+".ccallerphone","Field","DataType","C(20)")
DBSetProp(ThisView+".ccallerphone","Field","UpdateName","TOWS.cCallerPhone")
DBSetProp(ThisView+".ccallerphone","Field","KeyField",.F.)
DBSetProp(ThisView+".ccallerphone","Field","Updatable",.T.)

DBSetProp(ThisView+".ckey_location","Field","DataType","M")
DBSetProp(ThisView+".ckey_location","Field","UpdateName","TOWS.ckey_location")
DBSetProp(ThisView+".ckey_location","Field","KeyField",.F.)
DBSetProp(ThisView+".ckey_location","Field","Updatable",.T.)

DBSetProp(ThisView+".ntow_miles","Field","DataType","I")
DBSetProp(ThisView+".ntow_miles","Field","UpdateName","TOWS.ntow_miles")
DBSetProp(ThisView+".ntow_miles","Field","KeyField",.F.)
DBSetProp(ThisView+".ntow_miles","Field","Updatable",.T.)

DBSetProp(ThisView+".advanced_check","Field","DataType","L")
DBSetProp(ThisView+".advanced_check","Field","UpdateName","TOWS.advanced_check")
DBSetProp(ThisView+".advanced_check","Field","KeyField",.F.)
DBSetProp(ThisView+".advanced_check","Field","Updatable",.T.)

DBSetProp(ThisView+".tcall_time","Field","DataType","T")
DBSetProp(ThisView+".tcall_time","Field","UpdateName","TOWS.tcall_time")
DBSetProp(ThisView+".tcall_time","Field","KeyField",.F.)
DBSetProp(ThisView+".tcall_time","Field","Updatable",.T.)

DBSetProp(ThisView+".ttow_time","Field","DataType","T")
DBSetProp(ThisView+".ttow_time","Field","UpdateName","TOWS.ttow_time")
DBSetProp(ThisView+".ttow_time","Field","KeyField",.F.)
DBSetProp(ThisView+".ttow_time","Field","Updatable",.T.)

DBSetProp(ThisView+".tassigned_time","Field","DataType","T")
DBSetProp(ThisView+".tassigned_time","Field","UpdateName","TOWS.tassigned_time")
DBSetProp(ThisView+".tassigned_time","Field","KeyField",.F.)
DBSetProp(ThisView+".tassigned_time","Field","Updatable",.T.)

DBSetProp(ThisView+".ltow_assigned","Field","DataType","L")
DBSetProp(ThisView+".ltow_assigned","Field","UpdateName","TOWS.ltow_assigned")
DBSetProp(ThisView+".ltow_assigned","Field","KeyField",.F.)
DBSetProp(ThisView+".ltow_assigned","Field","Updatable",.T.)

DBSetProp(ThisView+".cdeliver_to","Field","DataType","M")
DBSetProp(ThisView+".cdeliver_to","Field","UpdateName","TOWS.cdeliver_to")
DBSetProp(ThisView+".cdeliver_to","Field","KeyField",.F.)
DBSetProp(ThisView+".cdeliver_to","Field","Updatable",.T.)

DBSetProp(ThisView+".nward","Field","DataType","I")
DBSetProp(ThisView+".nward","Field","UpdateName","TOWS.nWard")
DBSetProp(ThisView+".nward","Field","KeyField",.F.)
DBSetProp(ThisView+".nward","Field","Updatable",.T.)

DBSetProp(ThisView+".npriority","Field","DataType","I")
DBSetProp(ThisView+".npriority","Field","UpdateName","TOWS.npriority")
DBSetProp(ThisView+".npriority","Field","KeyField",.F.)
DBSetProp(ThisView+".npriority","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_customer","Field","DataType","I")
DBSetProp(ThisView+".fky_customer","Field","UpdateName","TOWS.fky_customer")
DBSetProp(ThisView+".fky_customer","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_customer","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_pound","Field","DataType","I")
DBSetProp(ThisView+".fky_pound","Field","UpdateName","TOWS.fky_pound")
DBSetProp(ThisView+".fky_pound","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_pound","Field","Updatable",.T.)

DBSetProp(ThisView+".npolicedistrict","Field","DataType","I")
DBSetProp(ThisView+".npolicedistrict","Field","UpdateName","TOWS.nPoliceDistrict")
DBSetProp(ThisView+".npolicedistrict","Field","KeyField",.F.)
DBSetProp(ThisView+".npolicedistrict","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_reason","Field","DataType","I")
DBSetProp(ThisView+".fky_reason","Field","UpdateName","TOWS.fky_reason")
DBSetProp(ThisView+".fky_reason","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_reason","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_broker","Field","DataType","I")
DBSetProp(ThisView+".fky_broker","Field","UpdateName","TOWS.fky_broker")
DBSetProp(ThisView+".fky_broker","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_broker","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_truck","Field","DataType","I")
DBSetProp(ThisView+".fky_truck","Field","UpdateName","TOWS.fky_truck")
DBSetProp(ThisView+".fky_truck","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_truck","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_driver","Field","DataType","I")
DBSetProp(ThisView+".fky_driver","Field","UpdateName","TOWS.fky_driver")
DBSetProp(ThisView+".fky_driver","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_driver","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_user","Field","DataType","I")
DBSetProp(ThisView+".fky_user","Field","UpdateName","TOWS.fky_user")
DBSetProp(ThisView+".fky_user","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_user","Field","Updatable",.T.)

DBSetProp(ThisView+".crelotowtype","Field","DataType","C(10)")
DBSetProp(ThisView+".crelotowtype","Field","UpdateName","TOWS.cReloTowType")
DBSetProp(ThisView+".crelotowtype","Field","KeyField",.F.)
DBSetProp(ThisView+".crelotowtype","Field","Updatable",.T.)

DBSetProp(ThisView+".lpolicenotified","Field","DataType","L")
DBSetProp(ThisView+".lpolicenotified","Field","UpdateName","TOWS.lPoliceNotified")
DBSetProp(ThisView+".lpolicenotified","Field","KeyField",.F.)
DBSetProp(ThisView+".lpolicenotified","Field","Updatable",.T.)

DBSetProp(ThisView+".mnotes","Field","DataType","M")
DBSetProp(ThisView+".mnotes","Field","UpdateName","TOWS.mnotes")
DBSetProp(ThisView+".mnotes","Field","KeyField",.F.)
DBSetProp(ThisView+".mnotes","Field","Updatable",.T.)

DBSetProp(ThisView+".lvinrequestsent","Field","DataType","L")
DBSetProp(ThisView+".lvinrequestsent","Field","UpdateName","TOWS.lVINRequestSent")
DBSetProp(ThisView+".lvinrequestsent","Field","KeyField",.F.)
DBSetProp(ThisView+".lvinrequestsent","Field","Updatable",.T.)

DBSetProp(ThisView+".cvinrequest","Field","DataType","C(3)")
DBSetProp(ThisView+".cvinrequest","Field","UpdateName","cVINRequest")
DBSetProp(ThisView+".cvinrequest","Field","KeyField",.F.)
DBSetProp(ThisView+".cvinrequest","Field","Updatable",.F.)

DBSetProp(ThisView+".niccnum","Field","DataType","C(20)")
DBSetProp(ThisView+".niccnum","Field","UpdateName","TOWS.nICCNum")
DBSetProp(ThisView+".niccnum","Field","KeyField",.F.)
DBSetProp(ThisView+".niccnum","Field","Updatable",.T.)

DBSetProp(ThisView+".nmilesestimated","Field","DataType","I")
DBSetProp(ThisView+".nmilesestimated","Field","UpdateName","TOWS.nMilesEstimated")
DBSetProp(ThisView+".nmilesestimated","Field","KeyField",.F.)
DBSetProp(ThisView+".nmilesestimated","Field","Updatable",.T.)

DBSetProp(ThisView+".nmilescharged","Field","DataType","I")
DBSetProp(ThisView+".nmilescharged","Field","UpdateName","TOWS.nMilesCharged")
DBSetProp(ThisView+".nmilescharged","Field","KeyField",.F.)
DBSetProp(ThisView+".nmilescharged","Field","Updatable",.T.)

DBSetProp(ThisView+".nmilesdriven","Field","DataType","I")
DBSetProp(ThisView+".nmilesdriven","Field","UpdateName","TOWS.nMilesDriven")
DBSetProp(ThisView+".nmilesdriven","Field","KeyField",.F.)
DBSetProp(ThisView+".nmilesdriven","Field","Updatable",.T.)

DBSetProp(ThisView+".ninventory","Field","DataType","I")
DBSetProp(ThisView+".ninventory","Field","UpdateName","TOWS.nInventory")
DBSetProp(ThisView+".ninventory","Field","KeyField",.F.)
DBSetProp(ThisView+".ninventory","Field","Updatable",.T.)

DBSetProp(ThisView+".ntowcontrolnumber","Field","DataType","I")
DBSetProp(ThisView+".ntowcontrolnumber","Field","UpdateName","TOWS.nTowControlNumber")
DBSetProp(ThisView+".ntowcontrolnumber","Field","KeyField",.F.)
DBSetProp(ThisView+".ntowcontrolnumber","Field","Updatable",.T.)

DBSetProp(ThisView+".ctowtype","Field","DataType","C(20)")
DBSetProp(ThisView+".ctowtype","Field","UpdateName","TOWS.cTowType")
DBSetProp(ThisView+".ctowtype","Field","KeyField",.F.)
DBSetProp(ThisView+".ctowtype","Field","Updatable",.T.)

DBSetProp(ThisView+".vehicleid","Field","Caption","VehicleID")
DBSetProp(ThisView+".vehicleid","Field","DataType","I")
DBSetProp(ThisView+".vehicleid","Field","UpdateName","vehicle.Id")
DBSetProp(ThisView+".vehicleid","Field","KeyField",.T.)
DBSetProp(ThisView+".vehicleid","Field","Updatable",.F.)

DBSetProp(ThisView+".fky_tow","Field","DataType","I")
DBSetProp(ThisView+".fky_tow","Field","UpdateName","vehicle.fky_tow")
DBSetProp(ThisView+".fky_tow","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_tow","Field","Updatable",.T.)

DBSetProp(ThisView+".cvin","Field","DataType","C(35)")
DBSetProp(ThisView+".cvin","Field","UpdateName","vehicle.cVIN")
DBSetProp(ThisView+".cvin","Field","KeyField",.F.)
DBSetProp(ThisView+".cvin","Field","Updatable",.T.)

DBSetProp(ThisView+".cmake","Field","DataType","C(20)")
DBSetProp(ThisView+".cmake","Field","UpdateName","vehicle.cMake")
DBSetProp(ThisView+".cmake","Field","KeyField",.F.)
DBSetProp(ThisView+".cmake","Field","Updatable",.T.)

DBSetProp(ThisView+".cmodel","Field","DataType","C(30)")
DBSetProp(ThisView+".cmodel","Field","UpdateName","vehicle.cModel")
DBSetProp(ThisView+".cmodel","Field","KeyField",.F.)
DBSetProp(ThisView+".cmodel","Field","Updatable",.T.)

DBSetProp(ThisView+".ccolor","Field","DataType","C(10)")
DBSetProp(ThisView+".ccolor","Field","UpdateName","vehicle.cColor")
DBSetProp(ThisView+".ccolor","Field","KeyField",.F.)
DBSetProp(ThisView+".ccolor","Field","Updatable",.T.)

DBSetProp(ThisView+".guidkey1","Field","DataType","C(36)")
DBSetProp(ThisView+".guidkey1","Field","UpdateName","vehicle.GUIDKEY")
DBSetProp(ThisView+".guidkey1","Field","KeyField",.F.)
DBSetProp(ThisView+".guidkey1","Field","Updatable",.T.)

DBSetProp(ThisView+".linvhold","Field","DataType","L")
DBSetProp(ThisView+".linvhold","Field","UpdateName","vehicle.lInvHold")
DBSetProp(ThisView+".linvhold","Field","KeyField",.F.)
DBSetProp(ThisView+".linvhold","Field","Updatable",.T.)

DBSetProp(ThisView+".linthold","Field","DataType","L")
DBSetProp(ThisView+".linthold","Field","UpdateName","vehicle.lIntHold")
DBSetProp(ThisView+".linthold","Field","KeyField",.F.)
DBSetProp(ThisView+".linthold","Field","Updatable",.T.)

DBSetProp(ThisView+".dcrushdate","Field","DataType","D")
DBSetProp(ThisView+".dcrushdate","Field","UpdateName","vehicle.dCrushDate")
DBSetProp(ThisView+".dcrushdate","Field","KeyField",.F.)
DBSetProp(ThisView+".dcrushdate","Field","Updatable",.T.)

DBSetProp(ThisView+".cbodystyle","Field","DataType","C(20)")
DBSetProp(ThisView+".cbodystyle","Field","UpdateName","vehicle.cBodyStyle")
DBSetProp(ThisView+".cbodystyle","Field","KeyField",.F.)
DBSetProp(ThisView+".cbodystyle","Field","Updatable",.T.)

DBSetProp(ThisView+".cweight","Field","DataType","C(10)")
DBSetProp(ThisView+".cweight","Field","UpdateName","vehicle.cWeight")
DBSetProp(ThisView+".cweight","Field","KeyField",.F.)
DBSetProp(ThisView+".cweight","Field","Updatable",.T.)

DBSetProp(ThisView+".cvin6","Field","DataType","C(6)")
DBSetProp(ThisView+".cvin6","Field","UpdateName","vehicle.cVin6")
DBSetProp(ThisView+".cvin6","Field","KeyField",.F.)
DBSetProp(ThisView+".cvin6","Field","Updatable",.T.)

DBSetProp(ThisView+".lvinoverrider","Field","DataType","I")
DBSetProp(ThisView+".lvinoverrider","Field","UpdateName","vehicle.lVINOverrider")
DBSetProp(ThisView+".lvinoverrider","Field","KeyField",.F.)
DBSetProp(ThisView+".lvinoverrider","Field","Updatable",.T.)

DBSetProp(ThisView+".lcurrentlyforsale","Field","DataType","L")
DBSetProp(ThisView+".lcurrentlyforsale","Field","UpdateName","vehicle.lCurrentlyForSale")
DBSetProp(ThisView+".lcurrentlyforsale","Field","KeyField",.F.)
DBSetProp(ThisView+".lcurrentlyforsale","Field","Updatable",.T.)

DBSetProp(ThisView+".nsalesamount","Field","DataType","Y")
DBSetProp(ThisView+".nsalesamount","Field","UpdateName","vehicle.nSalesAmount")
DBSetProp(ThisView+".nsalesamount","Field","KeyField",.F.)
DBSetProp(ThisView+".nsalesamount","Field","Updatable",.T.)

DBSetProp(ThisView+".ndriveramount","Field","DataType","Y")
DBSetProp(ThisView+".ndriveramount","Field","UpdateName","vehicle.nDriverAmount")
DBSetProp(ThisView+".ndriveramount","Field","KeyField",.F.)
DBSetProp(ThisView+".ndriveramount","Field","Updatable",.T.)

DBSetProp(ThisView+".npostageamount","Field","DataType","Y")
DBSetProp(ThisView+".npostageamount","Field","UpdateName","vehicle.npostageamount")
DBSetProp(ThisView+".npostageamount","Field","KeyField",.F.)
DBSetProp(ThisView+".npostageamount","Field","Updatable",.T.)

DBSetProp(ThisView+".nmiscfees","Field","DataType","Y")
DBSetProp(ThisView+".nmiscfees","Field","UpdateName","vehicle.nMiscFees")
DBSetProp(ThisView+".nmiscfees","Field","KeyField",.F.)
DBSetProp(ThisView+".nmiscfees","Field","Updatable",.T.)

DBSetProp(ThisView+".nyear","Field","DataType","I")
DBSetProp(ThisView+".nyear","Field","UpdateName","vehicle.nYear")
DBSetProp(ThisView+".nyear","Field","KeyField",.F.)
DBSetProp(ThisView+".nyear","Field","Updatable",.T.)

DBSetProp(ThisView+".redeemid","Field","DataType","I")
DBSetProp(ThisView+".redeemid","Field","UpdateName","redemption.ID")
DBSetProp(ThisView+".redeemid","Field","KeyField",.T.)
DBSetProp(ThisView+".redeemid","Field","Updatable",.F.)

DBSetProp(ThisView+".fky_vehicle","Field","DataType","I")
DBSetProp(ThisView+".fky_vehicle","Field","UpdateName","redemption.fky_vehicle")
DBSetProp(ThisView+".fky_vehicle","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_vehicle","Field","Updatable",.T.)

DBSetProp(ThisView+".mfeenotes","Field","DataType","M")
DBSetProp(ThisView+".mfeenotes","Field","UpdateName","redemption.mFeeNotes")
DBSetProp(ThisView+".mfeenotes","Field","KeyField",.F.)
DBSetProp(ThisView+".mfeenotes","Field","Updatable",.T.)

DBSetProp(ThisView+".mpaynotes","Field","DataType","M")
DBSetProp(ThisView+".mpaynotes","Field","UpdateName","redemption.mPayNotes")
DBSetProp(ThisView+".mpaynotes","Field","KeyField",.F.)
DBSetProp(ThisView+".mpaynotes","Field","Updatable",.T.)

DBSetProp(ThisView+".nstoragefees","Field","DataType","Y")
DBSetProp(ThisView+".nstoragefees","Field","UpdateName","redemption.nStorageFees")
DBSetProp(ThisView+".nstoragefees","Field","KeyField",.F.)
DBSetProp(ThisView+".nstoragefees","Field","Updatable",.T.)

DBSetProp(ThisView+".ntowfees","Field","DataType","Y")
DBSetProp(ThisView+".ntowfees","Field","UpdateName","redemption.nTowFees")
DBSetProp(ThisView+".ntowfees","Field","KeyField",.F.)
DBSetProp(ThisView+".ntowfees","Field","Updatable",.T.)

DBSetProp(ThisView+".tredeemdate","Field","DataType","T")
DBSetProp(ThisView+".tredeemdate","Field","UpdateName","redemption.tRedeemDate")
DBSetProp(ThisView+".tredeemdate","Field","KeyField",.F.)
DBSetProp(ThisView+".tredeemdate","Field","Updatable",.T.)

DBSetProp(ThisView+".namountpaid","Field","DataType","Y")
DBSetProp(ThisView+".namountpaid","Field","UpdateName","redemption.nAmountPaid")
DBSetProp(ThisView+".namountpaid","Field","KeyField",.F.)
DBSetProp(ThisView+".namountpaid","Field","Updatable",.T.)

DBSetProp(ThisView+".cpaymentmethod","Field","DataType","C(10)")
DBSetProp(ThisView+".cpaymentmethod","Field","UpdateName","redemption.cPaymentMethod")
DBSetProp(ThisView+".cpaymentmethod","Field","KeyField",.F.)
DBSetProp(ThisView+".cpaymentmethod","Field","Updatable",.T.)

DBSetProp(ThisView+".auctionid","Field","DataType","I")
DBSetProp(ThisView+".auctionid","Field","UpdateName","dbo.AUCTIONS.id")
DBSetProp(ThisView+".auctionid","Field","KeyField",.T.)
DBSetProp(ThisView+".auctionid","Field","Updatable",.F.)

DBSetProp(ThisView+".cauctiontype","Field","DataType","C(40)")
DBSetProp(ThisView+".cauctiontype","Field","UpdateName","dbo.AUCTIONS.cAuctionType")
DBSetProp(ThisView+".cauctiontype","Field","KeyField",.F.)
DBSetProp(ThisView+".cauctiontype","Field","Updatable",.T.)

DBSetProp(ThisView+".lauctiononline","Field","DataType","L")
DBSetProp(ThisView+".lauctiononline","Field","UpdateName","dbo.AUCTIONS.lAuctionOnline")
DBSetProp(ThisView+".lauctiononline","Field","KeyField",.F.)
DBSetProp(ThisView+".lauctiononline","Field","Updatable",.T.)

DBSetProp(ThisView+".dauctiondatetime","Field","DataType","T")
DBSetProp(ThisView+".dauctiondatetime","Field","UpdateName","dbo.AUCTIONS.dAuctionDateTime")
DBSetProp(ThisView+".dauctiondatetime","Field","KeyField",.F.)
DBSetProp(ThisView+".dauctiondatetime","Field","Updatable",.T.)

DBSetProp(ThisView+".guidkey2","Field","DataType","C(36)")
DBSetProp(ThisView+".guidkey2","Field","UpdateName","dbo.AUCTIONS.GUIDKEY")
DBSetProp(ThisView+".guidkey2","Field","KeyField",.F.)
DBSetProp(ThisView+".guidkey2","Field","Updatable",.T.)

DBSetProp(ThisView+".auctiondealerfk","Field","DataType","I")
DBSetProp(ThisView+".auctiondealerfk","Field","UpdateName","dbo.AUCTIONRESULTS.AuctionDealerFk")
DBSetProp(ThisView+".auctiondealerfk","Field","KeyField",.F.)
DBSetProp(ThisView+".auctiondealerfk","Field","Updatable",.T.)

DBSetProp(ThisView+".nbidamount","Field","DataType","Y")
DBSetProp(ThisView+".nbidamount","Field","UpdateName","dbo.AUCTIONRESULTS.nBidAmount")
DBSetProp(ThisView+".nbidamount","Field","KeyField",.F.)
DBSetProp(ThisView+".nbidamount","Field","Updatable",.T.)

DBSetProp(ThisView+".auctionfk","Field","DataType","I")
DBSetProp(ThisView+".auctionfk","Field","UpdateName","dbo.AUCTIONRESULTS.AuctionFk")
DBSetProp(ThisView+".auctionfk","Field","KeyField",.F.)
DBSetProp(ThisView+".auctionfk","Field","Updatable",.T.)

DBSetProp(ThisView+".aucresultsid","Field","DataType","I")
DBSetProp(ThisView+".aucresultsid","Field","UpdateName","dbo.AUCTIONRESULTS.id")
DBSetProp(ThisView+".aucresultsid","Field","KeyField",.T.)
DBSetProp(ThisView+".aucresultsid","Field","Updatable",.F.)

DBSetProp(ThisView+".cresaletitle","Field","DataType","C(35)")
DBSetProp(ThisView+".cresaletitle","Field","UpdateName","dbo.AUCTIONRESULTS.cResaleTitle")
DBSetProp(ThisView+".cresaletitle","Field","KeyField",.F.)
DBSetProp(ThisView+".cresaletitle","Field","Updatable",.T.)

DBSetProp(ThisView+".cbuyer","Field","DataType","C(60)")
DBSetProp(ThisView+".cbuyer","Field","UpdateName","dbo.AUCTIONRESULTS.cBuyer")
DBSetProp(ThisView+".cbuyer","Field","KeyField",.F.)
DBSetProp(ThisView+".cbuyer","Field","Updatable",.T.)

DBSetProp(ThisView+".invoicefk","Field","DataType","C(36)")
DBSetProp(ThisView+".invoicefk","Field","UpdateName","dbo.AUCTIONRESULTS.InvoiceFk")
DBSetProp(ThisView+".invoicefk","Field","KeyField",.F.)
DBSetProp(ThisView+".invoicefk","Field","Updatable",.T.)

DBSetProp(ThisView+".vehiclefk","Field","DataType","I")
DBSetProp(ThisView+".vehiclefk","Field","UpdateName","dbo.AUCTIONRESULTS.VehicleFk")
DBSetProp(ThisView+".vehiclefk","Field","KeyField",.F.)
DBSetProp(ThisView+".vehiclefk","Field","Updatable",.T.)

DBSetProp(ThisView+".trucknumber","Field","DataType","C(25)")
DBSetProp(ThisView+".trucknumber","Field","UpdateName","dbo.TOWTRUCK.TruckNumber")
DBSetProp(ThisView+".trucknumber","Field","KeyField",.F.)
DBSetProp(ThisView+".trucknumber","Field","Updatable",.T.)

DBSetProp(ThisView+".cfirstname","Field","DataType","C(30)")
DBSetProp(ThisView+".cfirstname","Field","UpdateName","dbo.SYSTEMUSER.cFirstName")
DBSetProp(ThisView+".cfirstname","Field","KeyField",.F.)
DBSetProp(ThisView+".cfirstname","Field","Updatable",.T.)

DBSetProp(ThisView+".clastname","Field","DataType","C(30)")
DBSetProp(ThisView+".clastname","Field","UpdateName","dbo.SYSTEMUSER.cLastName")
DBSetProp(ThisView+".clastname","Field","KeyField",.F.)
DBSetProp(ThisView+".clastname","Field","Updatable",.T.)

DBSetProp(ThisView+".centryuser","Field","DataType","C(61)")
DBSetProp(ThisView+".centryuser","Field","UpdateName","cEntryUser")
DBSetProp(ThisView+".centryuser","Field","KeyField",.F.)
DBSetProp(ThisView+".centryuser","Field","Updatable",.F.)

DBSetProp(ThisView+".clicense","Field","DataType","C(15)")
DBSetProp(ThisView+".clicense","Field","UpdateName","vehicle.cLicense")
DBSetProp(ThisView+".clicense","Field","KeyField",.F.)
DBSetProp(ThisView+".clicense","Field","Updatable",.T.)

DBSetProp(ThisView+".clicensestate","Field","DataType","C(2)")
DBSetProp(ThisView+".clicensestate","Field","UpdateName","vehicle.cLicenseState")
DBSetProp(ThisView+".clicensestate","Field","KeyField",.F.)
DBSetProp(ThisView+".clicensestate","Field","Updatable",.T.)

DBSetProp(ThisView+".caddress1","Field","DataType","C(45)")
DBSetProp(ThisView+".caddress1","Field","UpdateName","dbo.TOWADDRESS.cAddress1")
DBSetProp(ThisView+".caddress1","Field","KeyField",.F.)
DBSetProp(ThisView+".caddress1","Field","Updatable",.T.)

DBSetProp(ThisView+".ccity","Field","DataType","C(35)")
DBSetProp(ThisView+".ccity","Field","UpdateName","dbo.TOWADDRESS.cCity")
DBSetProp(ThisView+".ccity","Field","KeyField",.F.)
DBSetProp(ThisView+".ccity","Field","Updatable",.T.)

DBSetProp(ThisView+".cstate","Field","DataType","C(2)")
DBSetProp(ThisView+".cstate","Field","UpdateName","dbo.TOWADDRESS.cState")
DBSetProp(ThisView+".cstate","Field","KeyField",.F.)
DBSetProp(ThisView+".cstate","Field","Updatable",.T.)

DBSetProp(ThisView+".czipcode","Field","DataType","C(5)")
DBSetProp(ThisView+".czipcode","Field","UpdateName","dbo.TOWADDRESS.cZipcode")
DBSetProp(ThisView+".czipcode","Field","KeyField",.F.)
DBSetProp(ThisView+".czipcode","Field","Updatable",.T.)

DBSetProp(ThisView+".fky_allowed","Field","DataType","I")
DBSetProp(ThisView+".fky_allowed","Field","UpdateName","dbo.TOWADDRESS.fky_allowed")
DBSetProp(ThisView+".fky_allowed","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_allowed","Field","Updatable",.T.)

DBSetProp(ThisView+".truckid","Field","DataType","I")
DBSetProp(ThisView+".truckid","Field","UpdateName","dbo.TOWTRUCK.Id")
DBSetProp(ThisView+".truckid","Field","KeyField",.T.)
DBSetProp(ThisView+".truckid","Field","Updatable",.F.)

DBSetProp(ThisView+".userid","Field","DataType","I")
DBSetProp(ThisView+".userid","Field","UpdateName","dbo.SYSTEMUSER.ID")
DBSetProp(ThisView+".userid","Field","KeyField",.T.)
DBSetProp(ThisView+".userid","Field","Updatable",.F.)

DBSetProp(ThisView+".towaddressid","Field","DataType","I")
DBSetProp(ThisView+".towaddressid","Field","UpdateName","dbo.TOWADDRESS.Id")
DBSetProp(ThisView+".towaddressid","Field","KeyField",.T.)
DBSetProp(ThisView+".towaddressid","Field","Updatable",.F.)

DBSetProp(ThisView+".creason","Field","DataType","C(25)")
DBSetProp(ThisView+".creason","Field","UpdateName","dbo.TOWREASON.cReason")
DBSetProp(ThisView+".creason","Field","KeyField",.F.)
DBSetProp(ThisView+".creason","Field","Updatable",.T.)

DBSetProp(ThisView+".lrevenuetow","Field","DataType","L")
DBSetProp(ThisView+".lrevenuetow","Field","UpdateName","dbo.TOWREASON.lRevenueTow")
DBSetProp(ThisView+".lrevenuetow","Field","KeyField",.F.)
DBSetProp(ThisView+".lrevenuetow","Field","Updatable",.T.)

DBSetProp(ThisView+".cdescription","Field","DataType","C(45)")
DBSetProp(ThisView+".cdescription","Field","UpdateName","dbo.TOWREASON.cDESCRIPTION")
DBSetProp(ThisView+".cdescription","Field","KeyField",.F.)
DBSetProp(ThisView+".cdescription","Field","Updatable",.T.)

DBSetProp(ThisView+".towreasonid","Field","DataType","I")
DBSetProp(ThisView+".towreasonid","Field","UpdateName","dbo.TOWREASON.ID")
DBSetProp(ThisView+".towreasonid","Field","KeyField",.T.)
DBSetProp(ThisView+".towreasonid","Field","Updatable",.F.)

DBSetProp(ThisView+".lreleased","Field","DataType","L")
DBSetProp(ThisView+".lreleased","Field","UpdateName","vehicle.lReleased")
DBSetProp(ThisView+".lreleased","Field","KeyField",.F.)
DBSetProp(ThisView+".lreleased","Field","Updatable",.T.)

DBSetProp(ThisView+".creleasenotes","Field","DataType","V(1)")
DBSetProp(ThisView+".creleasenotes","Field","UpdateName","vehicle.cReleaseNotes")
DBSetProp(ThisView+".creleasenotes","Field","KeyField",.F.)
DBSetProp(ThisView+".creleasenotes","Field","Updatable",.T.)

DBSetProp(ThisView+".ldisallowrelease","Field","DataType","L")
DBSetProp(ThisView+".ldisallowrelease","Field","UpdateName","vehicle.lDisallowRelease")
DBSetProp(ThisView+".ldisallowrelease","Field","KeyField",.F.)
DBSetProp(ThisView+".ldisallowrelease","Field","Updatable",.T.)

DBSetProp(ThisView+".lauctiondelivered","Field","DataType","L")
DBSetProp(ThisView+".lauctiondelivered","Field","UpdateName","vehicle.lAuctionDelivered")
DBSetProp(ThisView+".lauctiondelivered","Field","KeyField",.F.)
DBSetProp(ThisView+".lauctiondelivered","Field","Updatable",.T.)

DBSetProp(ThisView+".lcashierprinted","Field","DataType","L")
DBSetProp(ThisView+".lcashierprinted","Field","UpdateName","redemption.lCashierPrinted")
DBSetProp(ThisView+".lcashierprinted","Field","KeyField",.F.)
DBSetProp(ThisView+".lcashierprinted","Field","Updatable",.F.)

DBSetProp(ThisView+".cpoundname","Field","DataType","C(25)")
DBSetProp(ThisView+".cpoundname","Field","UpdateName","dbo.POUND.ShortName")
DBSetProp(ThisView+".cpoundname","Field","KeyField",.F.)
DBSetProp(ThisView+".cpoundname","Field","Updatable",.F.)

DBSetProp(ThisView+".poundid","Field","DataType","I")
DBSetProp(ThisView+".poundid","Field","UpdateName","dbo.POUND.Id")
DBSetProp(ThisView+".poundid","Field","KeyField",.T.)
DBSetProp(ThisView+".poundid","Field","Updatable",.F.)

DBSetProp(ThisView+".cbroker","Field","DataType","C(60)")
DBSetProp(ThisView+".cbroker","Field","UpdateName","dbo.TOWBROKER.cName")
DBSetProp(ThisView+".cbroker","Field","KeyField",.F.)
DBSetProp(ThisView+".cbroker","Field","Updatable",.F.)

DBSetProp(ThisView+".ccustomer","Field","DataType","C(60)")
DBSetProp(ThisView+".ccustomer","Field","UpdateName","dbo.CUSTOMER.BusinessName")
DBSetProp(ThisView+".ccustomer","Field","KeyField",.F.)
DBSetProp(ThisView+".ccustomer","Field","Updatable",.F.)

DBSetProp(ThisView+".cfirstname1","Field","DataType","C(45)")
DBSetProp(ThisView+".cfirstname1","Field","UpdateName","dbo.TOWDRIVER.cFirstName")
DBSetProp(ThisView+".cfirstname1","Field","KeyField",.F.)
DBSetProp(ThisView+".cfirstname1","Field","Updatable",.F.)

DBSetProp(ThisView+".clastname1","Field","DataType","C(45)")
DBSetProp(ThisView+".clastname1","Field","UpdateName","dbo.TOWDRIVER.cLastName")
DBSetProp(ThisView+".clastname1","Field","KeyField",.F.)
DBSetProp(ThisView+".clastname1","Field","Updatable",.F.)

DBSetProp(ThisView+".cdriver","Field","DataType","C(91)")
DBSetProp(ThisView+".cdriver","Field","UpdateName","cDriver")
DBSetProp(ThisView+".cdriver","Field","KeyField",.F.)
DBSetProp(ThisView+".cdriver","Field","Updatable",.F.)

DBSetProp(ThisView+".fky_tow1","Field","DataType","I")
DBSetProp(ThisView+".fky_tow1","Field","UpdateName","dbo.TOWADDRESS.fky_tow")
DBSetProp(ThisView+".fky_tow1","Field","KeyField",.F.)
DBSetProp(ThisView+".fky_tow1","Field","Updatable",.F.)

DBSetProp(ThisView+".id1","Field","DataType","I")
DBSetProp(ThisView+".id1","Field","UpdateName","dbo.CUSTOMER.ID")
DBSetProp(ThisView+".id1","Field","KeyField",.T.)
DBSetProp(ThisView+".id1","Field","Updatable",.F.)


Thanks for this feedback, that's a very easy fix.

I hope Gilles (an others) will also provide feedback so that we can release a beta 2


So far it seems to work very well. To start I loaded a data set that before was bringing the system to its knees and I was able to page thru flawlessly.

I have discovered one small issue. If a view returns no records, it generates a record out of range error here twice:




© 1996-2024