Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
NULL error w/Remote View to Access97 Database
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Client/serveur
Versions des environnements
Visual FoxPro:
VFP 7 SP1
OS:
Windows 2000 SP4
Database:
Jet/Access Engine
Divers
Thread ID:
00979027
Message ID:
00979178
Vues:
25
>>I have a VFP7 app which attaches to an Access97 database via a remote view. It has worked fine for a long time.
>>
>>I've just been updating it to use a slightly modified Access97 database, with a few new columns. The RV is defined in code, based on that originally generated by GENDBC. When I now attempt to open the view, I get an error message: "Field TEACHER does not accept null values".
>>
>>The TEACHER field is not one of the new fields, it's been there all along. Can anyone shed any light on why this is happening, and how to fix it?
>
>
>Can you post the code for the view? My guess is you probably have an outer join in it somewhere, and you're just now finding a situation where there's no matching record in the related table. If you don't want nulls in your view, make sure you use a NVL() function around any fields that come from a table related by an outer join.

OK, you asked for it :) No, there's no join at all - it's just a SELECT from a single table. The DBC contains just the single view and is generated by the code below:
* *********************************************************
* *
* * 11/29/04              DATAUP.DBC              12:21:27
* *
* *********************************************************
* *
* * Description:
* * This program was automatically generated by GENDBC
* * Version 2.26.67
* *
* *********************************************************


DisplayStatus([Creating database...])
CLOSE DATA ALL
CREATE DATABASE 'DATAUP.DBC'
DisplayStatus([Creating connection CONNECT1...])
MakeConn_CONNECT1()
DisplayStatus([Creating view RV_PRINTDATA...])
MakeView_RV_PRINTDATA()
DisplayStatus([Finished.])

FUNCTION MakeConn_CONNECT1
***************** Connection Definitions CONNECT1 ***************

CREATE CONNECTION CONNECT1 ; 
   CONNSTRING "Driver={Microsoft Access Driver (*.mdb)};DBQ=Print.mdb;Uid=Admin;Pwd=;"
****
DBSetProp('CONNECT1', 'Connection', 'Asynchronous', .F.)
DBSetProp('CONNECT1', 'Connection', 'BatchMode', .T.)
DBSetProp('CONNECT1', 'Connection', 'Comment', '')
DBSetProp('CONNECT1', 'Connection', 'DispLogin', 1)
DBSetProp('CONNECT1', 'Connection', 'ConnectTimeOut', 15)
DBSetProp('CONNECT1', 'Connection', 'DispWarnings', .F.)
DBSetProp('CONNECT1', 'Connection', 'IdleTimeOut', 0)
DBSetProp('CONNECT1', 'Connection', 'QueryTimeOut', 0)
DBSetProp('CONNECT1', 'Connection', 'Transactions', 1)
DBSetProp('CONNECT1', 'Connection', 'Database', '')

ENDFUNC
 
FUNCTION MakeView_RV_PRINTDATA
***************** View setup for RV_PRINTDATA ***************

CREATE SQL VIEW "RV_PRINTDATA" ; 
	 REMOTE CONNECT "Connect1" ; 
	 AS SELECT "Sequence Number", "First Name",  "Last Name", "Student ID", ;
   	Address,  City, State, Zip, Mother,  "Home Phone", Father, "Work Phone", ;
   	Gender, "Date of Birth", Teacher,  Grade, "Home Room", Period,  Track, Year, ;
   	Custom1, Custom2,  Custom3, Custom4, Custom5,  Custom6, Custom7, Custom8, ;
   	"Image Name", "Image Path", Packages, Counter, ;
   	Patron, Library, Lunch, School, Photographer, Camera, Roll, "School Name", ;
   	p, q, r, s, t, u, v, w, x ;
   	FROM Students ORDER BY Counter

