running_dream 发表于 2008-3-28 18:09

动态数据环境的问题?

如何让表单数据环境(自由表)是动态的?即,数据环境由用户通过文本框指定,将表的字段显示在表单中。不同的表,表的结构是相同的。

Tiger5392 发表于 2008-3-28 19:25

每次先判断后处理
lcFileName=Alltrim(ThisForm.Text1.Value)
If File(lcFileName) Or File(lcFileName+'.DBF')
  If Used(lcFileName)
    Select (lcFileName)
  Else
    Use (lcFileName) In 0
  EndIf
  *开始处理这个表
Else
  *不存在这个表
EndIf

running_dream 发表于 2008-4-1 11:09

Tiger5392,遇到些问题,帮忙看看那里错误,谢谢!
提示错误“此对象的数据源必须是一个变量引用”
“显示”按钮的Click事件如下:
set safe off
set talk off
set echo off
close tables all
fn=alltrim(Thisform.t1.value)+'.dbf'
if File(fn)
   If Used(fn)
   Select (fn)
   use (fn) alias MyTable
  thisform.s.controlsource=MyTable.深度
  thisform.q.controlsource=MyTable.电磁强度
  thisform.n.controlsource=MyTable.电磁脉冲数
  thisform.f.controlsource=MyTable.声发射强度
  thisform.w.controlsource=MyTable.温度变化
  thisform.b.controlsource=MyTable.变质程度
  thisform.d.controlsource=MyTable.断层情况
  thisform.wz.controlsource=MyTable.位置说明
  thisform.tc.controlsource=MyTable.突出情况  
  else  
  Use (fn) In 0
  use (fn) alias MyTable
  thisform.s.controlsource=MyTable.深度
  thisform.q.controlsource=MyTable.电磁强度
  thisform.n.controlsource=MyTable.电磁脉冲数
  thisform.f.controlsource=MyTable.声发射强度
  thisform.w.controlsource=MyTable.温度变化
  thisform.b.controlsource=MyTable.变质程度
  thisform.d.controlsource=MyTable.断层情况
  thisform.wz.controlsource=MyTable.位置说明
  thisform.tc.controlsource=MyTable.突出情况  
endif
else
=messagebox('无此工作面,请重新输入!',0+64+0,'提示')
thisform.t1.value=" "
endif

Tiger5392 发表于 2008-4-8 00:07

加上引号试试看

running_dream 发表于 2008-4-9 21:57

谢谢,Tiger5392。可以了,要学习的东西还很多。

页: [1]

编程论坛