Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共9 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[求助]组合框初始值(已解决)

1楼
yyzlxc 发表于:2011/7/1 9:24:00

一个案例,第一列为年月系列值,在窗口事件AfterLoad加入如下代码,要求打开项目后,在组合框内的初始值为年月系列值中最大值并取前四位,应该如何设置代码?请各位老师指教,谢谢!!

Dim cmd As New SQLCommand
Dim dt As DataTable
Dim cmb As WinForm.ComboBox
cmd.CommandText = "SELECT DISTINCT 第一列 From {表A}"
dt = cmd.ExecuteReader()
cmb = e.Form.Controls("ComboBox1")
cmb.ComboList= dt.GetComboListString("第一列")

 

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目90.table

[此贴子已经被作者于2011-7-1 14:26:44编辑过]
2楼
狐狸爸爸 发表于:2011/7/1 9:47:00
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim cmb As WinForm.ComboBox
cmd.CommandText = "SELECT TOP 4 第一列 From {表A} Order by 第一列 DESC"
dt = cmd.ExecuteReader()
cmb = e.Form.Controls("ComboBox1")
cmb.ComboList= dt.GetComboListString("第一列")
3楼
ybil 发表于:2011/7/1 9:57:00
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim cmb As WinForm.ComboBox
cmd.CommandText = "SELECT TOP 4 * FROM (SELECT DISTINCT 第一列 From {表A} ORDER BY 第一列 DESC)"
dt = cmd.ExecuteReader()
cmb = e.Form.Controls("ComboBox1")
cmb.ComboList= dt.GetComboListString("第一列","","第一列 Desc")
cmb.Value = dt.DataRows(0)("第一列")
4楼
yyzlxc 发表于:2011/7/1 10:13:00
谢谢两位老师的热情帮助,可能是我没有表述清楚,要求是:打开项目,组合框内即显示年月系列值的最大值,并只显示最大值的前四位,本例为2011即可。如何实现?还请指教。
5楼
狐哥 发表于:2011/7/1 10:25:00

可以使用SubString方法获得从指定位置开始的、指定长度的字符串。
SubString第一个参数指定开始位置,第二个参数可选,用于指定长度,如果省略这个参数,则返回自指定位置开始的全部字符,例如:

Dim s As String = "I Like Foxtable"
Output.Show(s.SubString(
0,6)) '获得左边6个字符: I Like
Output.Show(s.SubString(s.Length -
8)) '获得右边8个字符:Foxtable
Output.Show(s.SubString(
2,4)) '获得从第3个字符开始的4个字符: Like

6楼
狐狸爸爸 发表于:2011/7/1 10:26:00

Dim cmd As New SQLCommand
Dim cmb As WinForm.ComboBox
cmd.CommandText = "SELECT Max(Left(第一列,4)) From {表A}"
cmb = e.Form.Controls("ComboBox1")
cmb.Value = cmd.ExecuteScalar

7楼
yyzlxc 发表于:2011/7/1 12:32:00
狐爸的代码还是有问题,应该还可以选择2010才对。请再想想办法。
8楼
ybil 发表于:2011/7/1 13:20:00
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim cmb As WinForm.ComboBox
cmd.CommandText = "SELECT DISTINCT Left(第一列,4) As 第一列 From {表A}"
dt = cmd.ExecuteReader()
cmb = e.Form.Controls("ComboBox1")
cmb.ComboList= dt.GetComboListString("第一列","","第一列 Desc")
cmb.Value = cmb.ComboList.split("|")(0)
[此贴子已经被作者于2011-7-1 13:52:04编辑过]
9楼
yyzlxc 发表于:2011/7/1 14:26:00

谢谢ybil老师的指教,完全符合要求,又学了一招,万分感谢ybil老师的帮助,当然也要感谢狐爸的帮助。

共9 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 3 queries.