Foxtable(狐表)用户栏目专家坐堂 → [求助]直接把数据库的数据填充到combobox


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

主题:[求助]直接把数据库的数据填充到combobox

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


加好友 发短信
等级:婴狐 帖子:67 积分:524 威望:0 精华:0 注册:2016/4/8 18:18:00
[求助]直接把数据库的数据填充到combobox  发帖心情 Post By:2017/9/24 11:16:00 [只看该作者]

Dim cmd As WinForm.ComboBox=e.Form.controls("cbbStyleID")
cmd.ComboList= DataTables("WorkRecordSec").GetComboListString("StyleID")

上面的代码只能把已经加载进foxtable的数据填充到combobox里面,

但是我想直接提取数据库的数据,怎么改?

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


加好友 发短信
等级:幼狐 帖子:168 积分:2274 威望:0 精华:0 注册:2012/3/22 20:00:00
  发帖心情 Post By:2017/9/24 12:17:00 [只看该作者]

用 Dim cmd As New SQLCommand
SQL语句后台建立临时表

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


加好友 发短信
等级:婴狐 帖子:67 积分:524 威望:0 精华:0 注册:2016/4/8 18:18:00
回复:(xym0606)用 Dim cmd As New SQLCommandSQL语...  发帖心情 Post By:2017/9/24 16:57:00 [只看该作者]

谢谢~


另外,因为数据库的字段是双精度小数,
我想查询出来后,直接显示一个整数,去掉后面的.00,该如何操作?

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2017/9/24 16:59:28编辑过]

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


加好友 发短信
等级:婴狐 帖子:67 积分:524 威望:0 精华:0 注册:2016/4/8 18:18:00
  发帖心情 Post By:2017/9/24 17:00:00 [只看该作者]

我用的这样的统计方式:
Dim strStyleID As String
strStyleID = e.Form.Controls("cbbStyleID").Value
Dim g As New CrossTableBuilder("统计表1", DataTables("WorkRecordSec"), "[StyleID]='" & strStyleID & "'")
g.HGroups.AddDef("StyleID","生产单号")
g.HGroups.AddDef("MakeDate", "日期_月")
g.HGroups.AddDef("MakeDate", DateGroupEnum.Day, "日期_日")
g.VGroups.AddDef("WPID","工序")
g.Totals.AddDef("Qty", "数量")
g.OrderByTotal = True
g.HorizontalTotal = True
g.VerticalTotal = True
g.Filter = "[StyleID]='"& strStyleID & "'"
g.FromServer = True
Tables("车间计件数据汇总_Table1").DataSource =g.BuildDataSource

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


加好友 发短信
等级:婴狐 帖子:67 积分:524 威望:0 精华:0 注册:2016/4/8 18:18:00
  发帖心情 Post By:2017/9/24 18:11:00 [只看该作者]

今天论坛没人值班?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/24 21:14:00 [只看该作者]

如果是sqlserver数据
 
Dim cmd As WinForm.ComboBox=e.Form.controls("cbbStyleID")
cmd.ComboList= DataTables("WorkRecordSec").sqlGetComboListString("Convert(int, StyleID)")
 
如果是access数据
 
Dim cmd As WinForm.ComboBox=e.Form.controls("cbbStyleID")
cmd.ComboList= DataTables("WorkRecordSec").sqlGetComboListString("CInt(StyleID)")

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


加好友 发短信
等级:婴狐 帖子:67 积分:524 威望:0 精华:0 注册:2016/4/8 18:18:00
回复:(有点甜)如果是sqlserver数据 Dim c...  发帖心情 Post By:2017/9/24 21:50:00 [只看该作者]

老师,你看错了。

那个填充到下拉列表的事情已经有同学指导我处理ok了。


现在我的问题是:
因为sql数据库的字段类型是双精度小数,
但是我想查询汇总出来后,直接显示一个整数,去掉后面的.00,该如何操作?
(图在3楼,统计方式在4楼。)


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/25 0:15:00 [只看该作者]

直接设置格式

 

For Each c As Col In Tables("车间计件数据汇总_Table1").cols
    If c.Name.Contains("数量") Then
        c.DataCol.SetFormat("0")
    End If
Next


 回到顶部