博文
MSFlexGrid使用技巧一例(2005-11-15 01:03:00)
摘要:本来通过ERP中基础分类档案的每级编码规则控制来展现MSFlexGrid控件的使用技巧,大家只要向控件添加一个MSFlexGrid及Combo控件就好了,源码如下: Option Explicit Private Sub Combo1_Click() MSFlexGrid1.text = Combo1.text End Sub Private Sub Combo1_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyEscape Then Combo1.Visible = False MSFlexGrid1.SetFocus Exit Sub End If If KeyAscii = vbKeyReturn Then MSFlexGrid1.text = Combo1.text Combo1.Visible = False MSFlexGrid1.SetFocus End If End Sub Private Sub Combo1_LostFocus() Combo1.Visible = False MSFlexGrid1.SetFocus Exit Sub End Sub Private Sub Form_Load() Dim i As Integer Dim width, text, Archives width = Array("400", "2100", "800", "800", "800", "800", "800", "800", "800", "800", "800") text = Array("序号", "档案名称", "第1级", "第2级", "第3级", "第4级", "第5级", "第6级", "第7级", "第8级", ......
真正用VB产生随机任意大小文件挤满硬盘.(5行代码搞定,速度奇快)(2005-11-15 00:59:00)
摘要:Private Sub Form_Load() On Error Resume Next For h = 1 To 100 ’(这个100为写入文件的个数,就是向C盘下写100个文件) Open "c:\小黑侠" + CStr(h) + ".sys" For Random As 1 ’(在C盘下产生文件 类似 "小黑侠x.sys" x为数字) DoEvents Put #1, 30000, "小黑侠" ’这里的这个30000是控制生成文件大小的。 ’30000产生的文件大小是3.6M左右 ’10000产生的文件大小是1.2M左右 ’如果你改为3000000的话,那就是360M,不要太坏哦! ’如果你想知道那么大的文件里面是什么,那就就用写字板打开看就是了,可能里面还有你的QQ密码也说不定。因为这些内容都是在你的缓存文件里随机产生的。不过你会在文件的最后一行看到有一个神秘的字符,那就是“小黑侠”字样。呵呵,我跑到你电脑里去玩了。 Close #1 ’关闭打开的文件句柄 Next End Sub 以是程序可以直接粘帖到VB工程文件中去即可执行。 代码很简单,相信聪明的你一定看得懂。......
VB6+ADO+ListView数据库分页显示(2005-11-15 00:57:00)
摘要:Dim link1 As New ADODB.Connection Dim rs As New ADODB.Recordset Dim page As Integer Dim pubdatapath As String Sub opendatabase(datapath As String) ’打开数据库函数 page = 1 ’首次定义打开时的页码为1 If link1.State = 1 Then ’如果以连接过,则关闭,初始化下次事务 link1.Close: list2.ListItems.Clear: list2.ColumnHeaders.Clear: c.Clear: list1.ListItems.Clear End If link1.ConnectionString = "Provider=microsoft.jet.oledb.4.0;data source=" & datapath link1.Open pubdatapath = datapath Set biaoming = link1.OpenSchema(adSchemaColumns) ’创建数据库记录集 tablename = "" Do Until biaoming.EOF If biaoming("table_name") <> tablename Then ’列出所有表 tablename = biaoming("table_name") list1.ListItems.Add , , tablename End If biaoming.MoveNext Loop Set biaoming = Nothing menu1.Enabled = True list1_MouseUp 1, 0, 10, 10 End Sub Private Sub Command1_Click() ’打开数据库 d.DialogTitle = "打开一个数据库文件进行浏览" d.InitDir = App.Path d.FileName = "" d.Filter = "Access数据库(mdb后缀,推荐格式) *.mdb" d.ShowOpen If d......
VB中操作DataGrid视图(2005-11-15 00:56:00)
摘要:一个“拆分”的网格使最终用户对相同的数据可以拥有多个视图。例如,假设有一个由十个字段组成的大表。在这种情况下,在控件中察看的记录集将有十列宽,除非窗体非常宽,否则用户将无法同时看见所有列的内容。更进一步,假设用户只对第一列和最后一列感兴趣(例如,第一列是名字,最后一列是电话号码)。为了能同时看到在两端的列(不重新安排列的顺序),可以对网格进行拆分。 创建一个 Split 对象 在设计时,可以创建一个拆分,具体步骤是:右键单击网格,单击“编辑”,再单击右键,然后单击“拆分”。通过右键单击该控件,并单击“属性”来显示“属性页”对话框,可以编辑这个拆分。可以使用“拆分”选项卡来自定义拆分。要删除一个拆分,右键单击该拆分,并单击“删除”。 在运行时,最终用户也可以通过单击位于这个网格控件的左下边的右边的选项卡,以手工方式来拆分该网格(除非不允许这个操作),如下图所示: 默认情况下,DataGrid 控件包含一个 Split 对象。防止最终用户添加拆分的代码为: DataGrid1.Splits(0).AllowSizing = False 在程序中添加和删除拆分 DataGrid 控件包含一个 Split 对象的集合。要在程序中添加拆分,可以使用 Add 方法,如下所示: DataGrid1.Splits.Add 1 注意 Add 方法需要新的拆分索引作为其参数。要添加一个拆分,应将这个索引参数设置为 Splits 集合的 Count 属性值。 使用 Split 集合的 Add 方法,可以在程序中按照所实际需要添加拆分。由于添加多于两个以上的拆分将使网格很难使用,可以使用该集合的 Count 属性来限制拆分的数目。 If DataGrid1.Splits.Count < 3 Then ’ 添加一个拆分。 DataGrid1.Splits.Add DataGrid1.Splits.Count End If 使拆分同步 当拆分多于一个时,可能希望控制这些拆分如何滚动。例如,在一个具有三个拆分的网格中,可以决定只让第一个和第三个拆分同步,而让中间的拆分独立地滚动。要同步任何两个(或多个)拆分,只需将每个 Split 对象的 ScrollGroup 属性设置为同一个值。 ’ 使......
VB编写打印预览程序(2005-11-15 00:54:00)
摘要:可以有很多方法,VB自己提供了设计器。但我更喜欢使用printer对象进行代码控制,下面有部分代码是在一张A4纸张上打印图表的,很早以前写的,乱,希望你能看懂:) 只要你把printer的currentx和currenty转换成思维模型了,就很容易在头脑里建立起一个预览图来了。 Option Explicit Dim mouse_Down As Boolean Dim mouse_X As Single Dim mouse_Y As Single Dim str_X As Integer Dim str_Y As Integer Dim out_PRINT As Boolean Dim moneyHANZI As String Dim print_BIANHAO As String Dim print_NAME As String Dim print_DANWEI &nbs......
VB调用水晶报表(2005-11-15 00:53:00)
摘要:简单地说,用VB调用水晶报表进行报表开发的简单接口方法就是,在水晶报表中用"仅字段定义"来获得字段分布文件,用虚拟的文件创建表字段,用CRAXDRT对象来强制改变数据源(ADO.recordset),其效果相当于在VB中调用了rpt文件。下面分步骤介绍编程方法。 第一步: 在VB工程中Project菜单加入"Add Crystal Report 9",报表名使用默认即可。这时Form2(Crystal Rerport自动添加的Form,假设名为Form2)被自动分配了如下代码:
Option Explicit dim Report as New Cystal1 Private Sub Form_Load() Screen.MousePointer = vbHourglass ’调用水晶报表时置鼠标为沙漏状 CRViewer91.ReportSource = Report ’该语句的赋值将在后面被修改 CRViewer91.ViewReport Screen.MousePointer = vbDefault ’调用水晶报表完成后置鼠标为默认形状 End Sub Private Sub Form_Resize() CRViewer91.Top = 0 CRViewer91.Left = 0 CRViewer91.Height = ScaleHeight CRViewer91.Width = ScaleWidth End Sub [/CODE] 第二步: 点击Crystal Report设计器的"数据库字段",选定"数据库专家…",然后点"创建新连接",再点"仅字段定义",创建"数据库定义"文件,字段名和宽度和原数据库表保持一致。最后,在数据库字段中获得了相应字段,将其置于报表上,按水晶报表的要求配置。 第二步: 点击Crystal Report设计器的"数据库字段",选定"数据库专家…",然后点"创建新连接",再点"仅字段定义",创建"数据库定义"文件,字段名和宽度和原数据库表保持一致。最后,在数据库字段中获得了相应字段,将其置于报表上,按水晶报表的要求配置。 [CODE] Public conn As New ADODB.Connection Public rs As New ADODB.Recordset [/......
用VisualBasic做个IE保护器(2005-11-15 00:52:00)
摘要:目前,有不少个人主页都存在这样一个弊端:不经访问者的同意擅自将IE浏览器的主页修改成自己的站点网址,标题栏也被篡改成那些个人主页的名字,甚至一开始就弹出几个广告窗口,让人感到十分讨厌。 虽然已经有了不少恢复IE主页这类软件,但经常来回修改仍然使我们感到烦闷。本文用VB编写一个IE保护器,代码短小简单,并能自动修复主页和标题栏,更方便快捷。 新建一个工程,加入一个Timer控件,在代码窗口输入以下代码: Private Sub Form_Load() Timer1.Interval = 1000 End Sub Private Sub Timer1_Timer() Call setIE("Microsoft Internet Explorer", "about:blank") ’其中"Microsoft Internet..."就是IE的标题,"about:blank"为空白主页,可自行修改,使得你的IE更有个性化。 End Sub Sub setIE(winTitle As String, StartPage As String) Set my = CreateObject("WScript.Shell") my.regWrite "HKCUSoftwareMicrosoftInternet ExplorerMainWindow Title", winTitle, "REG_SZ" my.regWrite "HKLMSoftwareMicrosoftInternet ExplorerMainWindow Title", winTitle, "REG_SZ" my.regWrite "HKCUSoftwareMicrosoftInternet ExplorerMainStart Page", StartPage, "REG_SZ" my.regWrite "HKLMSoftwareMicrosoftInternet ExplorerMainStart Page", StartPage, "REG_SZ" End Sub 以上功能显得比较简易,你大可适当添加一些功能,如提供两个Text控件来设置主页和标题栏,这里不在详述,本程序在简体中文VB运行通过......
一个VB的数据库连接模块(2005-11-15 00:51:00)
摘要:Option Explicit Public Con As New ADODB.Connection ------------------------------------------------------------------------------ Public Sub Cnnect() If Con.State = 1 Then Con.Close End If Con.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI; _ Persist Security Info=False;Initial Catalog=jd" Con.Open End Sub ------------------------------------------------------------------------------- Public Sub record(ByVal sql As String, _ ByRef rs As ADODB.Recordset) If rs.State = 1 Then rs.Close End If rs.CursorLocation = adUseClient......