DBSetProp('RV_PRINTDATA', 'View', 'UpdateType', 1)
DBSetProp('RV_PRINTDATA', 'View', 'WhereType', 1)
DBSetProp('RV_PRINTDATA', 'View', 'FetchMemo', .T.)
DBSetProp('RV_PRINTDATA', 'View', 'SendUpdates', .T.)
DBSetProp('RV_PRINTDATA', 'View', 'UseMemoSize', 255)
DBSetProp('RV_PRINTDATA', 'View', 'FetchSize', -1)
DBSetProp('RV_PRINTDATA', 'View', 'MaxRecords', -1)
DBSetProp('RV_PRINTDATA', 'View', 'Tables', 'Students')
DBSetProp('RV_PRINTDATA', 'View', 'Prepared', .F.)
DBSetProp('RV_PRINTDATA', 'View', 'CompareMemo', .T.)
DBSetProp('RV_PRINTDATA', 'View', 'FetchAsNeeded', .F.)
DBSetProp('RV_PRINTDATA', 'View', 'FetchSize', -1)
DBSetProp('RV_PRINTDATA', 'View', 'Comment', "")
DBSetProp('RV_PRINTDATA', 'View', 'BatchUpdateCount', 1)
DBSetProp('RV_PRINTDATA', 'View', 'ShareConnection', .F.)

