货物表                   计算表
字段:货物编号        字段:数量
      货物价格1            现价格(货物1-3中选其中一个)
       货物价格2             时间
       货物价格3            总价格(现价格*数量)
                             货物编号我想再做一个代码表
货物价格1--------1
 货物价格2--------2
  货物价格3 -------3然后在计算表的现价格中选1-3
这样可以吗
谢谢
请说明这样做需要的过程

解决方案 »

  1.   

    首先,你的代码表不完整,应该加上货品编号字段,其次,你到底用的是什么数据库?还有,你根本不用理会计算表,因为代码表只跟货品表有关系。想实现这样的代码表用Union语句即可。
      

  2.   

    不用再建代码表
    不然以后的更新更麻烦了
    可以想见你要更改一个贷物的价格时你更难处理
    类似这样的情况
    货物和价格应该是主从表的关系
    即一个货物可以有几种价格
    货物表:贷物编号
    价格表:货物编号,价格
    定单表:货物编号,价格,数量,金额
    这样应该更方便处理一些,
    如果你不方便更新表结构,可不用数据绑定控件
    如下面是一个示例
    1。建立数据连接并显示:adoconnnection1,adodataset1,datasource1,dbgrid1
    其中adodataset1.commandtext:='select 货物编号, 货物价格1, 货物价格2, 货物价格3 from 货物表';2.置入edit_serial,edit_number,combobox_Price,edit_money用于处理
    编号,数量,单价和镏金额3。处理过程用adodataset1.afterscroll过程实现代码如下
         self.Edit_Serial.Text :=DataSet.fieldByName('货物编号').AsString;
          self.Edit_Number.Text :='1';
          /////////////////////
          //先清空,再填充
          self.ComboBox_Price.Items.Clear();
          self.ComboBox_Price.Items.Add(Dataset.fieldByName('货物价格1').asstring);
          self.ComboBox_Price.Items.Add(Dataset.fieldByName('货物价格2').asstring);
          self.ComboBox_Price.Items.Add(Dataset.fieldByName('货物价格3').asstring);
          self.ComBobox_Price.ItemIndex :=0;
          //结束处理combox_price
          ////////////////////////////
          self.Edit_Money.Text:=
              FloatToStr(StrToInt(self.Edit_Number.Text)*
                StrToFloat(Self.ComboBox_Price.Text));这只是个示例,具体现要看你自己了