Foxtable(狐表)用户栏目专家坐堂 → ACCESS数据变化后不能在窗口即时反应


  共有8683人关注过本帖树形打印复制链接

主题:ACCESS数据变化后不能在窗口即时反应

帅哥哟,离线,有人找我吗?
today_ok
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:24 积分:428 威望:0 精华:0 注册:2012/3/23 20:53:00
ACCESS数据变化后不能在窗口即时反应  发帖心情 Post By:2012/5/22 14:19:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:2012-05-22_141533.jpg
图片点击可在新窗口打开查看

各位大侠,我的数据源是ACCESS,设计了一个窗口,第一次能加载数据,但窗口运行状态我更改了数据库的内容,在窗口运行状态点再次取数也不能取最新的数据,是怎么回事?

 

'第一步动态建立表一数据源
Dim a As new SQLCommand
a.ConnectionName=("taobao")
a.CommandText="select TradeId,TradeNo as 订单号 ,BuyerIdent as  淘宝ID, BuyerRemark as  订单备注,ReceiverState  as 省份,ReceiverCity   as 城市,ReceiverDistrict  as 镇区,ReceiverAddress  as 地址,ReceiverMobile  as 手机,ReceiverPhone  as 电话,ReceiverName  as 联系人,ReceiverZip  as 邮编,  StateDesc  as 订单状态,IIF(TransportType='free','包邮' ,'不包邮') as  邮费类型,GoodsAmount as 商品总数量,DiscountFee  as 折扣优惠,PostFee  as 邮费,TotalCash  as 现金实付总金额,GoodsMoney  as 商品总金额 ,'' as 是否存在 from {trade} where StateDesc  like '%买家已付款%' union all select TradeId,TradeNo as 订单号 ,BuyerIdent as  淘宝ID, BuyerRemark as  订单备注,ReceiverState  as 省份,ReceiverCity   as 城市,ReceiverDistrict  as 镇区,ReceiverAddress  as 地址,ReceiverMobile  as 手机,ReceiverPhone  as 电话,ReceiverName  as 联系人,ReceiverZip  as 邮编,  StateDesc  as 订单状态,IIF(TransportType='free','包邮' ,'不包邮') as  邮费类型,GoodsAmount as 商品总数量,DiscountFee  as 优惠金额,PostFee  as 邮费,TotalCash  as 总金额,GoodsMoney  as 商品金额 ,'' as 是否存在 from TradeHistory where StateDesc   like '%买家已付款%'  order by tradeid"
Dim b As DataTable
b=a.ExecuteReader()
Tables("网购接口_Table1").DataSource =b

 

这是我取数的语句,不知这样哪里不对了?


 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2012/5/22 15:27:00 [只看该作者]

1、订单明细表应重新加载Load该行

 

2、发现一个问题:

 

SQL语句中的表名必须用大括号括起来,这是Foxtable的一个非常特殊的要求。

 

from TradeHistory where StateDesc   like '%买家已付款%'  order by tradeid"


 回到顶部
帅哥哟,离线,有人找我吗?
today_ok
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:24 积分:428 威望:0 精华:0 注册:2012/3/23 20:53:00
  发帖心情 Post By:2012/5/22 16:31:00 [只看该作者]

以下是引用mr725在2012-5-22 15:27:00的发言:

1、订单明细表应重新加载Load该行

 

2、发现一个问题:

 

SQL语句中的表名必须用大括号括起来,这是Foxtable的一个非常特殊的要求。

 

from TradeHistory where StateDesc   like '%买家已付款%'  order by tradeid"

原因找到了,是因为TABLE2是动态生成的,我没有重新生成一次,所以DATATABLES里没有更新数据。


 回到顶部
帅哥哟,离线,有人找我吗?
FoxMan
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:302 积分:1860 威望:0 精华:0 注册:2012/4/27 11:34:00
  发帖心情 Post By:2012/5/22 17:08:00 [只看该作者]

看着眼疼,帮你改下:
Dim s1,s2,s3,sql As String
Dim Ls1,Ls2  As  String()
Dim n1 As Integer

s1 ="TradeNo|BuyerIdent|BuyerRemark|ReceiverState|ReceiverCity|ReceiverDistrict|ReceiverAddress|"
s1+ ="ReceiverMobile|ReceiverPhone|ReceiverName|ReceiverZip|StateDesc|IIF(TransportType='free',"
s1+="'包邮' ,'不包邮')|GoodsAmount|DiscountFee|PostFee|TotalCash|GoodsMoney|''"
s2 = "订单号|淘宝ID|订单备注|省份|城市|镇区|地址|手机|电话|联系人|邮编|"
s2+="订单状态|邮费类型|商品总数量|优惠金额|邮费|总金额|商品金额|是否存在"
Ls1=s1.split("|")
Ls2 =s2.split("|")
For Each s1 In Ls1
    s3+ = "," & s1  & " as " & Ls2(n1)
    n1+=1
Next
s1 =" where StateDesc  like '%买家已付款%'"
sql= "Select TradeId" & s3 & " from {trade} " & s1 & " union all "
sql+ = "Select TradeId " & s3  & " from {TradeHistory} " & s1 & "  order by tradeid"
Tables("网购接口_Table1").Fill(sql,"taobao",True)

[此贴子已经被作者于2012-5-22 17:26:00编辑过]

 回到顶部