手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>VB>列表

数据库(拷贝或移动列表框或组合框中的内容)

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
在做数据库程序时,通常会要求用户将数据从一个列表框移动到别一个列表框中。
下面的子程序可以让你轻松实现这一功能。同时还提供参数,指定操作是移动数据
(不保留原数据),还是拷贝数据(保留数据的副本在原列表框或组合框中);并且还
可以选择是全部移动或拷贝数据,还是只移动或拷贝用户选定的部分。

参数 值 说明
FromCtl 源列表框或组合框名 源列表框或组合框
ToCtl 目的列表框或组合框名 目的列表框或组合框
strMode 可选参数,默认情况下只拷贝
选中的项目
- 移动选中的项目
ALL 拷贝所有的项目,不需选中
-ALL 移动所有的项目,不需选中

源程序如下:

Public Sub CopyComboList(FromCtl As Control, ToCtl As Control, Optional
strMode As String)

On Error Resume Next

Dim intN As Integer

Screen.MousePointer = VBHourglass

If strMode <> "" Then
strMode = UCase(strMode)
End If

With FromCtl

If TypeName(FromCtl) = "ListBox" Then
For intN = .ListCount - 1 To 0 Step -1
If .Selected(intN) Or InStr(strMode, "ALL") Then
ToCtl.AddItem .List(intN)
ToCtl.ItemData(ToCtl.NewIndex) = .ItemData(intN)
If InStr(strMode, "-") = 1 Then
.RemoveItem (intN)
End If
Next
Else
For intN = .ListCount - 1 To 0 Step -1
ToCtl.AddItem .List(intN)
ToCtl.ItemData(ToCtl.NewIndex) = .ItemData(intN)
If InStr(strMode, "-") = 1 Then
.RemoveItem (intN)
Next
End If
End With

Screen.MousePointer = vbDefault

End Sub

上一篇: 用CELL组件显示Access数据库的图片对象
下一篇: 用DAO打开Excel文件

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!