*!* Field Level Properties for RV_PRINTDATA
* Props for the RV_PRINTDATA.sequence_number field.
DBSetProp('RV_PRINTDATA.sequence_number', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.sequence_number', 'Field', 'Updatable', .F.)
DBSetProp('RV_PRINTDATA.sequence_number', 'Field', 'UpdateName', 'Students."Sequence Number"')
DBSetProp('RV_PRINTDATA.sequence_number', 'Field', 'DataType', "C(50)")
* Props for the RV_PRINTDATA.first_name field.
DBSetProp('RV_PRINTDATA.first_name', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.first_name', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.first_name', 'Field', 'UpdateName', 'Students."First Name"')
DBSetProp('RV_PRINTDATA.first_name', 'Field', 'DataType', "C(50)")
* Props for the RV_PRINTDATA.last_name field.
DBSetProp('RV_PRINTDATA.last_name', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.last_name', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.last_name', 'Field', 'UpdateName', 'Students."Last Name"')
DBSetProp('RV_PRINTDATA.last_name', 'Field', 'DataType', "C(50)")
* Props for the RV_PRINTDATA.student_id field.
DBSetProp('RV_PRINTDATA.student_id', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.student_id', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.student_id', 'Field', 'UpdateName', 'Students."Student ID"')
DBSetProp('RV_PRINTDATA.student_id', 'Field', 'DataType', "C(50)")
* Props for the RV_PRINTDATA.address field.
DBSetProp('RV_PRINTDATA.address', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.address', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.address', 'Field', 'UpdateName', 'Students.Address')
DBSetProp('RV_PRINTDATA.address', 'Field', 'DataType', "C(50)")
* Props for the RV_PRINTDATA.city field.
DBSetProp('RV_PRINTDATA.city', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.city', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.city', 'Field', 'UpdateName', 'Students.City')
DBSetProp('RV_PRINTDATA.city', 'Field', 'DataType', "C(50)")
* Props for the RV_PRINTDATA.state field.
DBSetProp('RV_PRINTDATA.state', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.state', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.state', 'Field', 'UpdateName', 'Students.State')
DBSetProp('RV_PRINTDATA.state', 'Field', 'DataType', "C(50)")
* Props for the RV_PRINTDATA.zip field.
DBSetProp('RV_PRINTDATA.zip', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.zip', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.zip', 'Field', 'UpdateName', 'Students.Zip')
DBSetProp('RV_PRINTDATA.zip', 'Field', 'DataType', "C(50)")
* Props for the RV_PRINTDATA.mother field.
DBSetProp('RV_PRINTDATA.mother', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.mother', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.mother', 'Field', 'UpdateName', 'Students.Mother')
DBSetProp('RV_PRINTDATA.mother', 'Field', 'DataType', "C(50)")
* Props for the RV_PRINTDATA.home_phone field.
DBSetProp('RV_PRINTDATA.home_phone', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.home_phone', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.home_phone', 'Field', 'UpdateName', 'Students."Home Phone"')
DBSetProp('RV_PRINTDATA.home_phone', 'Field', 'DataType', "C(50)")
* Props for the RV_PRINTDATA.father field.
DBSetProp('RV_PRINTDATA.father', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.father', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.father', 'Field', 'UpdateName', 'Students.Father')
DBSetProp('RV_PRINTDATA.father', 'Field', 'DataType', "C(50)")
* Props for the RV_PRINTDATA.work_phone field.
DBSetProp('RV_PRINTDATA.work_phone', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.work_phone', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.work_phone', 'Field', 'UpdateName', 'Students."Work Phone"')
DBSetProp('RV_PRINTDATA.work_phone', 'Field', 'DataType', "C(50)")
* Props for the RV_PRINTDATA.gender field.
DBSetProp('RV_PRINTDATA.gender', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.gender', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.gender', 'Field', 'UpdateName', 'Students.Gender')
DBSetProp('RV_PRINTDATA.gender', 'Field', 'DataType', "C(50)")
* Props for the RV_PRINTDATA.date_of_birth field.
DBSetProp('RV_PRINTDATA.date_of_birth', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.date_of_birth', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.date_of_birth', 'Field', 'UpdateName', 'Students."Date of Birth"')
DBSetProp('RV_PRINTDATA.date_of_birth', 'Field', 'DataType', "C(50)")
* Props for the RV_PRINTDATA.teacher field.
DBSetProp('RV_PRINTDATA.teacher', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.teacher', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.teacher', 'Field', 'UpdateName', 'Students.Teacher')
DBSetProp('RV_PRINTDATA.teacher', 'Field', 'DataType', "C(50)")
* Props for the RV_PRINTDATA.grade field.
DBSetProp('RV_PRINTDATA.grade', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.grade', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.grade', 'Field', 'UpdateName', 'Students.Grade')
DBSetProp('RV_PRINTDATA.grade', 'Field', 'DataType', "C(50)")
* Props for the RV_PRINTDATA.home_room field.
DBSetProp('RV_PRINTDATA.home_room', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.home_room', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.home_room', 'Field', 'UpdateName', 'Students."Home Room"')
DBSetProp('RV_PRINTDATA.home_room', 'Field', 'DataType', "C(50)")
* Props for the RV_PRINTDATA.period field.
DBSetProp('RV_PRINTDATA.period', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.period', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.period', 'Field', 'UpdateName', 'Students.Period')
DBSetProp('RV_PRINTDATA.period', 'Field', 'DataType', "C(50)")
* Props for the RV_PRINTDATA.track field.
DBSetProp('RV_PRINTDATA.track', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.track', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.track', 'Field', 'UpdateName', 'Students.Track')
DBSetProp('RV_PRINTDATA.track', 'Field', 'DataType', "C(50)")
* Props for the RV_PRINTDATA.year field.
DBSetProp('RV_PRINTDATA.year', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.year', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.year', 'Field', 'UpdateName', 'Students.Year')
DBSetProp('RV_PRINTDATA.year', 'Field', 'DataType', "C(50)")
* Props for the RV_PRINTDATA.custom1 field.
DBSetProp('RV_PRINTDATA.custom1', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.custom1', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.custom1', 'Field', 'UpdateName', 'Students.Custom1')
DBSetProp('RV_PRINTDATA.custom1', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.custom2 field.
DBSetProp('RV_PRINTDATA.custom2', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.custom2', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.custom2', 'Field', 'UpdateName', 'Students.Custom2')
DBSetProp('RV_PRINTDATA.custom2', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.custom3 field.
DBSetProp('RV_PRINTDATA.custom3', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.custom3', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.custom3', 'Field', 'UpdateName', 'Students.Custom3')
DBSetProp('RV_PRINTDATA.custom3', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.custom4 field.
DBSetProp('RV_PRINTDATA.custom4', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.custom4', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.custom4', 'Field', 'UpdateName', 'Students.Custom4')
DBSetProp('RV_PRINTDATA.custom4', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.custom5 field.
DBSetProp('RV_PRINTDATA.custom5', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.custom5', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.custom5', 'Field', 'UpdateName', 'Students.Custom5')
DBSetProp('RV_PRINTDATA.custom5', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.custom6 field.
DBSetProp('RV_PRINTDATA.custom6', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.custom6', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.custom6', 'Field', 'UpdateName', 'Students.Custom6')
DBSetProp('RV_PRINTDATA.custom6', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.custom7 field.
DBSetProp('RV_PRINTDATA.custom7', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.custom7', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.custom7', 'Field', 'UpdateName', 'Students.Custom7')
DBSetProp('RV_PRINTDATA.custom7', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.custom8 field.
DBSetProp('RV_PRINTDATA.custom8', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.custom8', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.custom8', 'Field', 'UpdateName', 'Students.Custom8')
DBSetProp('RV_PRINTDATA.custom8', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.image_name field.
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'Updatable', .F.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'UpdateName', 'Students."Image Name"')
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.image_path field.
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'Updatable', .F.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'UpdateName', 'Students."Image Path"')
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.packages field.
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'UpdateName', 'Students.Packages')
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.counter field.
DBSetProp('RV_PRINTDATA.counter', 'Field', 'KeyField', .T.)
DBSetProp('RV_PRINTDATA.counter', 'Field', 'Updatable', .F.)
DBSetProp('RV_PRINTDATA.counter', 'Field', 'UpdateName', 'Students.Counter')
DBSetProp('RV_PRINTDATA.counter', 'Field', 'DataType', "I")
* Props for the RV_PRINTDATA.patron field.
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'UpdateName', 'Students.Patron')
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.library field.
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'UpdateName', 'Students.Library')
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.lunch field.
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'UpdateName', 'Students.Lunch')
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.school field.
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'UpdateName', 'Students.School')
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.photographer field.
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'UpdateName', 'Students.Photographer')
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.camera field.
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'UpdateName', 'Students.Camera')
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.roll field.
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'UpdateName', 'Students.Roll')
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.school_name field.
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'UpdateName', 'Students."School Name"')
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'DataType', "C(254)")
* Props for the RV_PRINTDATA.p field.
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'UpdateName', 'Students.p')
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.q field.
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'UpdateName', 'Students.q')
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.r field.
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'UpdateName', 'Students.r')
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.s field.
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'UpdateName', 'Students.s')
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.t field.
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'UpdateName', 'Students.t')
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.u field.
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'UpdateName', 'Students.u')
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.v field.
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'UpdateName', 'Students.v')
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.w field.
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'UpdateName', 'Students.w')
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'DataType', "C(150)")
* Props for the RV_PRINTDATA.x field.
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'KeyField', .F.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'Updatable', .T.)
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'UpdateName', 'Students.x')
DBSetProp('RV_PRINTDATA.image_name', 'Field', 'DataType', "C(150)")
ENDFUNC
 

FUNCTION DisplayStatus(lcMessage)
WAIT WINDOW NOWAIT lcMessage
ENDFUNC
Basically, what was added were the fields in the last two field lines of the SELECT, plus matching individual field-level DBSETPROP()s at the bottom. The TEACHER field existed before and hasn't been touched.
Regards. Al

"Violence is the last refuge of the incompetent." -- Isaac Asimov
"Never let your sense of morals prevent you from doing what is right." -- Isaac Asimov

Neither a despot, nor a doormat, be

Every app wants to be a database app when it grows up
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform