Subject Re: order by on different way
From Dirk <non@non.com>
Date Sat, 20 Nov 2021 13:28:02 +0100
Newsgroups dbase.getting-started
Attachment(s) custview.txt

Op 20/11/2021 om 11:27 schreef Mervyn Bick:
> On 2021/11/19 21:51, Dirk wrote:
>
>>   Mervyn
>>
>>    thanks for your comphrensive analyse
>>
>>     i just wondering using the mastersource
>>
>>      i you have another form to add and modify contact as mentioned
>>
>>      this.VRAAGBAK_CONTACT = new QUERY(this)
>>     with (this.VRAAGBAK_CONTACT)
>>        left = 112.0
>>        top = 88.0
>>        width = 99.0
>>        height = 37.0
>>        database = form.databank_gegevklant
>>        sql = [Select c.idnummer, c.name, c.voornaam, c.task,
>> c.telefon, c.fax, c.gsm, c.email, c.verlaten, c.info;
>>                    from "communicate" c where idnummer = :idnummer]
>>        params["idnummer"] = ""
>>        masterSource = form.vraagbak_firmas.rowset
>>        active = true
>>     endwith
>>
>
> It seems unusual to have two child queries with common fields but it
> shouldn't cause problems.  Be aware though that a record added via one
> child rowset won't automatically be available to the other child rowset
> until the user navigates the parent rowset.
>
>
> If all the fields are from the same table and you list them individually
> you don't need to use a table correlation name (alias) to identify which
> table the fields belong. This would apply even if you add a calculated
> field as in vraagbak_kontakt.
>
>     sql= [select idnummer, name, voornaam, voornaam||' '||name as
> Voor_en_Naam, task, telefon, fax, gsm, email, verlaten, info from
> communicate where idnummer = :idnummer]
>
> You would, however, need the table correlation name if you use the *
> wildcard to select all the fields and then add a calculated field.
>
>      sql = [select c.*, voornaam||' '||name as Voor_en_naam from
> communicate c where idnummer = :idnummer]
>
>
>>
>>     i use the save()
>>      form.vraagbak_contact.rowset.fields["idnummer"].value =
>> form.vraagbak_firmas.rowset.fields["idnummer"].value
>>
>>      using the masterfield and masterrowset
>>
>>
>>       a form.vraagbak_contact.rowset.save() is sufficient
>
>
> I haven't used masterfields/masterrowset to link a child to a parent for
> many years in my own code but I can't recall ever coming across this
> "shortcut".  (Probably because I would explicitly place a value in the
> idnummer field without thinking anyway. :-) )
>
> Internally mastersource works quite differently and the programmer
> obviously didn't consider it necessary to add the "shortcut".  Idnummer
> in the child table can't be an autoinc field so one shouldn't really
> expect dBASE to supply a value for the field when a record is added.
>
> Although dBASE will apparently supply the idnummer for a new child
> record where masterfields/masterrowset is used to link tables,
> explicitly assigning a value as you have done for the mastersource
> version shouldn't cause any problems.
>
> Mervyn.



  Mervyn,

  i think i mis explained

  in the meantime i know using the mastersource has a quit different
approach as masterfields/masterrowset

i you have look on the text file i am just wondering if to save the link
the child query (contact)  to the master query ( firam) has been done on
a proper way

the annex form is also used on different place in the programm to be
able adding and modify contacts

thanks again
Dirk


  
* "nederlandse benaming"
   * ACTIVEX = ACTIVEXOBJEKT_ , * BROWSE = BLADDOOS_ , * CHECKBOX = KONTROLEDOOS_
   *  COMBOBOX = KEUZEDOOS_  * CONTAINER = DOOS_ , * database = Databank+naam ,  * datamodule = datadoos
   * EDITOR = BEWERKDOOS_ ,  * ENTRYFIELD = VELD_ ,* FORM = Formulier_ , * GRID  = ROOSTER_
   * HSCROLLBAR = HORIZONUITROL_ , * IMAGE = BEELD_ , * Line = LIJN_  * LISTBOX = KEUZELIJSTDOOS_
   * NOTEBOOK = NOTITIEBOEK_ , * OLE = OLEOBJEKT_ , * PAINTBOX  = KLEURDOOS_ , * PROGRESS  = BALK_  
   * PUSHBUTTON = KNOP_ , * QUERY = vraagbak _ ,  * RADIOKNOP_ = RADIOBUTTON_  * RECTANGLE = RECHTHOEK_  
   * ReportViewer = REPORTDOOS_ , * SHAPE = VORM_  * SLIDER = SCHUIF_  * SPINBOX  = KEUZEVELD_  
   * TABBOX  = LUSDOOS_  * TEXT  = Tekst_  *  TEXTLABEL = KLEVER_ * TREEVIEW  = STRUCTUURBOOM_  
   * VSCROLLBAR = VERTIKAALUITROL_ , *  VARIABELEN
       /* wordt gebruikt bij Stammcust.f, inputinfo1.f
  
   */


** END HEADER -- do not remove this line
//
// Generated on 20/11/2021
//
parameter bModal
local f
f = new custviewForm()
if (bModal)
   f.mdi = false // ensure not MDI
   f.readModal()
else
   f.open()
endif

class custviewForm of FORM
   with (this)
      onNavigate = class::FORM_ONNAVIGATE
      onOpen = class::FORM_ONOPEN
      onClose = class::FORM_ONCLOSE
      metric = 6        // Pixels
      colorNormal = "0X858585"
      height = 534.0
      left = 476.0
      top = 9.0
      width = 678.0
      text = "Info Contact **** Bci ****"
      systemTheme = true
      mdi = false
      icon = ""
   endwith

   this.DATABANK_GEGEVKLANT = new DATABASE(this)
   with (this.DATABANK_GEGEVKLANT)
      left = 476.0
      top = 11.0
      width = 100.0
      height = 37.0
      databaseName = "Custtest"
      active = true
   endwith

   this.VRAAGBAK_FIRMAS = new QUERY(this)
   with (this.VRAAGBAK_FIRMAS)
      left = 259.0
      top = 44.0
      width = 90.0
      height = 37.0
      database = form.databank_gegevklant
      sql =[Select s.idnummer, s.name, s.email, s.handy, s.basetelefon, s.web from "stammdat" s ]
      active = true
   endwith

   with (this.VRAAGBAK_FIRMAS.rowset)
      autoEdit = false
   endwith

   this.VRAAGBAK_JOB = new QUERY(this)
   with (this.VRAAGBAK_JOB)
      left = 476.0
      top = 55.0
      width = 73.0
      height = 37.0
      database = form.databank_gegevklant
      sql = [Select afkort, werk from "JOB"]
      active = true
   endwith

   this.VRAAGBAK_CONTACT = new QUERY(this)
   with (this.VRAAGBAK_CONTACT)
      left = 112.0
      top = 88.0
      width = 99.0
      height = 37.0
      database = form.databank_gegevklant
      sql = 'Select c.idnummer, c.name, c.voornaam, c.task, c.telefon, c.fax, c.gsm, c.email, c.verlaten, c.info from "communicate" c where idnummer = :idnummer'
      params["idnummer"] = ""
      masterSource = form.vraagbak_firmas.rowset
      active = true
   endwith

   with (this.VRAAGBAK_CONTACT.rowset)
      onSave = class::ROWSET_ONSAVE
       with (fields["task"])
         lookupSQL = "select afkort,werk from job"
      endwith
      autoEdit = false
   endwith

   this.VELD_NAAM = new ENTRYFIELD(this)
   with (this.VELD_NAAM)
      dataLink = form.vraagbak_contact.rowset.fields["name"]
      height = 27.0
      left = 14.0
      top = 60.0
      width = 308.0
      colorNormal = "black/silver"
      fontSize = 12.0
      fontBold = true
   endwith

   this.VELD_VOORNAAM = new ENTRYFIELD(this)
   with (this.VELD_VOORNAAM)
      dataLink = form.vraagbak_contact.rowset.fields["voornaam"]
      height = 27.0
      left = 328.0
      top = 60.0
      width = 242.0
      colorNormal = "black/silver"
      fontSize = 12.0
      fontBold = true
   endwith

   this.VELD_TELF_CONTACT = new ENTRYFIELD(this)
   with (this.VELD_TELF_CONTACT)
      dataLink = form.vraagbak_contact.rowset.fields["telefon"]
      height = 27.0
      left = 14.0
      top = 215.0
      width = 275.0
      colorNormal = "black/silver"
      fontSize = 15.0
      fontBold = true
   endwith

   this.VELD_GSM = new ENTRYFIELD(this)
   with (this.VELD_GSM)
      dataLink = form.vraagbak_contact.rowset.fields["gsm"]
      height = 27.0
      left = 294.0
      top = 215.0
      width = 275.0
      colorNormal = "black/silver"
      fontSize = 15.0
      fontBold = true
   endwith

   this.VELD_EMAIL = new ENTRYFIELD(this)
   with (this.VELD_EMAIL)
      onLeftDblClick = class::VELD_MAIL_ONLEFTDBLCLICK
      dataLink = form.vraagbak_contact.rowset.fields["email"]
      height = 22.0
      left = 14.0
      top = 270.0
      width = 553.0
      colorNormal = "red/silver"
      fontBold = true
      mousePointer = 13        // Hand
   endwith

   this.ROOSTER_CONTACT = new GRID(this)
   with (this.ROOSTER_CONTACT)
      fontBold = true
      colorNormal = "WindowText/0x8d8d8d"
      dataLink = form.vraagbak_contact.rowset
      columns["COLUMN1"] = new GRIDCOLUMN(form.ROOSTER_CONTACT)
      with (columns["COLUMN1"])
         dataLink = form.vraagbak_contact.rowset.fields["name"]
         editorType = 1        // EntryField
         width = 287.0
      endwith
      columns["COLUMN2"] = new GRIDCOLUMN(form.ROOSTER_CONTACT)
      with (columns["COLUMN2"])
         dataLink = form.vraagbak_contact.rowset.fields["voornaam"]
         editorType = 1        // EntryField
         width = 260.0
      endwith
      with (columns["COLUMN1"].headingControl)
         value = "NAME"
      endwith

      with (columns["COLUMN2"].headingControl)
         value = "voornaam"
      endwith

      headingHeight = 22.0
      cellHeight = 22.0
      hasIndicator = false
      hasColumnHeadings = false
      rowSelect = true
      colorRowSelect = "black/yellow"
      allowEditing = false
      allowAddRows = false
      hScrollBar = 0        // Off
      vScrollBar = 0        // Off
      height = 100.0
      left = 14.0
      top = 382.0
      width = 555.0
   endwith

   this.VELD_TEL_BUREEL = new ENTRYFIELD(this)
   with (this.VELD_TEL_BUREEL)
      dataLink = form.vraagbak_firmas.rowset.fields["basetelefon"]
      height = 27.0
      left = 14.0
      top = 115.0
      width = 275.0
      colorNormal = "black/silver"
      fontSize = 15.0
      fontBold = true
      mousePointer = 12        // No
   endwith

   this.VELD_GSM_BUREEL = new ENTRYFIELD(this)
   with (this.VELD_GSM_BUREEL)
      dataLink = form.vraagbak_firmas.rowset.fields["handy"]
      height = 27.0
      left = 294.0
      top = 115.0
      width = 275.0
      colorNormal = "black/silver"
      fontSize = 15.0
      fontBold = true
      mousePointer = 12        // No
   endwith

   this.KLEVER_TELF = new TEXTLABEL(this)
   with (this.KLEVER_TELF)
      height = 15.0
      left = 14.0
      top = 95.0
      width = 110.0
      text = "Telefoon bureel"
      colorNormal = "BtnText/0X858585"
      fontBold = true
   endwith

   this.KLEVER_GSM = new TEXTLABEL(this)
   with (this.KLEVER_GSM)
      height = 15.0
      left = 301.0
      top = 95.0
      width = 78.0
      text = "Gsm bureel"
      colorNormal = "BtnText/0X858585"
      fontBold = true
   endwith

   this.KLEVER_TEL2 = new TEXTLABEL(this)
   with (this.KLEVER_TEL2)
      height = 15.0
      left = 14.0
      top = 195.0
      width = 123.0
      text = "Contact Telefoon"
      colorNormal = "BtnText/0X858585"
      fontBold = true
   endwith

   this.KLEVER_GSM2 = new TEXTLABEL(this)
   with (this.KLEVER_GSM2)
      height = 15.0
      left = 301.0
      top = 195.0
      width = 88.0
      text = "Gsm Contact"
      colorNormal = "BtnText/0X858585"
      fontBold = true
   endwith

   this.KLEVER_EMAIL2 = new TEXTLABEL(this)
   with (this.KLEVER_EMAIL2)
      height = 13.0
      left = 14.0
      top = 252.0
      width = 98.0
      text = "email contact"
      colorNormal = "BtnText/0X858585"
      fontBold = true
   endwith

   this.KLEVER_FUNCTIE = new TEXTLABEL(this)
   with (this.KLEVER_FUNCTIE)
      height = 16.0
      left = 15.0
      top = 351.0
      width = 50.0
      text = "Functie"
      colorNormal = "BtnText/0X858585"
      fontBold = true
   endwith

   this.VELD_BUREEL_EMAIL = new ENTRYFIELD(this)
   with (this.VELD_BUREEL_EMAIL)
      onLeftDblClick = class::VELD_BUREEL_EMAIL_ONLEFTDBLCLICK
      dataLink = form.vraagbak_firmas.rowset.fields["email"]
      height = 22.0
      left = 14.0
      top = 165.0
      width = 553.0
      colorNormal = "black/silver"
      fontBold = true
      mousePointer = 13        // Hand
   endwith

   this.KLEVER_EMAIL = new TEXTLABEL(this)
   with (this.KLEVER_EMAIL)
      height = 15.0
      left = 14.0
      top = 145.0
      width = 84.0
      text = "email bureel"
      colorNormal = "BtnText/0X858585"
      fontBold = true
   endwith

   this.KLEVER_WWW = new TEXTLABEL(this)
   with (this.KLEVER_WWW)
      height = 15.0
      left = 17.0
      top = 300.0
      width = 60.0
      text = "website"
      colorNormal = "BtnText/0X858585"
      fontBold = true
   endwith

   this.VELD_INTERNET = new ENTRYFIELD(this)
   with (this.VELD_INTERNET)
      onLeftDblClick = class::VELD_INTERNET_ONLEFTDBLCLICK
      dataLink = form.vraagbak_firmas.rowset.fields["web"]
      height = 22.0
      left = 14.0
      top = 320.0
      width = 555.0
      colorNormal = "red/silver"
      mousePointer = 13        // Hand
   endwith

   this.KONTROLEDOOS_VERLATEN = new CHECKBOX(this)
   with (this.KONTROLEDOOS_VERLATEN)
      dataLink = form.vraagbak_contact.rowset.fields["verlaten"]
      height = 24.0
      left = 465.0
      top = 348.0
      width = 102.0
      text = "Fma verlaten"
      colorNormal = "red/0X858585"
      fontBold = true
   endwith

   this.TESKT_VOORNAAM = new TEXT(this)
   with (this.TESKT_VOORNAAM)
      height = 18.0
      left = 330.0
      top = 35.0
      width = 84.0
      colorNormal = "black/0X858585"
      fontBold = true
      text = "voornaam"
   endwith

   this.DOOS_KNOP = new CONTAINER(this)
   with (this.DOOS_KNOP)
      left = 579.0
      top = 59.0
      width = 90.0
      height = 293.0
      colorNormal = "0X858585"
   endwith

   this.DOOS_KNOP.KNOP_AANMAKEN = new PUSHBUTTON(this.DOOS_KNOP)
   with (this.DOOS_KNOP.KNOP_AANMAKEN)
      onClick = class::KNOP_AANMAKEN_ONCLICK
      height = 30.0
      left = 2.5
      top = 35.0
      width = 80.0
      text = ""
      upBitmap = "RESOURCE PS_APPEND"
      speedTip = "aanmaken"
      pageno = 0
   endwith

   this.DOOS_KNOP.KNOP_AANPASSEN = new PUSHBUTTON(this.DOOS_KNOP)
   with (this.DOOS_KNOP.KNOP_AANPASSEN)
      onClick = class::KNOP_AANPASSEN_ONCLICK
      height = 30.0
      left = 2.5
      top = 70.0
      width = 80.0
      text = ""
      upBitmap = "RESOURCE PS_edit"
      statusMessage = "test"
      speedTip = "aanpassen"
      pageno = 0
   endwith

   this.DOOS_KNOP.KNOP_OPSLAAN = new PUSHBUTTON(this.DOOS_KNOP)
   with (this.DOOS_KNOP.KNOP_OPSLAAN)
      onClick = class::KNOP_OPSLAAN_ONCLICK
      height = 30.0
      left = 2.5
      top = 105.0
      width = 80.0
      text = ""
      upBitmap = "RESOURCE PS_save"
      speedTip = "opslaan"
      pageno = 0
   endwith

   this.DOOS_KNOP.KNOP_VERLATEN = new PUSHBUTTON(this.DOOS_KNOP)
   with (this.DOOS_KNOP.KNOP_VERLATEN)
      onClick = class::KNOP_VERLATEN_ONCLICK
      height = 30.0
      left = 2.5
      top = 140.0
      width = 80.0
      text = ""
      upBitmap = "RESOURCE PS_ABANDON"
      speedTip = "ongedaan"
      pageno = 0
   endwith

   this.DOOS_KNOP.KNOP_VERWIJDEREN = new PUSHBUTTON(this.DOOS_KNOP)
   with (this.DOOS_KNOP.KNOP_VERWIJDEREN)
      onClick = class::KNOP_VERWIJDEREN_ONCLICK
      height = 30.0
      left = 3.0
      top = 175.0
      width = 80.0
      text = ""
      upBitmap = "RESOURCE PS_DELETE"
      speedTip = "verwijderen"
      pageno = 0
   endwith

   this.DOOS_KNOP.TEKST_DATA = new TEXT(this.DOOS_KNOP)
   with (this.DOOS_KNOP.TEKST_DATA)
      height = 22.0
      left = 3.0
      top = 3.0
      width = 70.0
      colorNormal = "black/0X858585"
      alignVertical = 1        // Middle
      alignHorizontal = 1        // Center
      fontSize = 14.0
      fontBold = true
      text = "data"
      pageno = 0
      mousePointer = 1        // Arrow
   endwith

   this.DOOS_KNOP.KNOP_VORIG = new PUSHBUTTON(this.DOOS_KNOP)
   with (this.DOOS_KNOP.KNOP_VORIG)
      onClick = class::KNOP_VORIG_ONCLICK
      height = 30.0
      left = 2.0
      top = 216.0
      width = 80.0
      text = ""
      upBitmap = "RESOURCE PS_PREV"
      speedTip = "vorig"
      pageno = 0
   endwith

   this.DOOS_KNOP.KNOP_VOLGEND = new PUSHBUTTON(this.DOOS_KNOP)
   with (this.DOOS_KNOP.KNOP_VOLGEND)
      onClick = class::KNOP_VOLGEND_ONCLICK
      height = 30.0
      left = 2.0
      top = 251.0
      width = 80.0
      text = ""
      upBitmap = "RESOURCE PS_next"
      speedTip = "volgend"
      pageno = 0
   endwith

   this.TEKST_NAAM = new TEXT(this)
   with (this.TEKST_NAAM)
      height = 18.0
      left = 16.0
      top = 35.0
      width = 50.0
      colorNormal = "black/0X858585"
      fontBold = true
      text = "naam"
   endwith

   this.KEUZEDOOS_FUNCTIES = new COMBOBOX(this)
   with (this.KEUZEDOOS_FUNCTIES)
      dataLink = form.vraagbak_contact.rowset.fields["task"]
      height = 29.0
      left = 120.0
      top = 347.0
      width = 259.0
      colorNormal = "black/0X858585"
      dataSource = form.vraagbak_job.rowset.fields["werk"]
      style = 1        // DropDown
      dropDownHeight = 132.0
   endwith

   this.TEKST_GEGEVENS = new TEXT(this)
   with (this.TEKST_GEGEVENS)
      height = 26.0
      left = 16.0
      top = 5.0
      width = 194.0
      colorNormal = "blue/0X858585"
      fontSize = 16.0
      fontBold = true
      text = "Contact gegevens"
   endwith

   this.VELD_INFOCONT = new ENTRYFIELD(this)
   with (this.VELD_INFOCONT)
      dataLink = form.vraagbak_contact.rowset.fields["info"]
      height = 25.0
      left = 14.0
      top = 490.0
      width = 555.0
      colorNormal = "black/silver"
      fontSize = 15.0
      fontBold = true
   endwith

   this.rowset = this.vraagbak_firmas.rowset

  function form_onClose() // nikeuw 14112019
          form.parent.vraagbak_kontakt.rowset.refreshControls()
  return
  *****

  function form_onNavigate(nWorkArea)
   if form.vraagbak_contact.rowset.fields["verlaten"].value = true
         form.tekst_verlaten.text = "Firma verlaten"
        endif        
  return
  *****

  function form_onOpen()
   form.text :="Contact voor :   "+ form.rowset.fields["Name"].value.lefttrim().righttrim() +"   " +"*** Bci ***"
  return
  *****

  function rowset_onSave()
   this.parent.parent.vraagbak_contact.rowset.fields["idnummer"].value = this.parent.parent.vraagbak_firmas.rowset.fields["idnummer"].value
  return
  
  function veld_bureel_email_onLeftDblClick(flags, col, row)
  /*  local DfcMailS
     DfcMailS = ;
      [mailto:] + form.vrb_Firmas.rowset.fields["email"].value
     if empty(form.vrb_Firmas.rowset.fields["email"].value)
       msgbox("geen email","Info")
      else    //type('ShellExecute')    // # 'FP'
       extern chandle ShellExecute(chandle, cstring, ;
        cstring, cstring, cstring, cint) shell32 ;
         from "ShellExecuteA"
       ShellExecute(0, "open", DfcMailS, null, null, 1)
      endif
  */
        set procedure to zendemail.wfm additive
     local emailbladA
           emailbladA = new zendemailForm()
            emailbladA.mdi = false
                  emailbladA.veld_adres_naar.value = this.form.veld_bureel_email.value  //"d.cardoen@telenet.be"
                   emailbladA.Veld_Naam_naar.value = form.vraagbak_contact.rowset.fields["name"].value.righttrim() + "  " + form.vraagbak_contact.rowset.fields["voornaam"].value.righttrim()
                   emailbladA.readmodal()
          close procedure zendemail.wfm         
                
  return
  *****

  function KNOP_AANPASSEN_onClick()
    form.vraagbak_contact.rowset.beginEdit()  
          form.Veld_naam.setFocus()
          class::kleuren()
  return
  *****

  function KNOP_OPSLAAN_onClick()
    if form.vraagbak_contact.rowset.fields["voornaam"].value = null
    form.vraagbak_contact.rowset.fields["voornaam"].value = "xxxx"
  endif                
//  this.parent.parent.vraagbak_contact.rowset.fields["idnummer"].value = this.parent.parent.vraagbak_firmas.rowset.fields["idnummer"].value
          form.vraagbak_contact.rowset.save()  
   class::kleuren()
  return
  *****

  function KNOP_VERLATEN_onClick()
   form.vraagbak_contact.rowset.abandon()
        class::kleuren()
  return
  ******

  function KNOP_VERWIJDEREN_onClick()
        if msgbox(" Deze Data verwijderen ?","Verwijderen?",36) == 6
    form.vraagbak_contact.rowset.delete()
   endif
        form.close()
        class::kleuren()
  return
  *****

  function KNOP_VOLGEND_onClick()
   if (not Form.vraagbak_contact.rowset.next())
          Form.vraagbak_contact.rowset.next(-1)
      MsgBox("einde data","kan niet veder",64)
        endif
  return
  *****

  function KNOP_VORIG_onClick()
   if(not Form.vraagbak_contact.rowset.next(-1))
    Form.vraagbak_contact.rowset.next()
     MsgBox("begin date","kan niet verder",64)    
   endif
  return
  *****

  function KNOP_AANMAKEN_onClick()
   this.parent.parent.vraagbak_contact.rowset.beginappend()
   this.parent.parent.vraagbak_contact.rowset.fields["idnummer"].value = this.parent.parent.vraagbak_firmas.rowset.fields["idnummer"].value
         Form.Veld_Naam.setFocus()
     class::kleuren()
  return
  *****

  function VELD_INTERNET_onLeftDblClick(flags, col, row)
     #include winuser.h
    extern cHandle ShellExecute( cHandle, cString, cString, ;
     cString, cString, cINT ) shell32 ;
      from "ShellExecuteA"
       cUrl = ["] + this.parent.veld_internet.value + ["]
     private sd         && macro needs private not local
       sd = set( "dire" ) && sometimes it *could* change dirs, so
                    && we are preventing it ...
      ShellExecute( this.parent.hwnd, "open",;
                          cURL,null,null,SW_SHOWMAXIMIZED  )
      * if the directory changed:
       if sd # set("dire")
         set dire to "&sd."
       endif  
  return
  *****

  function Veld_Mail_onLeftDblClick(flags, col, row)
   /*local DfcMail
     DfcMail = ;
      [mailto:] + form.vrb_contact.rowset.fields["email"].value
     if empty(form.vrb_contact.rowset.fields["email"].value)
       msgbox("geen email","Info")
     else    // type('ShellExecute')     // # 'FP'
       extern chandle ShellExecute(chandle, cstring, ;
        cstring, cstring, cstring, cint) shell32 ;
         from "ShellExecuteA"
       ShellExecute(0, "open", DfcMail, null, null, 1)
     endif
        */
          set procedure to zendemail.wfm additive
     local emailbladBA
           emailbladBA = new zendemailForm()
            emailbladBA.mdi = false
                  emailbladBA.veld_adres_naar.value = this.form.veld_email.value  
                   emailbladBA.Veld_Naam_naar.value = form.vrb_contact.rowset.fields["name"].value.righttrim() + "  " + form.vrb_contact.rowset.fields["voornaam"].value.righttrim()
                   emailbladBA.readmodal()
          close procedure zendemail.wfm         
    
        return
   *****

  Function kleuren
         do case
     case Form.vraagbak_contact.rowset.state = 3  // append
      form.veld_Naam.Colornormal  ="black/cyan"
            form.veld_gsm.Colornormal ="black/cyan"
             form.veld_eMail.Colornormal ="black/cyan"
       form.veld_Telf_contact.Colornormal ="black/cyan"
           Form.veld_Voornaam.Colornormal ="black/cyan"
      form.veld_infoCont.ColorNormal ="black/cyan"
     case form.vraagbak_contact.rowset.state = 2  //editappend
      form.veld_Naam.Colornormal  ="black/cyan"
            form.veld_gsm.Colornormal ="black/cyan"
             form.veld_eMail.Colornormal ="black/cyan"
         form.veld_Telf_contact.Colornormal ="black/cyan"
             Form.veld_Voornaam.Colornormal ="black/cyan"
       form.veld_infoCont.ColorNormal ="black/cyan"
          otherwise
             form.veld_Naam.Colornormal  ="black/silver"
             form.veld_gsm.Colornormal ="black/silver"
              form.veld_eMail.Colornormal ="black/silver"
       form.veld_Telf_contact.Colornormal ="black/silver"
           Form.veld_Voornaam.Colornormal ="black/silver"
     form.veld_infoCont.ColorNormal ="black/silver"
    Endcase

        return
        *****

endclass

*****