Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

problem with view complains for 'view definition has been changed' 1

Status
Not open for further replies.

Nifrabar

Programmer
Mar 16, 2003
1,343
NL
Next is my problem:
I am having a grid on a form which is populated with a view as displayed hereunder. Combineer is a UDF.
From that form I call another form (with private data session) in which I do change fields of the (buffered) table 'wijk'
Than, after these changes are committed I return to the first form.
To have the view updated with new 'wijk' values I do a requery.
Than there is the error 'view definition has been changed'.
I got stuck on this. As far as I can see I did not change the view definition.
Any suggestions?
I am using VFP9

TIA
-Bart

Code:
SELECT Wijk.wijkid, Wijk.wijk, Wijk.naam, Wijk.loper AS bladloper_id,;
  Wijk.coord AS bladcoord_id, Wijk.kb_loper AS kbloper_id,;
  Wijk.kb_coord AS kbcoord_id,;
  PADR(combineer(NVL(Bl.anaam,""),IIF(LEN(ALLTRIM(Bl.anaam))#0,", ",""),IIF(.NOT.EMPTY(NVL(Bl.roepnaam,"")),NVL(Bl.roepnaam,""),NVL(Bl.voorl,"")),NVL(Bl.voorv,"")),45) AS blad_loper,;
  PADR(combineer(NVL(Bl.adres,""),NVL(Bl.huisnummer,""),NVL(Bl.huisnumtoevoeg,"")),35) AS blad_loper_adres,;
  PADR(combineer(NVL(Bl.pcd,""),NVL(Bl.plaats,"")),35) AS blad_loper_pcd_plaats,;
  PADR(NVL(Bl.tel1,""),15) AS blad_loper_telefoon,;
  PADR(NVL(Bl.email,""),50) AS blad_loper_email,;
  PADR(combineer(NVL(Bc.anaam,""),IIF(LEN(ALLTRIM(Bc.anaam))#0,", ",""),IIF(.NOT.EMPTY(NVL(Bc.roepnaam,"")),NVL(Bc.roepnaam,""),NVL(Bc.voorl,"")),NVL(Bc.voorv,"")),45) AS blad_coord,;
  PADR(combineer(NVL(Bc.adres,""),NVL(Bc.huisnummer,""),NVL(Bc.huisnumtoevoeg,"")),35) AS blad_coord_adres,;
  PADR(combineer(NVL(Bc.pcd,""),NVL(Bc.plaats,"")),35) AS blad_coord_pcd_plaats,;
  PADR(NVL(Bc.tel1,""),15) AS blad_coord_telefoon,;
  PADR(NVL(Bc.email,""),50) AS blad_coord_email,;
  PADR(combineer(NVL(Kl.anaam,""),IIF(LEN(ALLTRIM(Kl.anaam))#0,", ",""),IIF(.NOT.EMPTY(NVL(Kl.roepnaam,"")),NVL(Kl.roepnaam,""),NVL(Kl.voorl,"")),NVL(Kl.voorv,"")),45) AS kb_loper,;
  PADR(combineer(NVL(Kl.adres,""),NVL(Kl.huisnummer,""),NVL(Kl.huisnumtoevoeg,"")),35) AS kb_loper_adres,;
  PADR(combineer(NVL(Kl.pcd,""),NVL(Kl.plaats,"")),35) AS kb_loper_pcd_plaats,;
  PADR(NVL(Kl.tel1,""),15) AS kb_loper_telefoon,;
  PADR(NVL(Kl.email,""),50) AS kb_loper_email,;
  PADR(combineer(NVL(Kc.anaam,""),IIF(LEN(ALLTRIM(Kc.anaam))#0,", ",""),IIF(.NOT.EMPTY(NVL(Kc.roepnaam,"")),NVL(Kc.roepnaam,""),NVL(Kc.voorl,"")),NVL(Kc.voorv,"")),45) AS kb_coord,;
  PADR(combineer(NVL(Kc.adres,""),NVL(Kc.huisnummer,""),NVL(Kc.huisnumtoevoeg,"")),35) AS kb_coord_adres,;
  PADR(combineer(NVL(Kc.pcd,""),NVL(Kc.plaats,"")),35) AS kb_coord_pcd_plaats,;
  PADR(NVL(Kc.tel1,""),15) AS kb_coord_telefoon,;
  PADR(NVL(Kc.email,""),50) AS kb_coord_email,;
  NVL(Bl.status,"") AS blad_loper_gewist,;
  NVL(Bc.status,"") AS blad_coord_gewist,;
  NVL(Kl.status,"") AS kb_loper_gewist,;
  NVL(Kc.status,"") AS kb_coord_gewist,;
  Wijk.gewist, Wijk.mutdat, Wijk.gebruiker;
 FROM ;
     dbwinassist!wijk ;
    LEFT OUTER JOIN dbwinassist!leden Bl ;
   ON  Wijk.loper = Bl.lid_id ;
    LEFT OUTER JOIN dbwinassist!leden Kc ;
   ON  Wijk.kb_coord = Kc.lid_id ;
    LEFT OUTER JOIN dbwinassist!leden Kl ;
   ON  Wijk.kb_loper = Kl.lid_id ;
    LEFT OUTER JOIN dbwinassist!leden Bc ;
   ON  Wijk.coord = Bc.lid_id

DBSetProp(ThisView,"View","SendUpdates",.T.)
DBSetProp(ThisView,"View","BatchUpdateCount",1)
DBSetProp(ThisView,"View","CompareMemo",.T.)
DBSetProp(ThisView,"View","FetchAsNeeded",.F.)
DBSetProp(ThisView,"View","FetchMemo",.T.)
DBSetProp(ThisView,"View","FetchSize",100)
DBSetProp(ThisView,"View","MaxRecords",-1)
DBSetProp(ThisView,"View","Prepared",.F.)
DBSetProp(ThisView,"View","UpdateType",1)
DBSetProp(ThisView,"View","UseMemoSize",255)
DBSetProp(ThisView,"View","Tables","dbwinassist!wijk")
DBSetProp(ThisView,"View","WhereType",3)

DBSetProp(ThisView+".wijkid","Field","DataType","I")
DBSetProp(ThisView+".wijkid","Field","UpdateName","dbwinassist!wijk.wijkid")
DBSetProp(ThisView+".wijkid","Field","KeyField",.T.)
DBSetProp(ThisView+".wijkid","Field","Updatable",.F.)

DBSetProp(ThisView+".wijk","Field","DataType","C(10)")
DBSetProp(ThisView+".wijk","Field","UpdateName","dbwinassist!wijk.wijk")
DBSetProp(ThisView+".wijk","Field","Inputmask","!!!!!!!!!!")
DBSetProp(ThisView+".wijk","Field","KeyField",.F.)
DBSetProp(ThisView+".wijk","Field","Updatable",.T.)

DBSetProp(ThisView+".naam","Field","DataType","C(60)")
DBSetProp(ThisView+".naam","Field","UpdateName","dbwinassist!wijk.naam")
DBSetProp(ThisView+".naam","Field","Inputmask","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
DBSetProp(ThisView+".naam","Field","KeyField",.F.)
DBSetProp(ThisView+".naam","Field","Updatable",.T.)

DBSetProp(ThisView+".bladloper_id","Field","Comment","lidID# van de loper")
DBSetProp(ThisView+".bladloper_id","Field","DataType","I")
DBSetProp(ThisView+".bladloper_id","Field","UpdateName","dbwinassist!wijk.loper")
DBSetProp(ThisView+".bladloper_id","Field","KeyField",.F.)
DBSetProp(ThisView+".bladloper_id","Field","Updatable",.T.)

DBSetProp(ThisView+".bladcoord_id","Field","Comment","lid-ID# van de coördinator")
DBSetProp(ThisView+".bladcoord_id","Field","DataType","I")
DBSetProp(ThisView+".bladcoord_id","Field","UpdateName","dbwinassist!wijk.coord")
DBSetProp(ThisView+".bladcoord_id","Field","KeyField",.F.)
DBSetProp(ThisView+".bladcoord_id","Field","Updatable",.T.)

DBSetProp(ThisView+".kbloper_id","Field","DataType","I")
DBSetProp(ThisView+".kbloper_id","Field","UpdateName","dbwinassist!wijk.kb_loper")
DBSetProp(ThisView+".kbloper_id","Field","KeyField",.F.)
DBSetProp(ThisView+".kbloper_id","Field","Updatable",.T.)

DBSetProp(ThisView+".kbcoord_id","Field","DataType","I")
DBSetProp(ThisView+".kbcoord_id","Field","UpdateName","dbwinassist!wijk.kb_coord")
DBSetProp(ThisView+".kbcoord_id","Field","KeyField",.F.)
DBSetProp(ThisView+".kbcoord_id","Field","Updatable",.T.)

DBSetProp(ThisView+".blad_loper","Field","Caption","Kerkblad-loper")
DBSetProp(ThisView+".blad_loper","Field","DataType","C(45)")
DBSetProp(ThisView+".blad_loper","Field","UpdateName","dbwinassist!leden.anaam")
DBSetProp(ThisView+".blad_loper","Field","Inputmask","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
DBSetProp(ThisView+".blad_loper","Field","KeyField",.F.)
DBSetProp(ThisView+".blad_loper","Field","Updatable",.F.)

DBSetProp(ThisView+".blad_loper_adres","Field","DataType","C(35)")
DBSetProp(ThisView+".blad_loper_adres","Field","KeyField",.F.)
DBSetProp(ThisView+".blad_loper_adres","Field","Updatable",.F.)

DBSetProp(ThisView+".blad_loper_pcd_plaats","Field","DataType","C(35)")
DBSetProp(ThisView+".blad_loper_pcd_plaats","Field","KeyField",.F.)
DBSetProp(ThisView+".blad_loper_pcd_plaats","Field","Updatable",.F.)

DBSetProp(ThisView+".blad_loper_telefoon","Field","DataType","C(15)")
DBSetProp(ThisView+".blad_loper_telefoon","Field","KeyField",.F.)
DBSetProp(ThisView+".blad_loper_telefoon","Field","Updatable",.F.)

DBSetProp(ThisView+".blad_loper_email","Field","DataType","C(50)")
DBSetProp(ThisView+".blad_loper_email","Field","KeyField",.F.)
DBSetProp(ThisView+".blad_loper_email","Field","Updatable",.F.)

DBSetProp(ThisView+".blad_coord","Field","Caption","Kerkblad-coördinator")
DBSetProp(ThisView+".blad_coord","Field","DataType","C(45)")
DBSetProp(ThisView+".blad_coord","Field","UpdateName","dbwinassist!leden.anaam")
DBSetProp(ThisView+".blad_coord","Field","Inputmask","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
DBSetProp(ThisView+".blad_coord","Field","KeyField",.F.)
DBSetProp(ThisView+".blad_coord","Field","Updatable",.F.)

DBSetProp(ThisView+".blad_coord_adres","Field","DataType","C(35)")
DBSetProp(ThisView+".blad_coord_adres","Field","KeyField",.F.)
DBSetProp(ThisView+".blad_coord_adres","Field","Updatable",.F.)

DBSetProp(ThisView+".blad_coord_pcd_plaats","Field","DataType","C(35)")
DBSetProp(ThisView+".blad_coord_pcd_plaats","Field","KeyField",.F.)
DBSetProp(ThisView+".blad_coord_pcd_plaats","Field","Updatable",.F.)

DBSetProp(ThisView+".blad_coord_telefoon","Field","DataType","C(15)")
DBSetProp(ThisView+".blad_coord_telefoon","Field","KeyField",.F.)
DBSetProp(ThisView+".blad_coord_telefoon","Field","Updatable",.F.)

DBSetProp(ThisView+".blad_coord_email","Field","DataType","C(50)")
DBSetProp(ThisView+".blad_coord_email","Field","KeyField",.F.)
DBSetProp(ThisView+".blad_coord_email","Field","Updatable",.F.)

DBSetProp(ThisView+".kb_loper","Field","Caption","Kerkbalans-loper")
DBSetProp(ThisView+".kb_loper","Field","DataType","C(45)")
DBSetProp(ThisView+".kb_loper","Field","UpdateName","dbwinassist!leden.anaam")
DBSetProp(ThisView+".kb_loper","Field","Inputmask","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
DBSetProp(ThisView+".kb_loper","Field","KeyField",.F.)
DBSetProp(ThisView+".kb_loper","Field","Updatable",.F.)

DBSetProp(ThisView+".kb_loper_adres","Field","DataType","C(35)")
DBSetProp(ThisView+".kb_loper_adres","Field","KeyField",.F.)
DBSetProp(ThisView+".kb_loper_adres","Field","Updatable",.F.)

DBSetProp(ThisView+".kb_loper_pcd_plaats","Field","DataType","C(35)")
DBSetProp(ThisView+".kb_loper_pcd_plaats","Field","KeyField",.F.)
DBSetProp(ThisView+".kb_loper_pcd_plaats","Field","Updatable",.F.)

DBSetProp(ThisView+".kb_loper_telefoon","Field","DataType","C(15)")
DBSetProp(ThisView+".kb_loper_telefoon","Field","KeyField",.F.)
DBSetProp(ThisView+".kb_loper_telefoon","Field","Updatable",.F.)

DBSetProp(ThisView+".kb_loper_email","Field","DataType","C(50)")
DBSetProp(ThisView+".kb_loper_email","Field","KeyField",.F.)
DBSetProp(ThisView+".kb_loper_email","Field","Updatable",.F.)

DBSetProp(ThisView+".kb_coord","Field","Caption","Kerkbalans-coördinator")
DBSetProp(ThisView+".kb_coord","Field","DataType","C(45)")
DBSetProp(ThisView+".kb_coord","Field","UpdateName","dbwinassist!leden.anaam")
DBSetProp(ThisView+".kb_coord","Field","Inputmask","XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
DBSetProp(ThisView+".kb_coord","Field","KeyField",.F.)
DBSetProp(ThisView+".kb_coord","Field","Updatable",.F.)

DBSetProp(ThisView+".kb_coord_adres","Field","DataType","C(35)")
DBSetProp(ThisView+".kb_coord_adres","Field","KeyField",.F.)
DBSetProp(ThisView+".kb_coord_adres","Field","Updatable",.F.)

DBSetProp(ThisView+".kb_coord_pcd_plaats","Field","DataType","C(35)")
DBSetProp(ThisView+".kb_coord_pcd_plaats","Field","KeyField",.F.)
DBSetProp(ThisView+".kb_coord_pcd_plaats","Field","Updatable",.F.)

DBSetProp(ThisView+".kb_coord_telefoon","Field","DataType","C(15)")
DBSetProp(ThisView+".kb_coord_telefoon","Field","KeyField",.F.)
DBSetProp(ThisView+".kb_coord_telefoon","Field","Updatable",.F.)

DBSetProp(ThisView+".kb_coord_email","Field","DataType","C(50)")
DBSetProp(ThisView+".kb_coord_email","Field","KeyField",.F.)
DBSetProp(ThisView+".kb_coord_email","Field","Updatable",.F.)

DBSetProp(ThisView+".blad_loper_gewist","Field","Caption","Status")
DBSetProp(ThisView+".blad_loper_gewist","Field","Comment","*100*")
DBSetProp(ThisView+".blad_loper_gewist","Field","DataType","C(20)")
DBSetProp(ThisView+".blad_loper_gewist","Field","UpdateName","dbwinassist!leden.status")
DBSetProp(ThisView+".blad_loper_gewist","Field","Inputmask","XXXXXXXXXXXXXXXXXXXX")
DBSetProp(ThisView+".blad_loper_gewist","Field","KeyField",.F.)
DBSetProp(ThisView+".blad_loper_gewist","Field","Updatable",.F.)

DBSetProp(ThisView+".blad_coord_gewist","Field","Caption","Status")
DBSetProp(ThisView+".blad_coord_gewist","Field","Comment","*100*")
DBSetProp(ThisView+".blad_coord_gewist","Field","DataType","C(20)")
DBSetProp(ThisView+".blad_coord_gewist","Field","UpdateName","dbwinassist!leden.status")
DBSetProp(ThisView+".blad_coord_gewist","Field","Inputmask","XXXXXXXXXXXXXXXXXXXX")
DBSetProp(ThisView+".blad_coord_gewist","Field","KeyField",.F.)
DBSetProp(ThisView+".blad_coord_gewist","Field","Updatable",.F.)

DBSetProp(ThisView+".kb_loper_gewist","Field","Caption","Status")
DBSetProp(ThisView+".kb_loper_gewist","Field","Comment","*100*")
DBSetProp(ThisView+".kb_loper_gewist","Field","DataType","C(20)")
DBSetProp(ThisView+".kb_loper_gewist","Field","UpdateName","dbwinassist!leden.status")
DBSetProp(ThisView+".kb_loper_gewist","Field","Inputmask","XXXXXXXXXXXXXXXXXXXX")
DBSetProp(ThisView+".kb_loper_gewist","Field","KeyField",.F.)
DBSetProp(ThisView+".kb_loper_gewist","Field","Updatable",.F.)

DBSetProp(ThisView+".kb_coord_gewist","Field","Caption","Status")
DBSetProp(ThisView+".kb_coord_gewist","Field","Comment","*100*")
DBSetProp(ThisView+".kb_coord_gewist","Field","DataType","C(20)")
DBSetProp(ThisView+".kb_coord_gewist","Field","UpdateName","dbwinassist!leden.status")
DBSetProp(ThisView+".kb_coord_gewist","Field","Inputmask","XXXXXXXXXXXXXXXXXXXX")
DBSetProp(ThisView+".kb_coord_gewist","Field","KeyField",.F.)
DBSetProp(ThisView+".kb_coord_gewist","Field","Updatable",.F.)

DBSetProp(ThisView+".gewist","Field","DataType","I")
DBSetProp(ThisView+".gewist","Field","UpdateName","dbwinassist!wijk.gewist")
DBSetProp(ThisView+".gewist","Field","KeyField",.F.)
DBSetProp(ThisView+".gewist","Field","Updatable",.T.)

DBSetProp(ThisView+".mutdat","Field","DataType","T")
DBSetProp(ThisView+".mutdat","Field","UpdateName","dbwinassist!wijk.mutdat")
DBSetProp(ThisView+".mutdat","Field","KeyField",.F.)
DBSetProp(ThisView+".mutdat","Field","Updatable",.T.)

DBSetProp(ThisView+".gebruiker","Field","DataType","C(25)")
DBSetProp(ThisView+".gebruiker","Field","UpdateName","dbwinassist!wijk.gebruiker")
DBSetProp(ThisView+".gebruiker","Field","KeyField",.F.)
DBSetProp(ThisView+".gebruiker","Field","Updatable",.T.)
 
First take the Select statement and put it in the init of the form and then add an INTO phrase where the output is directed. Like a cursor, or Query.

All of this would be done and then set the Record Source of the grid to the name of the cursor or Query in the Form init.

Then you should be able to update the contents of the grid by Grid.Refresh later when updates have taken place.
 
I suspect those NVL() calls. If those fields were null the first time, those fields would be created as C(1). If you then changed to a non-null value, the field would need to be larger.

Tamar
 
Hi Tamar,

I think that's it!
Unfortunetely I also met kind of problem once trying to index a view based upon a key like NVL(field1,"").
I changed to padr(NVL(field1,""),10) ande it worked!.
So I am going to change this view same way.
Having a short brake next days I'll come back back with the results later.
Anyway thanks again for pointing me to this way.

-Bart
 
Tamar,
Star for you!
I followed your suggestion and indeed the NVL caused the error. Thanks for your valuable help on this topic.
-Bart
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top